UDMF experiment, Shell game options, installer facelift

Last week I went on a brief modding tangent and added a plugin that loads UDMF maps.

UDMF is an attractive choice for map editing due to its flexibility and potential to be widely compatible with map editors and source ports. However, it is basically only a syntax for describing map data; the real trick is interpreting the contents and supporting all the required gameplay logic, line and sector specials, etc. Doomsday at the moment supports only vanilla maps with a couple of Boom features. The new UDMF plugin also doesn’t yet transfer all the data to Doomsday, for example most line flags are ignored.

When it comes to extending Doomsday’s support for modding, I view full Boom compatibility as the first milestone to reach. Modding is on the roadmap for the future 2.4 release, so in the near future the UDMF importer plugin remains an experimental feature.

I also did many small improvements in preparation for the stable 2.0 release.

  • Game options in Shell. The multiplayer Shell app now has a long-overdue Options tab for configuring the server’s current map, game type, monsters, and other basic gameplay options. This should get around the need to mess about in the Console for 90% of the time. I also made other usability improvements in the Shell when it comes to running local servers (e.g., error reporting, local IP addresses, opening the connection to the local server). The Shell should be pretty much in shape for the 2.0 release now. (Still need to check the text-based shell for any needed fixes.)
  • Audio backend reinitialization. When changing the audio plugins in Audio Settings, the audio backend is automatically reinitialized on the fly, so one does not need to restart Doomsday. The currently playing music is stopped, though, until the next map starts.
  • IWAD autodetection. If you’ve purchased Doom from GOG.com, Doomsday can now autodetect it via the Windows registry. Autodetection has already been working with games downloaded from Steam.
  • Installer facelift. The Windows installer has new UI graphics and the macOS installation disk image has a better layout (as seen in today’s title image).
  • UI fine-tuning. I fixed a number of small regressions with animations and popups. The Doomsday window is now cleared appropriately, avoiding HOM artifacts. Some of the game HUD elements were positioned incorrectly in minimized game mode.
  • Minor reorg in the source files. I renamed all the data reader/converter plugins to “import(something)” (Dehacked, id Tech 1, UDMF, saves). I also added a new shared library called “libgamefw” (Game Framework) for common stuff used by all game plugins. Previously we’ve been relying on a set of common source files with ifdefs. The new library remains tiny for now because common code moved there usually needs quite a bit of refactoring.