Performance improvements and bug fixes in the UI framework.
Introduced an abstract data model to allow data to be used more flexibly with several instances or types of widget.
New widget: on/off toggle. It is now used in various places to modify the values of script variables and cvars.
New widget: choice. Allows selecting one item from a collection of items.
New widget: slider. Picks a numerical value within a range.
New widget: dialog. Modal or non-modal popup for presenting information or making choices.
Replaced old busy mode indicator screen with a BusyWidget. This allows using the same UI element elsewhere, e.g., in the update download dialog.
Background tasks (multithreading) is now taken advantage of when processing text for drawing in the UI framework. Also improved wrapping of text using tab stops.
Added an About dialog that displays information about the installed version of the engine and current GL and audio configurations.
Added new settings dialogs for video, color, audio, input and updater settings.
Several settings for advanced/developer use (ID indicators, special texturing modes, etc.) are now easily accessible via the “gauge” popups in the renderer and audio settings dialogs.
When the task_bar is dismissed, the current contents of the console command line are saved in the command history.
console command line autocompletion (when pressing the Tab key) shows a popup with all the possible completions. Console variables are listed with current values and commands with a brief description.
Adjusted autocompletion behavior: the popup will only open if there is nothing unambiguous to add to the command line.
Added the command rendedit to open the Renderer Appearance editor sidebar.
Improved the command help to list autocompletion and log navigation shortcuts (with platform appropriate Unicode characters).
Developer
Upgraded to Qt 4.8.5.
{{tag|Updater}}
Redesigned automatic updater's UI using Doomsday's own UI framework.
Update notifications do not force a switch to windowed mode any more.
Option to download updates automatically when they become available.
{{tag|Input}}
Input Settings: by default the sensitivities of the X and Y axes are linked together so one doesn't have to carefully make sure both are the same.
{{tag|Audio}}
Use sector cluster granularity for environmental audio. Sectors comprised of multiple disjoint geometry groups now use independent environmental audio characteristics.
Deferred calculation of environmental audio characteristics until necessary. The BSP leaf blockmap is used to accelerate the task.
{{tag|Renderer}}
Built-in appearance profiles: Vanilla, Defaults, and Amplified.
In widescreen views, the FOV angle is now less dependent on the view width. This allows using the same FOV angle with both traditional 4:3 and widescreen views.
Added BSP leaf clustering for the support of id Tech 1 map hacks. Revised map geometry generation and dynamic lighting to work at cluster level using the half-edge data structure.
Added sector plane mapping and separate physical/visual planes for clusters. Used in the support of id Tech 1 map hacks.
Batched surface redecoration by material and addressed associated performance bottlenecks.
Deferred initialization of Bias lighting data until necessary and improved deallocation mechanism for faster shutdown. Also, significantly reduced memory requirements through reformatting.
Bias light sources in the void are dynamically occluded.
Further streamlined map data elements, removing unused functionality and reducing memory requirements.
{{tag|Shell}}
Console: Pressing Tab will print a list of possible completions for the current word.
Scripting
Added appconfig.de: configuration for the application. Imported by config_module. The client-specific configuration variables were moved to the new script.
{{tag|All Games}}
Added cvar map-title-position for controlling if the map title is positioned at the top or bottom of the view when the automap is open.
Position the message log below map title when visible.