Please don't touch CGI->state directly in client code - use callbacks instead. I'd like to make some mechanics-critical handlers in CGI const - a lot of work, certain changes have been done here.
* new system for handling objects and their behaviors, most functionalities don't work now but will be restored soon
* more serialization code, savegame/loadgame bit closer :)
CHANGES IN PROJECT FILES:
* removed CLua.h and CLua.cpp (server)
* removed CScriptCallback.h and CScriptCallback.cpp (server)
* added IGameCallback.h header (lib)
* added confirmation window when hero is dismissed
* finished mage guild screen
* fixed some crashbugs with hero window on adventure interface
* fixed giving wrong war machines on start
* added blacksmith functionality
* randomizing spells in towns
* fixed reading forbidden structures
* support for heroes starting in town garrisons
* hopefully fixed problems with wrong town defs (village/fort/capitol)
* moved CSpellHandler.* to VCMI_Lib (project files must be updated)
* redone reading spell info
* added missing features to the fort screen
* minor improvements
* partially done mage guild screen
Because of really huge amount of modifications here I've probably missed some minor stuff. I doubt if it's still compatible with gcc - some changes should be reapplied.
* correctly showing recruitment window (recruitment not ready)
* new slider class
* creature growths handled (horde buildings not yet supported)
* buttons more secure
* info about factions and their creatures
* costs of creatures merged into vector
* info about town structeres state (started)
* new function in CSDL_Ext for drawing borders
* numerous minor changes
* function in CCallback for getting onfo about res
* giving resources at the beginning of game
* moved several txt files to /config subfolder
* minor changes