We released a patch for the stable 1.9.8 on last Tuesday. Build 543
was done from the 1.9.8 branch and it contains a number of fixes cherry-picked from the master branch. It seems our automatic builder was up to the task this time as everything went smoothly. You can find the list of changes in 1.9.8-1
in the wiki.
A significant portion of my time was spent on debugging. I investigated and hopefully fixed a crash that was occurring when a swing door was opened in Hexen. This was a rather interesting bug as it rarely (if ever) manifests in a 32-bit build, but causes crashes in 64-bit builds. The bug has been around since 2003, but it seems that only now when more people are starting to use the 64-bit builds it has become a nuisance. I also continued improving the Hexen v1.0 support by allowing warping to the extra test map 41.
Another crash that I fixed was related to loading WAV files. It appears the code we were using for reading WAV samples was being misunderstood by some compiler versions, causing invalid behavior. This has now been taken care of and for instance the Doom HQ SFX pack should be working on all platforms.
I completed the first step in the upcoming Doomsday executable split by adding a new shared library called “libdeng1” (deng1.dll
on Windows). It is now part of the master branch and is being included in the unstable packages, although mostly as a placeholder for the moment. In the future, we will move much of the 1.x subsystems there, permitting the engine to switch to 2.0 subsystems from the libdeng2 library. In other words, this will help us in the transition to the 2.0 architecture.
It is also worth mentioning that there is now a link to prebuilt RPM binary packages on the Linux download page
. The RPM repository is courtesy of skolnick
The plan for this week is to continue improving the Hexen v1.0 support and look into issues regarding player color translation. I’m not pleased with how Hexen is handling player colors; the code is needlessly complicated and the logic is split into many places, making it difficult to comprehend. Debugging such code is little short of a nightmare, so I’m looking into replacing it with something more elegant.