I wanted to get rid of the ifdef spam that was starting to show up outside the classes so I rearranged some of the code to look a bit cleaner. Fixed an issue with getHomeDirectory on linux to give back the directory of the hardwar settings folder for that user rather then the users home directory.
Due to the fact that i've been unable to fine an acceptable solution for adding mocks to the GameState unit tests i've decided to stub out some tests for now until I wish to revisit the issue. The current problem is due to the fact that mocking Ogre would require a large amount of effort and running it normally would be having to create a render window which is something I don't want to do for the unit tests. I've made some additional improvements to GameRoot by finding the users home folder, creating a hardwar directory in there that can then be used for user configurations and logging. Ogre no longer spams the console with the log anymore.
… Currently there is no OSX implementation and there is some stub code for the windows.
…code files in both the unit test and the subdirectory in which they originally reside.
Cleaned up the Game Root implementation by removing the platform specific code into it's own classes. This means there will be less if macro spam in the GameRoot class.
…it tests So that I don't forget later i've added messages to cerr about unimplemented unit tests. Added the network task seems to be ok since it doesn't depend upon any GUI code.
Just realised that the client executable wasn't being copied to the bin directory. I've also added boiler plate code for the game manager unit test, still unimplemented though.
Removed the game's game states and tasks so that things would get compiling again. Now I can focus on rebuilding the code with it always building.