MrAlaux / Nugget-Doom

Nugget Doom is a fork of Woof! with additional features.
GNU General Public License v2.0
60 stars 3 forks source link
640x480 boom dehextra doom free-software mbf mbf21 sdl2 source-port umapinfo

# Nugget Doom

Nugget Doom is a fork of Woof!, simply intended to implement additional 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 of Nugget Doom. If you're seeking information on the version you're using, please refer to the documentation included with it.

DISCLAIMER

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!

Features

Note that this feature list is relative to Woof!'s; read the latter for more details. Some features were first implemented in Nugget Doom and later in Woof!, and so they're not listed here anymore.

Most of Nugget Doom's features come from other sources, like source ports and mods; the initial implementations for some are ported from (p.f.) said sources, while others are just inspired by (i.b.) them. These acknowledgements are included in the feature lists below; be aware that some might be inaccurate or outright missing.

A few settings are labeled as CFG-only: they can only be toggled by editing nugget-doom.cfg. For these settings, their CVAR names are provided alongside the CFG-only label as guidance.

General

Weapons

Status Bar/HUD

Automap

Enemies

Doom Compatibility settings

All of these are CFG-only, so their CVAR names are included.

Cheats

For more details, see the New Nugget Doom cheats section of docs/cheats.md.

Miscellaneous

Releases

Source code and Windows binaries (MSVC builds for Windows 7 and newer) for the latest release can be found on the Release page.

The most recent list of changes can be found in the Changelog.

A complete history of changes and releases can be found on the Releases page.

Versioning

Nugget Doom follows a fairly simple (albeit arbitrary) X.Y.Z versioning system:

Incrementing any of the first values will reset the latter (i.e. a major change to 1.1.2 would shift it to 2.0.0).

The merging of changes from Woof! releases may affect any of the version values, but not necessarily in the same way as Woof!'s own version (i.e. Woof! 11.Y.Z -> 12.Y.Z doesn't necessarily mean Nugget 2.Y.Z -> 3.Y.Z).

Compiling

As a Woof! fork, its build instructions should also apply here:

The Nugget Doom source code is available at GitHub: https://github.com/MrAlaux/Nugget-Doom.

Linux, and Windows with MSYS2

The following build system and libraries need to be installed:

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 nugget-doom
 mkdir build; cd build
 cmake ..
 make

After successful compilation the resulting binary can be found in the src/ directory.

Windows with Visual Studio

Visual Studio 2019 and VSCode 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 nugget-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.

Contact

The homepage for Nugget Doom is https://github.com/MrAlaux/Nugget-Doom.

Please report any bugs, glitches or crashes that you encounter to the GitHub Issue Tracker.

Acknowledgement

Help was provided by:

Thanks to all of you!

Legalese

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.
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: cmake/FindSDL2.cmake, cmake/FindSDL2_net.cmake
Copyright: © 2018 Alex Mayfield.
License: BSD-3-Clause

Files: data/nugget-doom.ico, data/nugget-doom.png, src/icon.c, data/setup.ico, data/nugget-doom-setup.png, setup/setup_icon.c
Copyright: © 2022 Korp.
License: CC BY-NC-SA 4.0

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