Cherry Doom is a fork of Nugget Doom intended to add even more features.
Note: this README and the rest of documentation are updated on a per-commit basis, meaning that they may not correspond to the latest release.
If you're seeking information on the version you're using, please refer to the documentation included with it.
Although the new code has been written with the intention of not breaking demo compatibility, it has not been properly tested yet. RECORD DEMOS AT YOUR OWN RISK!
Important notes:
- This feature list is relative to Nugget Doom's
- Some of Cherry Doom's features originate from other sources; acknowledgements are provided (ported from [p.f.] or inspired by [i.b.])
- Some config variables (CVARs) don't have a corresponding menu item and can only be changed by editing
cherry-doom.cfg
. These are marked as "CFG-only" and the CVAR name is included for guidance
- Mute Inactive Window setting [p.f. International Doom]
- Floating Powerups setting [p.f. International Doom]
- Rocket Trails setting [partially p.f. Doom Retro]
- Customize smoke particle spawn rate and translucency via CFG-only CVARs:
rocket_trails_interval
androcket_trails_tran
respectively
- Customize smoke particle spawn rate and translucency via CFG-only CVARs:
- Mouselook option for the Stretch Short Skies setting, enabling sky stretching only with mouselook active
- Less Blinding Tints setting (by @Spaicrab)
- Setting to adjust intermission kill percentage to meet UV max speedrun requirements (CFG-only:
inter_accurate_kill_count
)- Ensures that resurrected and Icon of Sin-spawned monsters do not increase the kill count. Maps without monsters display 100% kill completion
- Maps without items display 100% item completion
- Disable On Slot 1 setting [i.b. Precise Crosshair mod]
- Detection of Targets in Darkness setting, with required light level customizable via the CFG-only CVAR
hud_crosshair_dark_level
[i.b. Target Spy mod]
- Blood Amount Scales With Damage setting [i.b. Doom Retro]
- Menu items, disabled due to acive compatibility options, now include hints, explaining the reason for their unavailability
- Most setup menus have been reorganized using a new scrollable subpages feature for easier navigation
- Disable Stats Tracking setting for the Custom Skill
The Level Table, inspired by and initially ported from DSDA-Doom, tracks WAD level progress, including statistics like skill level, kills, items, secrets, and time, has a summary screen with overall statistics for the current WAD, and allows you to warp to any map.
Compared to DSDA-Doom's implementation, there are a few notable additions and changes:
- Toggleable stats tracking (CFG-only:
lt_enable_tracking
) - Command line parameter to temporarily disable stats tracking (
-notracking
) - Option to track kills and time for maps not beaten from a pistol start (CFG-only:
lt_track_continuous
)- Enabled by default; disabling replicates older (pre-2.0.0) behavior.
- Option to reset stats for the current level upon achieving a new best skill, excluding Nightmare (CFG-only:
lt_reset_on_higher_skill
)- Enabled by default; disabling replicates older behavior.
- Ability to view and warp to all loaded maps, not just those from the last-loaded WAD, grouped by WAD filename
- Stats tracking excludes WADs without maps when creating data folders for stats files
- Level Table Stats Format setting (CFG-only:
lt_stats_format
) - Press
Del
to erase selected map stats - "Reset to defaults" button repurposed for erasing current WAD stats
- Various visual enhancements
The Cherry Doom source code is available at GitHub: https://github.com/xemonix0/Cherry-Doom.
It can be cloned via
git clone https://github.com/xemonix0/Cherry-Doom.git
The following build system and libraries need to be installed:
- CMake (>= 3.9)
- SDL2 (>= 2.0.18)
- SDL2_net
- openal-soft (>= 1.22.0 for PC Speaker emulation)
- libsndfile (>= 1.1.0 for MPEG support)
- libebur128 (>= 1.2.0)
- yyjson (>= 0.10.0, optional)
- fluidsynth (>= 2.2.0, optional)
- libxmp (optional)
Usually your distribution should have the corresponding packages in its repositories, and if your distribution has "dev" versions of those libraries, those are the ones you'll need.
Once installed, compilation should be as simple as:
cd cherry-doom
mkdir build; cd build
cmake ..
make
After successful compilation the resulting binary can be found in the src/
directory.
Visual Studio 2022 comes with built-in support for CMake by opening the source tree as a folder.
Install vcpkg https://github.com/Microsoft/vcpkg#quick-start-windows. Integrate it into CMake or use toolchain file:
cd cherry-doom
cmake -B build -DCMAKE_TOOLCHAIN_FILE="[path to vcpkg]/scripts/buildsystems/vcpkg.cmake"
cmake --build build
CMake will automatically download and build all dependencies for you.
Files: *
Copyright:
© 1993-1996 Id Software, Inc.;
© 1993-2008 Raven Software;
© 1999 by id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman;
© 1999-2004 by Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze;
© 2004 James Haley;
© 2005-2006 by Florian Schulze, Colin Phipps, Neil Stevens, Andrey Budko;
© 2005-2018 Simon Howard;
© 2006 Ben Ryves;
© 2007-2011 Moritz "Ripper" Kroll;
© 2008-2019 Simon Judd;
© 2017 Christoph Oelckers;
© 2019 Fernando Carmona Varo;
© 2020 Alex Mayfield;
© 2020 JadingTsunami;
© 2020-2024 Fabian Greffrath;
© 2020-2024 Roman Fomin;
© 2021-2022 Ryan Krafnick;
© 2021-2024 Alaux;
© 2022 Julia Nechaevskaya;
© 2022-2024 ceski;
© 2023 Andrew Apted;
© 2023 liPillON;
© 2023-2024 Xemonix.
License: GPL-2.0+
Files: src/i_flickstick.*, src/i_gyro.*
Copyright:
© 2018-2021 Julian "Jibb" Smart;
© 2021-2024 Nicolas Lessard;
© 2024 ceski.
License: MIT
Files: src/nano_bsp.*
Copyright:
© 2023 Andrew Apted.
License: MIT
Files: src/u_scanner.*
Copyright:
© 2010 Braden "Blzut3" Obrzut;
© 2019 Fernando Carmona Varo.
License: BSD-3-Clause
Files: src/v_flextran.*
Copyright:
© 2013 James Haley et al.;
© 1998-2012 Marisa Heit.
License: GPL-3.0+
Files: src/v_video.*
Copyright:
© 1999 by id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman;
© 2013 James Haley et al.
License: GPL-3.0+
Files: src/wad_stats.*
Copyright: © 2021-2023 Ryan Krafnick.
License: GPL-2.0+
Files: base/all-all/sprites/pls*, man/simplecpp
Copyright:
© 2001-2019 Contributors to the Freedoom project.
License: BSD-3-Clause
Files: base/all-all/sprites/ngcha0.png, base/all-all/sprites/ngcla0.png, base/all-all/sprites/ngtr*0.png
Copyright:
© 2023-2024 Korp.
License: CC BY-SA 4.0
Files: base/all-all/dsdg*, base/all-all/sprites/dog*
Copyright:
© 2017 Nash Muhandes;
© apolloaiello;
© TobiasKosmos.
License: CC-BY-3.0 and CC0-1.0
Files: base/all-all/sm*.png
Copyright:
© 2024 Julia Nechaevskaya.
License: CC-BY-3.0
Files: base/all-all/sbardef.lmp
Copyright:
© 2024 Ethan Watson.
License: CC0-1.0
Files: base/all-all/dmxopl.op2
Copyright:
© 2017 Shannon Freeman.
License: MIT
Files: cmake/FindSDL2.cmake, cmake/FindSDL2_net.cmake
Copyright:
© 2018 Alex Mayfield.
License: BSD-3-Clause
Files: data/io.github.xemonix0.Cherry-Doom.metainfo.*
Copyright:
© 2023-2024 Fabian Greffrath.
License: CC0-1.0
Files: opl/*
Copyright:
© 2005-2014 Simon Howard;
© 2013-2018 Alexey Khokholov (Nuke.YKT).
License: GPL-2.0+
Files: soundfonts/TimGM6mb.sf2
Copyright:
© 2004 Tim Brechbill;
© 2010 David Bolton.
License: GPL-2.0
Files: textscreen/*
Copyright:
© 1993-1996 Id Software, Inc.;
© 2002-2004 The DOSBox Team;
© 2005-2017 Simon Howard.
License: GPL-2.0+
Files: third-party/md5/*
License: public-domain
Files: third-party/miniz/*
Copyright:
© 2010-2014 Rich Geldreich and Tenacious Software LLC;
© 2013-2014 RAD Game Tools and Valve Software.
License: MIT
Files: third-party/pffft/*
Copyright:
© 2004 The University Corporation for Atmospheric Research ("UCAR");
© 2013 Julien Pommier.
License: FFTPACK License
Files: third-party/sha1/*
Copyright:
© 1998-2001 Free Software Foundation, Inc.;
© 2005-2014 Simon Howard.
License: GPL-2.0+
Files: third-party/spng/*
Copyright:
© 2018-2023 Randy.
License: BSD-2-Clause
Files: third-party/yyjson/*
Copyright:
© 2020 YaoYuan.
License: MIT
Files: win32/win_opendir.*
Copyright:
© 2019 win32ports.
License: MIT