Easing myself back into work this morning with a few general updates around MilliT and the new Weighbridge client, there’s probably a hundred other more pressing jobs to do but I got side tracked with a little visual refresh of the hover over popup controls (which I blogged about some time ago http://www.brownbot.com/XNABlog/?p=325).
Here’s what they look like now, I think the black makes it really obvious that they’re separate to the rest of the app, the wanky iPhone like gradient adds some contemporary design fluff.

For any of you WPFers out there here’s the style code.
<LinearGradientBrush x:Key="PopupBorderGrad" StartPoint="0,0" EndPoint="1,0.2" >
<GradientStop Color="#FF242424" Offset="0"/>
<GradientStop Color="#FF383838" Offset="0.4"/>
<GradientStop Color="#FF000000" Offset="0.401"/>
<GradientStop Color="#FF000000" Offset="1"/>
</LinearGradientBrush>
<Style x:Key="PopupBorderStyle" TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="5,5,5,5"/>
<Setter Property="BorderThickness" Value="0,1,0,0"/>
<Setter Property="BorderBrush" Value="#FF888888"/>
<Setter Property="Margin" Value="10,0,10,10"/>
<Setter Property="Padding" Value="5,5,5,5"/>
<Setter Property="Background" Value="{StaticResource PopupBorderGrad}"/>
<Setter Property="SnapsToDevicePixels" Value="True" />
</Style>

I’ve always envisaged Dirchie Kart as a party game with racing as it’s main game play, hence forth the convoluted party control and menu looping system. One feature I’ve planned from the start is a penalty system to make it a drinking game if you are so inclined… which I am.
This week I thought up a revolutionary way to implement it, a balloon hat (the one on BrownBot in the picture above, that looks suspiciously like a cock and balls) that grows as your penalty count increases.
There are set events in game that you get a penalty for, falling off the track, getting podded, coming last etc, while you’re racing these penalties count up, at the end of race count-up you get a penalty total for each player at which point you would take a chug of your drink for each.
At this point I’m happy with how the system works, over time we’ll develop a fair set of penalty events, I’ve got rough plans for an additional rules system, but I’ve got to bed the track down first.
Had an awesome week of work last week, I finally started the actual Weighbridge client project that I’ve been working toward for the past six months. The guts of the client is the delivery wizard which guides the user through a series of steps to create one of the types of deliveries we receive in and out of the mill.
The steps and layout are defined by the old version of the client we’re replacing, the users are happy with it so I can’t stray too far from it, but that app was designed in the days of tiny screen resolutions. So problem number one was how to keep the layout roughly the same and cater for much higher res widescreen monitors.
The solution I came up with was to use Viewboxes to allow the user to choose their own zoom level and display the previous and next steps either side of the active step you’re filling out. So if you have trouble seeing you can have the single step filling up the whole screen, if you’ve got a massive monitor you can see what you’ve done in a previous step as you fill in the next step.
You also end up with a nice cover flow style and reflection look as well.

I also came up with a nice little threaded class that takes an INotifyPropertyChanged object and property name, it monitors that property (using a little .Net reflection) for changes over a certain length and kicks off a search in a background thread. Perfect so little lookups and validation.
Those links you can see in the screen shot are little controls that you can hover over to see that object’s full details (in a popup), another benefit inherited from my previous viewmodel/view design. In fact we should be able to directly link most of those views to the source files in the MilliT admin project.
It may have taken me all week to get one step done, but the major pieces are in place now so the rest of the wizard will be easy!
Finished off a great week with a little Dirchie Kart work, only one more character to go!
Has one of those great modelling sessions tonight, another character finished…. two and a half to go!
Adding to Dirchie Kart’s roster of characters I present Captain Stabbin!

If the lead player has an insurmountable lead at the start of the last round “Winner Takes It All” is automatically invoked.
Here are the fruits of yesterday and this mornings labour, a new car to drive for advanced racers. It’s weaker than the other cars but has more boost, should add some interesting stuff to the mix.


Dichie Sense, much like spider sense it warns you when you are being tracked by a heat seeking missile. Next up the flares defensive counter measure.