User Tools

Site Tools


version:detailed_list_of_changes_in_doomsday_version_1.14

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
version:detailed_list_of_changes_in_doomsday_version_1.14 [2017-03-13 11:07]
skyjake ↷ Page moved from detailed_list_of_changes_in_doomsday_version_1.14 to version:detailed_list_of_changes_in_doomsday_version_1.14
version:detailed_list_of_changes_in_doomsday_version_1.14 [2017-03-23 13:24] (current)
skyjake
Line 1: Line 1:
 +This article lists the important changes in [[version:​1.14]].
 +
 +
 +===== Fixed bugs =====
 +
 +
 +==== UI ====
 +
 +  *  Ugly layout updates when opening popups. Caused by their contents becoming available for GL drawing at different times during the opening animation, resulting in repeated resizing of the popup.
 +  *  Widget positioning issues. Caused by margin changes not always being applied correctly.
 +  *  Ringzero: Excessive clipping of button contents in the Game Selection menus is avoided as the layout of the menu is altered if the buttons would get too small.
 +  *  OS X: Fixed font weight selection issues by utilizing native font rendering routines. Normal, bold, and light fonts are all now correctly drawn.
 +
 +
 +==== Console ====
 +
 +  *  Windows: Console history has a wider drag border for the mouse, fixing the problem where it was impossible to resize the console if the drag border was near the edge of the window.
 +  *  Removed invalid console variables (like "​player-weapon-order8"​ in Heretic).
 +
 +
 +
 +==== Renderer ====
 +
 +  *  Vignette effect drawn while no map is loaded.
 +  *  Model particles were not affected by dynamic lights.
 +  *  Missing 3D models referenced by ID (particles, skies).
 +  *  Sky spheres with multiple layers drawn incorrectly.
 +  *  Transition animations (e.g., crossfade) not working in networked games.
 +  *  Windows: Vertical sync was not being applied correctly, causing it to be always on.
 +  *  X11: Vertical sync is now applied using the GLX API, making it unnecessary to recreate the OpenGL window.
 +
 +
 +==== Resources ====
 +
 +  *  When writing a ZIP archive, it was possible that its header was written with an incorrect total number of archive entries, resulting in a corrupt ZIP file.
 +  *  ANIMATED data interpreter incompatibility with ZDoom'​s "No Decals"​ extension.
 +
 +
 +==== All Games ====
 +
 +  *  Mismanagement of game rules when loading savegames.
 +  *  Menu, editfield widgets: when active eat all navigation commands and cursor is now visible when empty.
 +
 +
 +==== Hexen ====
 +
 +  *  Crash starting end game finale.
 +
 +
 +
 +===== New features and changes =====
 +
 +
 +
 +==== UI ====
 +
 +  *  Visual improvements for UI widgets: text editors have a border, fold panels have a state indicator and text wrapping is now more accurate.
 +  *  Performance improvements:​ Widgets that cannot be seen will be skipped during rendering of the UI; images shared by multiple widgets are not loaded more than once.
 +  *  Old Doomsday GUI widgets were removed altogether as obsolete (the ones used in the old Control Panel and MP screens).
 +  *  Warnings and errors printed in the log history are also shown as alerts in the notification area.
 +  *  Tutorial that introduces the main UI elements: [[:​home_screen]],​ notifications,​ [[:​task_bar]],​ application and configuration menus, renderer appearance profiles, and the console.
 +  *  Task bar: multiplayer menu providing an easy method of leaving the current server and displaying connection info.
 +  *  State persistency:​ widgets can store their state in [[:​persist.pack]] and be automatically restored to their previous state on a subsequent launch.
 +  *  Stereo 3D: mouse wheel is now mapped to both left and right frames.
 +  *  Console shortcut key can be set using a menu item in the [[:​console_menu]].
 +
 +
 +==== Home screen (Ring Zero) ====
 +
 +  *  Automatically shows multiplayer servers and all saved games.
 +  *  Unplayable games with missing resources are listed separately.
 +  *  Foldable groups so you can hide games that are not important.
 +  *  Game sort order can be chosen (by title or by game identity key).
 +  *  Adaptive layout which dynamically expands according to available screen real estate.
 +
 +
 +==== Log ====
 +
 +  *  Overall cleanup of log output.
 +  *  Log verbosity levels can be specified per engine subsystem. This is useful for instance if one is interested in finding out what is going on in resource management while suppressing messages from other subsystems.
 +  *  Log entries are flagged either for developers or end users. It is possible to filter out all developer messages.
 +  *  The log history can optionally show metadata for each entry (timestamp, domain). This was previously only available in debug builds.
 +  *  Warnings and errors can be duplicated to a secondary output file with the [[:errors]] option (similar to [[:out]]).
 +
 +
 +==== Multiplayer ====
 +
 +  *  Multiplayer UI was completely overhauled with new dialogs.
 +  *  The multiplayer UI automatically displays local servers and asks the master server for public games.
 +  *  New dialog for connecting manually to a IP address or domain.
 +  *  Master server settings are no longer stored cvars (net-master-*). The master server'​s API URL is now configured as a single variable: ''​Config.masterServer.apiUrl''​.
 +
 +
 +==== All Games ====
 +
 +  *  Unified game session model.
 +  *  Unified saved session model. All games now utilize an internal savegame for tracking player progress.
 +  *  Recover from a failed savegame load, returning the user to the title screen (any errors are reported by the new Alert mechanism and are logged).
 +  *  Common HexLex parser for reading of Hexen specific script lumps (ANIMDEFS, etc...).
 +  *  No longer dependent on external LZSS module.
 +
 +
 +
 +==== Renderer ====
 +
 +  *  Added bloom as a new frame post-processing effect. It can be configured with cvars (''​rend-bloom'',​ etc.) or in the [[:​renderer_appearance_sidebar]]. Bloom is enabled by default.
 +  *  Oculus Rift: Number of samples can be configured separately for the Oculus Rift framebuffer (i.e., separately from overall FSAA setting).
 +
 +
 +==== Resources ====
 +
 +  *  New savegame format based on ZIP. Human readable metadata and multiple files for serialized game state data.
 +  *  Significantly more intelligent savegame management. Metadata is only extracted when needed by the UI or the current game.
 +  *  Automatic, background conversion of old savegames.
 +  *  Old savegame conversion tool and plugin.
 +  *  Current game rules for the session used as basis for interpretation of old savegames.
 +  *  Added {{:​cmd|inspectsavegame}} for inspecting .save package metadata.
 +  *  Improved {{:​cmd|inspectmap}} output with more information about map state and configuration
 +
 +
 +==== Shell ====
 +
 +  *  When starting a server, it can be made public or private with a checkbox (sets ''​server-public''​).
 +  *  The error log is automatically shown if a server fails to start.
 +  *  The Shell login password can be specified when starting a server; it //must// be specified for public servers (where anyone can potentially try to log in).
 +  *  Updated toolbar icons with modern style that matches the client UI.
 +
 +
 +==== Scripting ====
 +
 +  *  A new [[:record]] can be created inside an expression using [[:​record_keyword]]:​ <​code>​(record rec).member = 1</​code>​
 +  *  App.audienceForGameAddition for notification of game registrations.
 +  *  Native function binding for App.quit()
 +  *  [[script:​module:​SavedSession]] module provides access to the resource system functionality for savegames (old savegame conversion)
 +
 +
 +==== OS X ====
 +
 +  *  Font rendering is done using native APIs.
 +
 +
 +==== API ====
 +
 +  *  Old log message printing API removed, replaced with ''​App_Log()''​ in [[:​libdeng1]]. New log printing function supports [[:​log_escape_codes]] and accepts flags to specify entry metadata (subsystem, audience).
 +
 +
 +==== SDK ====
 +
 +  *  The Doomsday 2 libraries are provided under the LGPL 3 license ([[:​libdeng2]],​ [[:​libshell]],​ [[:​libgui]],​ [[:​libappfw]]).
 +  *  ''​Garbage''​ was moved from [[:​libdeng1]] to [[:​libdeng2]].
 +  *  Doomsday 2 UI framework was split from the client and placed to its own [[:​libappfw|shared library]].
 +  *  Oculus Rift support code was moved to the UI framework library.
 +  *  SDK [[:​api_documentation]] is now available as a **.qch** file for use in Qt Creator.
 +  *  Build scripts specifically run Python 2 so that they work even if Python 3 is the system default.