Puh... long time no post in here. Development of RF was going really slow during the last months but motivation is increasing again and I hope that it'll stay like this for some time.
So what has been done for the next release you may ask.
First, I've added a completely new logging class to RF that allows 5 different levels of output detail:
debug, info, notice, warning, error and critical
[debug] will show you a lot of the stuff internally going on during a program run, like loading of resource files, parsing of an ini file etc. This level should be used when you encounter a problem with your game.
[info] outputs just some more information in addition to the main program events, e.g usage of deprecated functionality.
[notice] is the default level and outputs the main events during a program run, all warnings, errors and critical errors.
[warning] warnings are generated for minor mistakes that have been made in the game setup (e.g. missing resources) but RF can still run (though probably not as expected). This level writes only warnings, errors and critical errors to the log file.
[error] errors have a severe impact on the game, however the program may still be able to recover from them.
[critical] this level outputs only critical errors which inevitably lead to a program termination.
The integration of the
CEGUI library has been started. This will affect the current methods for setting up and displaying the menu, inventory, hud, conversations and messages (i.e. ini files will change a lot, most configurations will be done through CEGUI's xml files).
The integration of the PhysX library has been started. Unfortunately this is still in a rather early stage.
Quite a bit of work has gone into code reorganisation and other changes that won't be noticed by the average user (e.g. the replacement of c-style casts with c++ casts).
RF coders will be glad to hear that I've reduced include file dependencies tremendously by reducing the includes in the main header file to a minimum. So full recompiles will occur less often.
On a side note: I've also automatized version number updates for the project; the version number now follows the scheme: major.minor.revision.build [pre-release], e.g. for the current release this would be "0.76.0.0", another example would be "0.80.0.56 beta"
Speaking about releases, due to integrating the cegui library
and physx there may be a 0.78 release prior to 0.80 including only the cegui or physx library, depending on which one gets finished first.
In any case there will be a beta version and maybe even a rc version prior to the final release due to the amount of new and modified code.
Currently intended release date is early September.
I guess that's all for now...