Doomsday 2.0.3, other minor updates

Over the past few weeks, I’ve made a couple of stable builds with the version 2.0.3. The first one of those was made a bit early as I was about to leave for a trip abroad, and mainly included one bug fix for Hexen related to saving and restoring object state from save files. Recently I’ve made a couple of additional stable builds to investigate and fix a problem with the Ubuntu Launchpad build scripts, where the “doomsday-stable” packages were correctly built but nothing was actually included in the generated DEB packages.

On the whole, progress has been somewhat slow. Perhaps the biggest advance was in the website backend, where I’ve now split the API functionality to a separate server, so that things like master server and update queries won’t interfere with the normal operation of the project home page and forums. I hope this will alleviate the issue of sometimes failing to respond to requests.

Prompted by a forum post, over the weekend I was investigating an audio volume issue on Windows. It turns out there is a problem with the SDL_mixer music volume controls. I have yet to determine if there is a workaround that Doomsday can do to avoid the issue. Such a workaround would be preferable to disabling SDL_mixer music on Windows completely, since SDL_mixer does bring value to the table (e.g., music formats). The situation is also slightly tricky because SDL and SDL_mixer are built in to the engine, so there isn’t a plugin to take out or something simple like that.

Doomsday 2.0.2 released

The stable version 2.0.2 (build 2372) is now available. The release notes can be found in the Manual.

This is another patch release that fixes incorrect behavior and improves the stability of the engine. Some of the fixes affect data file identification, so if you’re experiencing issues with your WAD files or other resources, try selecting Clear Cache from the DE menu and restarting Doomsday so that all your data is reindexed.

I recommend anyone currently running Doomsday 2 to upgrade to 2.0.2.

Doomsday 2.0.1 released

The stable version 2.0.1 (build 2311) is now available. The release notes can be found in the Manual.

This is a patch release that fixes a number of crashes and various cases of incorrect behavior. Many of the fixes are related to the new Home UI, but there are also other important improvements like faster model renderer performance.

I recommend anyone currently running 2.0 to upgrade to 2.0.1.

Doomsday 2.0 released

The first stable build of Doomsday 2.0 is now available.

The highlighted features of 2.0 are:

  • Home Screen replaces the frontend app. A launcher is no longer needed; games and add-ons can be managed using Doomsday itself.
  • Built-in support for different data file and package formats. Used packages are tracked in saved games and multiplayer games.
  • The new 3D model renderer that has been in development since the 1.15 release is now mature enough for use. It supports FBX and MD5 models, skeletal animation, GLSL shaders, and scripting.
  • This is the first 64-bit stable release for Windows.

See the Manual for the complete release notes.

Thanks to everyone who reported bugs in the release candidates! A number of nasty bugs were found and fixed. There is still a few less serious known issues that have been scheduled for next month’s 2.0.1 update.

Work on the 2.x series will now continue along the lines planned in the roadmap, with the first focus area being multiplayer improvements. Under the hood, there is still lots to do with updating remaining old OpenGL rendering code so we can take full advantage of shaders in future releases.

Doomsday 2.0 RC3

Update: New build 2272 available with updated IWAD recognition rules.

The third and possibly final release candidate of version 2.0 is now available (build 2272).

There is a whole bunch of fixes:

  • IWAD files are now recognized with stricter rules to avoid files from being misidentified as known IWADs. If you have been seeing problems dealing with WAD files in the Packages browser, try DE → Clear Cache and restart.
  • Under specific circumstances, opening the game profile package selection dialog would crash.
  • Hang when trying to spawn damage particles triggered by a very large amount of damage.
  • Light from the Torch powerup in Heretic and Hexen was rendered incorrectly.
  • 3D model animation problem where a non-animating mobj would be repeatedly restarting its animation sequences.
  • Several UI glitches of varying severity. For example, the Update Available notification was triggering a fatal error, and there were occasional random color changes happening when UI widgets were being drawn.

Another notable change is that the folders where Doomsday looks for IWADs and other data files are now configured in the same Data Files dialog. I’ve added a new quick-access button to the bottom of the Home’s Packages list for opening this dialog.

Full change log

Doomsday 2.0 RC2

The second release candidate is available: build 2257.

This build has a number of bugfixes and minor improvements, particularly when it comes to loading and unloading data files. Some of the fixes affect metadata generated for data files, so if you’ve been running RC1, I recommend clearing Doomsday’s resource cache. This will also ensure that all add-ons are detected again, if some files were previously missing.

When one loads a savegame, Doomsday will attempt to load or unload resources depending on what was used in the save. However, this was quite buggy and could easily lead to a crash. There was also a mixup that caused Doomsday to try load and unload the same files twice. These issues are resolved in RC2.

I’ve made a couple of usability tweaks in Home. It should now be clearer when a profile is unplayable because the game IWAD is missing, or if the problem is that your selected additional packages are unavailable.

RC1 notes

Doomsday 2.0 RC1

Build 2250 is the first Release Candidate for 2.0.

The full release notes will be available later, but the short version is that 2.0 introduces two big changes in how Doomsday works:

  • The Snowberry front-end application has been replaced with a new Home screen within Doomsday itself.
  • Doomsday has gained more understanding of various data file formats, resource packs, and add-ons so that it can load them without assistance from a front-end app. This Packages system has wide effects inside the engine, influencing game session configuration, savegames, multiplayer games, and the UI.

The updated Readme covers most of the new stuff, so that is a good place to start if you havent been using any 2.0 unstable builds recently.

There are certainly still bugs left to find and fix, so please report any problems you encounter with the RC build(s). The best place to do so is the Tracker.

In practical terms, development of the 2.0 release has been switched to the stable branch and is now in feature freeze mode. The master branch will roll over to 2.1 for new unstable builds. Now that the stable branch is using CMake as well, I’ve resumed the first-day-of-the-month stable builds.

Up to Speed

I’ve been getting back to work on Doomsday after my 1.5 month hiatus.

As I previously planned, I’ve been doing more development on Xcode 6. It took a brief adjustment period to get to know the intricacies of the IDE, but Xcode is starting to feel quite comfortable. My biggest gripe is that the Quick Open box is so slow; Doomsday is a relatively large code base, so there are a lot of files and symbols to find (Qt Creator manages this just fine, though). There are some nice touches like the Assistant editor showing callers/callees, source/header counterparts, and other helpful information, but code navigation on the whole just doesn’t feel right to me. However, Xcode is superb for debugging on the Mac. I’ve already managed to fix a number of bugs thanks to it. Continue reading Up to Speed