Lots of things under the covers to get here.
Firstly, I split all the game management UI out into a separate XML file. This file contains a list of named objects (like "MainMenu", "Respawn", and "GameOver") which define all the UI that pops up when you're not in control of the character. Breaking things out like this has a few benefits: it removes all the ugly UI code from the C++; it lets me throw in some basic placeholder text UI today, knowing it can easily be replaced with nice graphics and icons later; and on the off chance I ever need to localise anything, it means there's just a single xml file to change.
Next there were a few C++ objects lingering around across game restarts and player death. I'd have dialogs from the last game session showing up over the main menu, and sometimes 8 cows would popup, somehow resurrected from defunct players. A few extensions to the Game::New and Game::Respawn quickly saw these off.
I added a rudimentary health bar (I really dislike it though, I can't see it lasting long in this form), and support for outlined fonts. The outlined text look miles better than the plain stuff I was using before - but after an hour messing around with Photoshop expressions, I can still only get a semi-transparent text outline for some reason. I can't quite convince myself whether it's a problem in the photoshop channel manipulation or if that's just what BMFont outputs when you tell it to use some smoothing. So if anyone knows a quick way to reformat BMFont output into simple white text on black background with an alpha mask that includes a solid-yet-smoothed outline, I'm interested.
Anyway, now that I'm starting to get closer to end of the game-cycle/UI tunnel, I've started work on the first enemy agent. Here's a sneak peek at him:
Still needs UV layout, texturing, rigging/skinning, and animating ... so it will be a good while yet before he pops up in the game. Still, I'm quite happy with him: my goal was that when you squint your eyes, you could almost imagine him falling only all fours and running off like the real animal.
Cheers!
God, I wish I had your patience. You're an example to us all.