forked from chocolate-doom/chocolate-doom
-
Notifications
You must be signed in to change notification settings - Fork 132
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
84fa41b
commit 0969ede
Showing
1 changed file
with
107 additions
and
166 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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). |