Last night I added some nice top-level methods for manipulating boot.conf (which is XML and acts as the game configuration file)
The methods are:
bool initBootConf(void); //called during engine init, loads file and seeks common properties
string getBootParam(string key); //used to seek a parameter from the boot file, key is a dot-notation string
e.g.
string width=getBootParam("screenFormat.width");
void setBootParam(string key,string value); //used to set/create a parameter in the boot file, key is a dot-notation string
e.g.
setBootParam("user.likes.iceCream","true");
it will automatically create neccisary key-tags if they dont exist.
And the best ones of all:
revertBootConf(); // reloads boot.conf from disk, dumping local changes
commitBootConf(); // saves local changes to boot.conf to disk
I decided to use this method overy digging through tons of XML manually to get and set properties, so far it is working excellent.
Tonight I think it is time to dig deeping into the graphics system, there are many questions I have, and lots of potential strategies, which means there will be lots of testing to see which ones are more performant than others.