Improved UI for packages

For the past week I’ve been finishing up with the Home UI for the 2.0 release. The Packages tab has gained a lot of useful functionality.

Package popup

The Packages tab helps you browse and manage your PWADs, add-ons, resource packs and other data files (all of which are called “packages” in Doomsday 2). Build 2208 introduces a new UI for viewing information about packages and performing quick actions on them. Like the game tabs, I consider the Packages tab now feature-complete for 2.0.

The new package info popup has the following features:

  • The popup can be quickly opened by right-clicking a package in any Packages list.
  • There is a convenient “Play in…” button for quickly loading the package in an existing game profile, without making any permanent changes to profiles. This works great for quickly trying out PWADs, for example.
  • The “Add to…” button lets you add the package to any existing game profile.
  • The “Show File” button opens the folder containing the package in Windows Explorer / macOS Finder / etc. (This may not be very helpful if all your data files are lumped in a single folder.)
  • The “Options” button allows selecting from the optional .box contents. It was relocated here from the old context menu that no longer exists.

A little bit of content analysis is done on the package:

  • Doomsday tries to guess which game the package is for, looking through any auxiliary readme files, the used WAD map format, Snowberry metadata, names of parent folder(s), etc.
  • In the case of WAD files, the game title picture is shown in the popup as the package icon.
  • If the package contains an “icon.jpg” (or “icon.png”) file, it is used as the package icon image. Currently these images are only displayed in the popup.

Other changes

  • Home tabs can be quickly navigated with keyboard shortcuts (D, H, X, O, M, P).
  • The Home UI colors were adjusted, particularly some of the backgrounds.
  • The “-file” command line option (also “-deh”, “-def” and “-defs”) were revised internally and now only load files when used together with “-game” to directly launch into a game. If “-game” is not used, they just register files that are then available as packages for use in profiles.

Fixes

  • Fixed a couple of bugs with the autosaving of .cfgs and engine variables.
  • Fixed polyobj rotating bug in Hexen that disrupted gameplay (issue 2157).
  • Fixed the savegame name edit fields that were sometimes too narrow for their text (by simply making them wider).
  • Fixed a bug where deleting a save would disable the entry in the menu (issue 2186).
  • Fixed a bug that was causing the engine to sometimes crash when quitting the game.
  • Fixed handling of packages when multiple different versions are available.
  • Fixed incorrectly recognized Freedoom Phase 1 and 2 IWADs so that they don’t get mixed up with the regular Doom 1/2.