Here we go again

I know it’s been a long time, let me tell you one thing. Yes, come closer. It’s a secret. This project is not dead! It lives brighter and higher than ever before! Let me show off the new assets:

1. GUI-System

After a facelift, the Falagard-extensions from CEGUI 0.5 are used, which means great new features: unified coordinates and a xml-based skin system. While porting the code to the new CEGUI version, I also improved the GUI-Code a lot: It’s much more OO, flexible and very easy to extend.
Additionally I combined CEGUI with BetaCairo to reduce the performance hit that was caused by the minimap. I can’t exactly measure the performance gain because there were much more changes going on until BlueWar was compileable again, but now there is no performance penalty per minimap icon any longer, which will definitely pay off in the future.
As a skin I chose the Vanilla scheme with some custom widgets (ImageButtons) as Vanilla doesn’t provide much of them. I hope you like it!

2. Abstract systems

After starting to read the great book “modern c++ design” by Andrei Alexandrescu I realised that I could implement a generic System with Plugins / PlugInHolders with different features as caching, simple listing, … / Factories for different Plugins / …
This is now used for nearly everything: the application itself, gui, players, objects, explosions, and others I can’t remember atm. I know that the book presents much more sophisticated models, but my understanding isn’t perfect right now and the current systems seem to work ‘good enough’.

3. Field occupation visualisation

As I got familiar with BetaCairo, I also used it for a feature I wanted to have since the introduction of the Battlefield (that stores all the game fields and their occupation data): Visualise it with a transparent plane that’s spanned across the whole terrain. It’s very subtle due to transparency but gives the necessary information for debugging or (I’m not sure yet) to the player in build mode.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: