This article lists the important changes in [[version:1.9.10]]. ====== Fixed bugs ====== * Crash when locating a fallback skin for a model without skins (out of bounds memory access). * Crash when replacing text definitions (null pointer access). * Crashes with add-ons using the HI_START/HI_END method of texture replacement. * Fatal error attempting to enter lighting debug mode ({{:var|rend-tex}} 2). ===== Platform-specific ===== * Unix: All Games: chat messages don’t show in HUD due to improper use of memory buffers. {{:sfbug|1092}} * Mac OS X: launcher config updated for ringzero: all game plugins’ resources made available using vdmaps. * Windows: crash when switching to desktop resolution at shutdown (a late window resize callback occurred). ===== Gameplay ===== * Stuck column in Doom E1M7 (using fixed-precision math for bbox/line tests). * Finale object rotations regression (rotating around an incorrect origin). ===== Graphics ===== * Don’t override user’s monitor color transfer function (all changes should be applied relative to the user’s transfer func). * All Games: centering the map title in a wide viewport (when entering a new map). * Incorrect world dimensions of sprites with high-resolution texture replacements. * Broken "tall patch" composition. * Out-of-namespace flat/patch resource lookup errors. * Sky models and various map properties invalid after an engine reset. ===== Multiplayer ===== * Server: connecting to one’s own local dedicated server shouldn’t cause a duplicate client ID error. ===== UI ===== * [[:listmaps]] printed [null] as the source file for missing maps and omitted maps outside the default progression. ===== libdeng2 ===== * App init error (with, {{:arg|loglevel}} critical) (native file removed before created). * ZipArchive produced corrupt data under some circumstances. * Bug in de::Info related to finding keys by ‘:’ separated identifier path. * Script: parser bug concerning ‘:’ appearing inside “if” statement’s condition. ===== Deh Reader ===== * Parser bug causing some text patches to be skipped. ===== Doom ===== * Incorrect texture frames for the FIRELAV animation. * Missing "been there" splats and incorrect map titles in some intermissions. * Broken Fortress of Mystery animation during the E2M5 => E2M9 intermission. ===== Heretic ===== * Warping to a map outside the default progression did not work. ====== New features and changes ====== * The application data path now has priority over system-wide paths (e.g., those set with [[:doomwaddir]]). * Improved startup performance with several file system and resource management optimizations. * Tools ([[:texc]], [[:wadtool]], [[:md2tool]]) are included in the main distribution packages (unless ''CONFIG+=deng_notools''). * Added the ''deng_tests'' build option: additional small test apps will be built and deployed alongside the engine binaries. * Moved engine sources to domain-specific subfolders, clarifying the internal structure and dependencies. * Moved common, generic-purpose code from engine to [[:libdeng1]]/[[:libdeng2]]. * Launcher: removed "j" prefixed game plugin names to "lib" (or none). * Launcher: removed options for configuring the display resolution (now offered in the engine itself). ===== Platform-specific ===== * The default display mode is fullscreen with desktop resolution on Windows and Mac OS X, maximized window for Unix. * Windows: [[:doomsday.out]] is by default placed to **AppData\Local\Deng Team\Doomsday Engine**. * Windows: deng2 version metadata contains build number as part of version number. * Unix: **defaults** config file for de::UnixInfo. ===== Audio ===== * FMOD: Attempt to detect system's speaker mode and use it (5.1, 7.1, Prologic). * FMOD: Added command line options for setting speaker mode manually: {{:arg|speaker51}}, {{:arg|speaker71}}, {{:arg|speakerprologic}}. * FMOD: {{:var|sound-rate}} has no effect with FMOD because upsampling is not needed, FMOD can resample when necessary. * FluidSynth (Unix): compiling with the system libfluidsynth, uses libfluidsynth’s output driver to play music * FluidSynth (Unix): audio driver can be chosen with "fluidsynth:driver" in the **defaults** info file. ===== Games ===== * Renamed core resource packages (e.g., jdoom.pk3) using the new "lib" prefix instead of "j" (libdoom.pk3). * Removed "j" prefixed game plugin version metadata. * Dropped old j-plugin version numbers, now using the main Doomsday version. ===== libdeng2 ===== * Imported script engine from Hawthorn (presently only used for libdeng2 config and storing automatic update preferences, main window position, display mode settings). * Added {{:arg|loglevel}} to set the log entry level (e.g., DEBUG or TRACE). * Each {{:arg|v}}/{{:arg|verbose}} increases the enabled log entry level by one. * More compact log output: abbreviated log entry headers. * Script: references between Records can be restored after deserialization (with some caveats). * Script: improved textual representation of [[:record]]. * Script: boolean numbers are printed as “True” and “False” instead of “1” and “0”. * Script: added “export” statement and keyword. * Script: calling native functions from scripts. * Script: native modules [[:display_mode_module|DisplayMode]] and [[:version_module|Version]]. * Replaced deng.de script => Config.de, added functions for resetting to/accessing the default config values. * Added package [[:persist.pack]] for storing all persistent state into. * Config stored persistently in **/home/persist.pack/modules/Config** instead of **/home/deng.config**. * Serialization versioning. ====== Contributors ====== * [[http://dengine.net/forums/memberlist.php?mode=viewprofile&u=58|Vermil]]: weapon names and other text definitions for Chex Quest and HacX