Last week I continued debugging Hexen, focusing especially on player colors. I made four significant changes:
- Fixed a bug in Hexen related to loading player color translation tables. Colors are translated using 21 tables with 256 palette indices each (lumps TRANTBL*). Previously libhexen was successfully loading only 16 of the arrays, leaving the Mage’s tables unloaded.
- Fixed a bug in the server where it was failing to send the correct color translation setting for a mobj under certain circumstances. This would cause the players or their corpses to sometimes appear with the wrong color.
- Simplified the player colors in Hexen so that the Fighter’s colors match those of the other classes. For instance, color 2 means “yellow” for all classes, while color 0 means “red” for all classes. Previously the Fighter’s colors did not match the other two classes.
- Fixed a few layout issues in the Hexen Multiplayer Player Setup menu, so that the preview sprite appears in the appropriate location below the title.
I then continued the libdeng1 refactoring
by relocating more low-level functionality from the engine binary to the separate libdeng1 library. The moved code comprises the memory zone, concurrency (basic threading) and garbage collection. While these modules had a couple of interdependencies to each other, moving them was rather simple because the only major dependency to other modules was console message printing — that was replaced with libdeng2 based log output. At some point further down the road, all console messages will be printed via libdeng2 and the current console log mechanism will be retired.
I also got a chance to do a nice little improvement to the renderer. A vignette effect
is now added to the player’s view to add an extra bit of realism, as if you were seeing the view through a real physical lens. We are not quite finished fine-tuning it, but the effect will be enabled by default and included in the unstable releases starting from Monday’s build 556
My plan for this week is to first change Hexen’s Fighter class’s default color back to Yellow in single-player and then find a new roadmap item to work on (perhaps Input drivers
Upcoming Builder downtime:
I’m going to be moving to another city around the beginning of August, which means the automated builder may be offline for a while around July 30--August 5. I don’t expect the downtime to last for more than a week. No new unstable builds will be available during the downtime.