From 0969edec13a607b18f2d03530b38bf951ebc7ddd Mon Sep 17 00:00:00 2001 From: Fabian Greffrath Date: Fri, 9 Aug 2024 08:44:30 +0200 Subject: [PATCH] cp CHANGELOG.md RELEASE_NOTES.md --- RELEASE_NOTES.md | 273 +++++++++++++++++++---------------------------- 1 file changed, 107 insertions(+), 166 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 6e973399c..b7f9ca3bf 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,172 +1,113 @@ -## 3.1.0 (2024-08-01) +***This is a major release built upon on the fresh Chocolate Doom 3.1.0 code base. Its main new feature is the addition of True color rendering support as a compile-time option for all four games. Thanks to all contributors!*** -### General - * Drag and drop loading of WAD, Dehacked and demo files is now supported on - Windows - simply drag the files onto chocolate-doom.exe (thanks Fabian). - * WAD file autoloading was added - WAD and DEH files can be copied into - an autoload folder to be automatically included on every game start. - * Music pack configuration has been significantly simplified. By simply - copying .flac/.ogg music files into a folder they will be automatically - detected by filename and used. - * Music packs can now be used with OPL as a fallback, and music pack - config files can have any name ending in '.cfg'. - * MP3 music packs are now supported. - * Network synchronization now uses a PID controller by default, which - makes games more smooth and more stable, especially for Internet play. - * UDP hole punching is now used to make servers behind NAT gateways - automatically accessible to the Internet. - * OPL emulation now uses Nuked OPL3 v1.8 (thanks nukeykt) - * Allow simultaneous PC speaker emulation and OPL emulation - (thanks Michael Day). - * The setup tool now uses "Romero Blue" as a background (see the wiki: - for more info). - * The 0 and 5 keys on the number pad can now be bound independently - of any other keyboard key (thanks BlooD2ool). - * With aspect ratio correction disabled, the game can scale to any - arbitrary size and remove all black borders in full screen mode. - (thanks chungy) - * The executable's location is now checked when looking for IWADs. - * The IWAD files installed by Steam-on-Linux are now detected (thanks - chungy). - * It's now possible to use `-response` to load response files. - * Default savegame name now includes the WAD filename (thanks Fabian). - * Mouse movement is no longer read when the game window is inactive - (thanks Julia Nechaevskaya). - * Chocolate Doom now by default generates a "pet name" for the user - to respect privacy (thanks Jon!) - * The Freedoom single-player IWAD files are now officially supported, - since recent versions changed all levels to be vanilla compatible. - * Add native support for the FluidSynth midi synthesizer. - * Add a fsynth_gain config key to fine tune the FluidSynth output level - (thanks Fabian). - * Redesign of native MIDI support in Windows (thanks ceski and Roman Fomin): - - Emulates DMX MPU-401 feature set by default, change with - `winmm_complevel`. - - MIDI device reset between songs using "GM System On", change with - `winmm_reset_type`. - - Configurable delay after reset for legacy MIDI hardware (e.g. Roland - SC-55), change with `winmm_reset_delay`. - * Add improved gamepad support via the SDL\_GameController interface. This - includes support for analog triggers, modern dual-stick default bindings - (based on Unity Doom), descriptive button names for common controller types - and configurable dead zones for stick axes. (Michael Day). - * All games now have shiny new icons! - * The -display parameter was added to specify the display number on which to show the screen (thanks Robin Emeršič). +**General Fixes and Improvements** +* Don't apply framecap when using `-timedemo` (@JNechaevsky). +* Make demo footer compatible with PrBoom+/DSDA-Doom demo autoplay (@rfomin). +* Fix visual distortion of drawing planes near the screen edges in wide screen modes (@rfomin and @JNechaevsky). +* Support savegame loading for PWADs with spaces in their name. +* Aspect ratio now matches screen by default (@SoDOOManiac). +* Only update sounds once per gametic (@rfomin). +* Improve green color translation (@fabiangreffrath and @JNechaevsky). +* Always draw borders of fullscreen patches using black found in PLAYPAL. +* Add support for negative gamma levels (@JNechaevsky). +* Apply palette changes every gametic, not every frame (@JNechaevsky). +* Apply brightmaps to translucent and translated columns (@JNechaevsky). +* Fix bug where non-midi music would play at max volume (@mikeday0). +* Make max volume `libsamplerate` output the default (@mikeday0). +* Fix memory leak on light tables recalculation (@JNechaevsky). +* Introduce fast mouse polling. Reduces input lag when running uncapped + (@mikeday0). +* Analog gamepad controls are enabled by default. (@mikeday0) -### Build systems - * SDL2_mixer and SDL2_net can now be optionally disabled to increase - portability to systems that might not support audio or networking - (thanks turol). - * Travis CI was replaced with GitHub Actions (thanks Michael Francis). - * mingw CI was added for automatic Windows-building (thanks turol). - * A cpp-linter CI was added to improve the quality and formatting of code - (thanks turol). - * The `--disable-zpool` autoconf argument for disabling memory pooling was - added to make debugging easier (thanks turol). - * Python 2 has been deprecated and Python 3 is now used exclusively - (thanks Fabian). +**Crispy Doom** +* Improve display of secret sector coloring in automap when custom PLAYPALs are + used (@SoDOOManiac). +* Use PWAD-provided color translation tables for colored blood. +* "Status Bar" level stats are now left-aligned with HUD (@SoDOOManiac). +* Fix visual glitch on door in Doom 2 MAP19 when running uncapped (@rfomin and + @JNechaevsky). +* Correctly report complevel 3 in demo footer (@rfomin). +* Armor bonus brightmap improvement (@JNechaevsky). +* Improve detection of improper patches. +* Only stretch short skies. +* Fix bug where reviving with IDDQD can possibly leave player in a "zombie" + state (@tomas7770). +* Add reload, next level warp keys support and IDCLEV warp for demo playback + (@JNechaevsky). +* Enter key in Crispness menu behaves same as other games (@mikeday0). +* Add support for `-coop_spawns` parameter (@JNechaevsky). +* Allow non-power-of-2 wide sky textures. +* Add support for dedicated No Rest for the Living music tracks. +* Fix automap marks disappearing near left side of screen (@JNechaevsky). +* Add support for Sigil II (@mikeday0). +* Apply sideloading lump renaming to associated autoloaded WADs (@mikeday0). +* Give Master Levels its own intermission picture MASTRINT (@mikeday0). +* "Widescreen Aspect Ratio" -> "Aspect Ratio" in Crispness menu (@SoDOOManiac). +* Improved True color code for better compatibility of drawing graphical patches + when PLAYPAL and COLORMAP lumps have different color indexes. +* Resolution-tuned weapon sprite "1 pixel too high" fix for compatibility with bit-shifting hires forks (@SoDOOManiac). +* Small optimizations on toggling gamma-correction levels in True color mode + (@JNechaevsky). +* Fix blinking of drawing Tower of Babel on intermission screen (@JNechaevsky). +* Show date and time of savegame in Save/Load menu (@fabiangreffrath and @JNechaevsky). +* Suppress pause when a new game is started (@fabiangreffrath). +* Fix sector's sound origin for large levels (@kitchen-ace and @rfomin). -### Refactorings - * CMake project files have been added, replacing the Microsoft Visual - Studio and Code::Blocks files. CMake maintains support for multiple - IDEs and versions thereof, and reduces developer overhead when updating - Chocolate Doom (huge thanks to AlexMax for this work). - * Source code has been retrofitted to fix many compiler warnings and - add const annotations to many variables (thanks turol). - * Several functions have been hardened against incomplete reads and - error conditions, and made safer (thanks turol). - * Man page generation has been reworked to use autoconf macro - substitution, making it eaiser for downstream forks to change the - project name (thanks Jon). - * We now print a meaningful error message when a savegame cannot be - loaded (thanks Zodomaniac, chungy). - * There's now a log file feature for the network code to aid in tracking - down multiplayer bugs. - * AppData files were updated to the AppStream standard (thanks Mike). - * Many abuses of the extern keyword have been cleaned up to prevent - undefined behavior (thanks turol). - * Install of bash completion scripts was fixed (thanks Mike Swanson). +**Crispy Heretic** +* Add support for MBF sky transfers (@SilverMiner). +* Display correct active artifact when loading game or entering a new level + (@mikeday0). +* Add support for SWITCHES lump (@SilverMiner). +* Add support for True color rendering as compile-time option (@fabiangreffrath + and @JNechaevsky). +* Fix missing one pixel line at top and bottom of screen in transparent + drawing functions (@JNechaevsky). +* Add support for `-coop_spawns` parameter (@JNechaevsky). +* Fix scrolling floor textures bleeding through static floor textures + (@JNechaevsky). +* Unknown wall textures, map things and sector specials are no longer fatal + (@JNechaevsky). +* Removed MAXBUTTONS vanilla limit (@JNechaevsky) +* Apply brightmaps to D'Sparil teleportation frames (@JNechaevsky). +* Improve load times for complex levels (@JNechaevsky). +* Add support for `-blockmap` parameter (@JNechaevsky). +* Create blockmap if WAD-provided blockmap is bad (@JNechaevsky). +* Fix hitscan/missile puffs disappearing in certain areas (@JNechaevsky). +* Fix crash if save is attempted when game has not started (@JNechaevsky). +* Allow for flat scrolling in all cardinal directions (@kitchen-ace). +* Add support for demo fast-forward (@kitchen-ace). +* Fix medusa effect (@mikeday0). +* Improve brightmap for serpent torch (@kitchen-ace). +* Allow multiple jumps over menu items with same first letters (@JNechaevsky). +* Show date and time of savegame in Save/Load menu (@fabiangreffrath and @JNechaevsky). +* Suppress pause when a new game is started (@fabiangreffrath). -### Bug fixes - * Fixed an exception thrown by the Windows kernel when debugging with - GDB (thanks AXDOOMER). - * Loop metadata now works properly with music packs on Windows. - * Mouse movement is ignored when the game window isn't active (thanks - Julia Nechaevskaya). - * A bug was fixed where music would not play after pausing on an - intermission screen (thanks Julia Nechaevskaya). - * Timeouts when connecting to a network server were fixed (thanks - @bradc6). - * A long-standing bug where some visplane overflows caused crashes was - fixed (thanks Michael Francis). - * A multiplayer deadlock bug where clients would stop sending tics after - missing tics from the server was fixed. There are both client- and - server- side fixes to fix the problem when playing with older versions - (thanks MadDog and Mortrixs for help tracking this down). - * The macOS launcher now quits automatically when all windows are closed. - * The mouse speed calibration thermometer was fixed. - * Some improvements have been made to PC speaker emulation to better match - Vanilla (thanks NY00123). - * Filenames and paths with non-latin characters now work on Windows - (thanks Roman Fomin). - * Properly handle orphan carriage returns when parsing deh files - (thanks Michael Day). +**Crispy Hexen** +* Fix animation glitches seen on swiping weapons when Weapon Attack Alignment is + enabled. (@mikeday0). +* Display correct active artifact when loading game or entering a new level + (@mikeday0). +* Fix crash if save is attempted when game has not started (@JNechaevsky). +* Fix desync when running uncapped with polyobjects in level (@mikeday0). +* Add support for demo fast-forward (@kitchen-ace). +* Add support for True color rendering as compile-time option (@fabiangreffrath + and @JNechaevsky). +* Fix medusa effect (@mikeday0). +* Fix wall rendering visual glitch due to overflow (@JNechaevsky). +* Fix teleportation visual glitches when running uncapped (@JNechaevsky). +* Improve line drawing in automap overlay mode (@JNechaevsky). +* Apply brightmaps to Twined Torch, Skull with Flame and Brazier (@JNechaevsky). +* Interpolated sky scrolling in uncapped frame rate (@JNechaevsky). +* Allow multiple jumps over menu items with same first letters (@JNechaevsky). +* Show date and time of savegame in Save/Load menu (@fabiangreffrath and @JNechaevsky). +* Fix missing one pixel line at top and bottom of screen in transparent + drawing functions (@JNechaevsky). -### Doom - * Doom 1.2 demo support was added (thanks James Canete!) - * Map33 intermission screen and map33-map35 automap names are - emulated (thanks CapnClever). - * We now exit gracefully when player starts are missing (thanks Michael - Francis). - * We now exit gracefully on levels with a boss brain and no boss spitter - things (thanks Jason Benaim). - * It's now possible to play multiplayer with gameversion=1.2. - * When the game hits the limit for the number of wall scrollers, a count - of the number of scrollers is now displayed (thanks Jon). - * Sector special 17 (random light flicker) is now accurately emulated to - only appear in gameversion > 1.2 (thanks tpoppins). - * Fixed mouse events causing unwanted key presses (thanks Michael Day). - * French Doom II files doom2f.wad and french.deh are now automatically - detected (thanks Acts19quiz). - * Mouse buttons are now bindable to run (thanks Archenoth). - * The "Sky never changes in Doom II" bug is now accurately emulated - (thanks Michael Francis). - * Mouse buttons are now bindable to turn left/right (thanks Fabian). - * Fix possible undefined behavior and accurately emulate vanilla when -skill - parameter is given a negative value (thanks Henrique Jorge). +**Crispy Strife** +* Add flipped weapon sprites (@ceski-1). +* Misc Sound Fixes: Restore assault rifle PC speaker sound (@ceski-1). +* Fix automap marks disappearing near left side of screen (@JNechaevsky). +* Add support for True color rendering as compile-time option (@fabiangreffrath + and @JNechaevsky). +* Show date and time of savegame in Save/Load menu (@fabiangreffrath and @JNechaevsky). -### Heretic - * P\_FindNextHighestFloor was changed to match vanilla behavior (thanks - AXDOOMER). - * WAD hash table is now generated for speed (thanks Michael Francis). - * HHE level name replacements now apply on the intermission screen - (thanks ETTiNGRiNDER). - * Mouse buttons are now bindable to scroll through inventory and - "use artifact" (thanks Michael Day). - * Mouse buttons are now bindable to run (thanks Archenoth). - * Multiplayer demo playback was fixed (thanks Ryan Krafnick). - * The GOG.com release is now detected (thanks Mike Swanson). - * Mouse buttons are now bindable to turn left/right (thanks Fabian). - * Fix NULL backsector crash (thanks kitchen-ace and Julia Nechaevskaya). - -### Hexen - * ACS code has been hardened against potential security vulnerabilities. - * WAD hash table is now generated for speed (thanks AXDOOMER). - * Mouse buttons are now bindable to scroll through inventory and - "use artifact" (thanks Michael Day). - * Mouse buttons are now bindable to run (thanks Archenoth). - * Multiplayer demo playback was fixed (thanks Ryan Krafnick). - * The GOG.com release is now detected (thanks Mike Swanson). - * Mouse buttons are now bindable to turn left/right (thanks Fabian). - * Fixed demo desyncs in P_LookForPlayers (thanks Michael Day) - * Add support for two different v1.1 variants through -gameversion - argument (thank NY00123). - -### Strife - * Sehacked replacements of the "empty slot" string now work. - * VOICES.WAD is now found in a case-insensitive way (thanks Michael Francis). - * PC speaker sound effects are now supported (thanks ceski). - * Mouse buttons are now bindable to turn left/right (thanks Fabian). - * Fixed demo desyncs in P_LookForPlayers (thanks Michael Day) - * Fix possible undefined behavior and accurately emulate vanilla when -skill - parameter is given a negative value (thanks Henrique Jorge).