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 to note:
- This feature list is relative to Nugget Doom's
- Some of Cherry Doom's features come from other sources. The initial implementations for those are ported from (p.f.) or inspired by (i.b.) said sources. These acknowledgements are included in the feature list
- Some config variables (CVARs) don't have a corresponding menu item and can only be changed by editing
cherry-doom.cfg
. For these, a "CFG-only" label is present 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 [p.f. Doom Retro] (with extended customization via the Rocket Trails Interval and Smoke Translucency settings)
- Just like in Doom Retro, rocket trails are disabled if a DSDHacked patch replaces the rocket smoke thing definition or any of its states or sprites
- Mouselook option for the Stretch Short Skies setting to enable sky stretching only when mouselook is enabled
- Less Blinding Tints setting
- Settings to show Health & Armor and Weapons widgets alongside the detailed time widget
- Setting to adjust intermission kill percentage to follow UV max speedrun requirements (CFG-only:
inter_accurate_kill_count
)- Specifically, it prevents resurrected and Icon of Sin-spawned monsters from increasing the totals, and also makes 100% show up for maps without monsters
- Items percentage is now 100% on maps without items
- Movement widget: shows the current player movement and strafing speeds
- Disable On Slot 1 setting [i.b. Precise Crosshair mod]
- Detection of Targets in Darkness setting (the required light level is customizable through the CFG-only
hud_crosshair_dark_level
CVAR) [i.b. Target Spy mod]
- Blood Amount Scales With Damage setting [i.b. Doom Retro]
- Hints for some disabled menu items, explaining the reason they are disabled
- Most setup menus have been rearranged (utilizing the new scrollable subpages feature) to make navigation easier
- Disable Stats Tracking setting for the custom skill
The Level Table, inspired by (and initially ported from) DSDA-Doom, provides a way to track your progress across the levels of a WAD.
This feature tracks statistics, such as the skill level, kills, items, secrets and time, and allows you to see all that information in one place (including a Summary screen, with overall statistics for the current WAD), also giving you the ability to warp to any map conveniently from the same screen.
Compared to DSDA-Doom's implementation, there are a few notable additions and changes:
- Setting to toggle stats tracking (CFG-only:
lt_enable_tracking
) - Command line parameter to disable stats tracking (
-notracking
)- This can be used as a temporary alternative to the
lt_enable_tracking
CVAR
- This can be used as a temporary alternative to the
- Setting to toggle tracking kills and time for maps not beaten from a pistol start (CFG-only:
lt_track_continuous
)- This setting is enabled by default; the old behavior (before 2.0.0 and in DSDA-Doom) is equivalent to it being disabled
- Setting to toggle resetting stats for the current level upon beating the level on a new best skill (except Nightmare) (CFG-only:
lt_reset_on_higher_skill
)- This setting is enabled by default; the old behavior is equivalent to it being disabled
- The ability to see (and warp to, but not track stats for) all loaded maps (not just maps from the WAD that is the last in the load order), grouped by WAD filename
- Stats tracking now ignores 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
- WAD stats are now written to the file every time a level is beaten, and not just when you quit the game
- Various visual changes
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)
- 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 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/beta.h
Copyright: © 2001-2019 Contributors to the Freedoom project.
License: BSD-3-Clause
Files: src/dogs.h
Copyright:
© 2017 Nash Muhandes;
© apolloaiello;
© TobiasKosmos.
License: CC-BY-3.0 and CC0-1.0
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: cmake/FindSDL2.cmake, cmake/FindSDL2_net.cmake
Copyright: © 2018 Alex Mayfield.
License: BSD-3-Clause
Files: miniz/*
Copyright:
© 2010-2014 Rich Geldreich and Tenacious Software LLC;
© 2013-2014 RAD Game Tools and Valve Software.
License: MIT
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: win32/win_opendir.*
License: public-domain