On Week 23
skyjake:
Not much happened during the week. The temperature outside (and indoors) was constantly at the 30°C mark, making it rather unattractive to sit at the computer for any significant periods of time. The only real accomplishment was writing a script for processing the exported dengDevs content for insertion here onto the forums. That was quite fun, though: an XML-parsing Python script for generating a PHP script for running a set of SQL queries on the web server.
I also had to do a bit of maintenance of the build system. Hopefully today's build will run flawlessly again.
The plan remains unchanged: a few Heretic fixes and then onto Hexen. After Hexen is playable, some latency simulation and then testing using a public server.
danij:
Work continued this week on the game side UI systems. I ended up taking a minor diversion from the "widgetizing" work to address some of the implementation issues that had inadvertently produced a rather awkward internal API, for the Patch Replacement feature as used by the game menu etc. The result of which being a series of refactorings to the font renderer and currently game-side UI object/widget systems.
The font renderer now uses a stack of state attributes (tracking, leading, shadow strength, etc...) which is manipulated by the caller before initiating a batch (hopefully) of text drawing commands (formatted chunks, fragments and individual characters). This state attribute stack allowed for the long-winded argument lists of the handful of text drawing commands could be dropped entirely and the functionality moved into draw context preparation, resulting in a much cleaner API (this in turn has a large bearing on the implementation of the Patch Replacement feature).
Over the coming week I expect work will continue in much the same vein. I plan to continue refactoring the interface to the font renderer and the implementation of Patch Replacement before then getting back to the widgetizing.
Not much happened during the week. The temperature outside (and indoors) was constantly at the 30°C mark, making it rather unattractive to sit at the computer for any significant periods of time. The only real accomplishment was writing a script for processing the exported dengDevs content for insertion here onto the forums. That was quite fun, though: an XML-parsing Python script for generating a PHP script for running a set of SQL queries on the web server.
I also had to do a bit of maintenance of the build system. Hopefully today's build will run flawlessly again.
The plan remains unchanged: a few Heretic fixes and then onto Hexen. After Hexen is playable, some latency simulation and then testing using a public server.
danij:
Work continued this week on the game side UI systems. I ended up taking a minor diversion from the "widgetizing" work to address some of the implementation issues that had inadvertently produced a rather awkward internal API, for the Patch Replacement feature as used by the game menu etc. The result of which being a series of refactorings to the font renderer and currently game-side UI object/widget systems.
The font renderer now uses a stack of state attributes (tracking, leading, shadow strength, etc...) which is manipulated by the caller before initiating a batch (hopefully) of text drawing commands (formatted chunks, fragments and individual characters). This state attribute stack allowed for the long-winded argument lists of the handful of text drawing commands could be dropped entirely and the functionality moved into draw context preparation, resulting in a much cleaner API (this in turn has a large bearing on the implementation of the Patch Replacement feature).
Over the coming week I expect work will continue in much the same vein. I plan to continue refactoring the interface to the font renderer and the implementation of Patch Replacement before then getting back to the widgetizing.