Began making ids panel-specific, to avoid having to add 100 to ids for this panel, 200 for that one, etc. Now, everywhere where an id is used, the panel_type_t has to be taken into consideration as well. All of this involved changes to game.c, menu.c, and options.c.
add_allocate_widget() no longer takes an id as a parameter -- it just takes one more than the last id in the panel. The switch statements in game.c, menu.c, and options.c have been split up into panel-specific sections.
Note that this has not yet been finished: composite widget ids are not handled properly (try the scrollbar in the screen modes listbox).
A major problem with resource.c has arisen -- expat does not support writing to XML files. This might be fixable with hacking, for example by only writing out the elements that changed, file seeking to the right places.
The XML_Parser is now stored in the resource_stack_t structure (resource.c), to allow handlers to use it.
Removed some ancient commented-out code in font.c.
The src/Makefile's CFLAGS line was put onto one line. Although this makes the line over 80 characters long, it avoids breaking the profile target of the top-level Makefile.
The actual source code has not changed since the fourth of November (loop.c) -- this commit has just been delayed.
14 files changed: