Skip to content

Commit

Permalink
cp CHANGELOG.md RELEASE_NOTES.md
Browse files Browse the repository at this point in the history
  • Loading branch information
fabiangreffrath committed Aug 9, 2024
1 parent 84fa41b commit 0969ede
Showing 1 changed file with 107 additions and 166 deletions.
273 changes: 107 additions & 166 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -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:
<https://doomwiki.org/wiki/Romero_Blue> 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).

0 comments on commit 0969ede

Please sign in to comment.