diff --git a/.gitignore b/.gitignore index 19465e8c..c459988b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,7 @@ .DS_Store .\#* \#*\# -wad*.txt +wadinfo_*.txt doom.gpl # Per directory patterns to ignore. These do not apply recursively to @@ -62,6 +62,7 @@ doom.gpl /lumps/freedoom.lmp /lumps/genmidi.lmp /lumps/playpal.lmp +/lumps/*wdinf.lmp /lumps/colormap/*.lmp diff --git a/Makefile b/Makefile index 80f5911b..4fdcea7d 100644 --- a/Makefile +++ b/Makefile @@ -34,6 +34,7 @@ subdirs: $(MAKE) -C lumps/genmidi $(MAKE) -C lumps/dmxgus $(MAKE) -C lumps/textures + $(MAKE) -C lumps/wadinfo $(MAKE) -C bootstrap @@ -159,6 +160,7 @@ clean: $(MAKE) -C lumps/genmidi clean $(MAKE) -C lumps/dmxgus clean $(MAKE) -C lumps/textures clean + $(MAKE) -C lumps/wadinfo clean $(MAKE) -C manual clean # Test targets some of which are a dependency of "test". diff --git a/lumps/fdmwdinf.lmp b/lumps/fdmwdinf.lmp deleted file mode 100644 index cbf2b2ed..00000000 --- a/lumps/fdmwdinf.lmp +++ /dev/null @@ -1,94 +0,0 @@ -=========================================================================== -Advanced engine needed : Vanilla-compatible -Primary purpose : Deathmatch -=========================================================================== -Title : FreeDM -Filename : freedm.wad -Release date : 2024-01-29 -Author : The Freedoom Project -Version : 0.13.0 -Other Files By Author : Freedoom: Phase 1, Freedoom: Phase 2 -Misc. Author Info : Contributors to the Freedoom Project - -Description : A 32-level game designed for competitive deathmatch - play. - The Freedoom project aims to provide all the - content needed to form a complete, entirely - free/libre game for the Doom engine. It is designed - to be compatible with most custom levels, music, - graphics and other modifications (mods) made for - the original Doom games by Doom fans and artists - over the decades. - -Additional Credits to : See the CREDITS file -=========================================================================== -* What is included * - -New levels : 32 -Sounds : Yes -Music : Yes -Graphics : Yes -Dehacked/BEX Patch : Yes -Demos : Yes -Other : No -Other files required : None - - -* Play Information * - -Game : Doom 2 -Single Player : Player starts only -Cooperative 2-4 Player : Player starts only -Deathmatch 2-4 Player : Designed for -Other game styles : None -Difficulty Settings : Not implemented - - -* Construction * - -Base : New from scratch -Build Time : Since 2001 -Editor(s) used : DeuTex -Known Bugs : Please report bugs to - https://github.com/freedoom/freedoom/issues -May Not Run With : None -Tested With : Chocolate Doom, Crispy Doom, Odamex, GZDoom - - -* Copyright / Permissions * - -Copyright © 2001-2024 -Contributors to the Freedoom project. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the Freedoom project nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS -IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -For a list of contributors to the Freedoom project, see the file -CREDITS. - -* Where to get the file that this text file describes * - -The Usual: ftp://archives.gamers.org/pub/idgames/ and mirrors -Web sites: https://freedoom.github.io/ diff --git a/lumps/p2_wdinf.lmp b/lumps/p2_wdinf.lmp deleted file mode 100644 index 92854417..00000000 --- a/lumps/p2_wdinf.lmp +++ /dev/null @@ -1,95 +0,0 @@ -=========================================================================== -Advanced engine needed : Vanilla-compatible -Primary purpose : Single + coop play -=========================================================================== -Title : Freedoom: Phase 2 -Filename : freedoom2.wad -Release date : 2024-01-29 -Author : The Freedoom Project -Version : 0.13.0 -Other Files By Author : Freedoom: Phase 1, FreeDM -Misc. Author Info : Contributors to the Freedoom Project - -Description : 32 levels in one long episode, featuring extra - monsters and a double-barrelled shotgun. This - project aims for compatibility with Doom II mods. - The Freedoom project aims to provide all the - content needed to form a complete, entirely - free/libre game for the Doom engine. It is designed - to be compatible with most custom levels, music, - graphics and other modifications (mods) made for - the original Doom games by Doom fans and artists - over the decades. - -Additional Credits to : See the CREDITS file -=========================================================================== -* What is included * - -New levels : 32 -Sounds : Yes -Music : Yes -Graphics : Yes -Dehacked/BEX Patch : Yes -Demos : Yes -Other : No -Other files required : None - - -* Play Information * - -Game : Doom 2 -Single Player : Designed for -Cooperative 2-4 Player : Designed for -Deathmatch 2-4 Player : Designed for -Other game styles : None -Difficulty Settings : Not implemented - - -* Construction * - -Base : New from scratch -Build Time : Since 2001 -Editor(s) used : DeuTex -Known Bugs : Please report bugs to - https://github.com/freedoom/freedoom/issues -May Not Run With : None -Tested With : Chocolate Doom, Crispy Doom, Odamex, GZDoom - - -* Copyright / Permissions * - -Copyright © 2001-2024 -Contributors to the Freedoom project. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the Freedoom project nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS -IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -For a list of contributors to the Freedoom project, see the file -CREDITS. - -* Where to get the file that this text file describes * - -The Usual: ftp://archives.gamers.org/pub/idgames/ and mirrors -Web sites: https://freedoom.github.io/ diff --git a/lumps/wadinfo/Makefile b/lumps/wadinfo/Makefile new file mode 100644 index 00000000..0549cc04 --- /dev/null +++ b/lumps/wadinfo/Makefile @@ -0,0 +1,15 @@ +CPP=../../scripts/simplecpp + +all: ../fdmwdinf.lmp ../p1_wdinf.lmp ../p2_wdinf.lmp + +../fdmwdinf.lmp: wadinfo.txt + $(CPP) -DFREEDM < $< > $@ + +../p1_wdinf.lmp: wadinfo.txt + $(CPP) -DPHASE1 < $< > $@ + +../p2_wdinf.lmp: wadinfo.txt + $(CPP) -DPHASE2 < $< > $@ + +clean: + $(RM) ../fdmwdinf.lmp ../p1_wdinf.lmp ../p2_wdinf.lmp diff --git a/lumps/wadinfo/README b/lumps/wadinfo/README new file mode 100644 index 00000000..ec3ee847 --- /dev/null +++ b/lumps/wadinfo/README @@ -0,0 +1,11 @@ +This directory contains the source wadinfo text file used for Freedoom. + +WadInfo (not to be confused with DeuTex wadinfo) is a traditional +text file format distributed with Doom wads. It contains information +about the authors, the contents of the WAD, the requirements for +running it, and permissions for use. +Freedoom embeds one in each of its IWADs to ensure that the information +reaches all players. + +The Makefile in this directory splits the wadinfo into three parts +for each IWAD to match their description and technical details. diff --git a/lumps/p1_wdinf.lmp b/lumps/wadinfo/wadinfo.txt similarity index 79% rename from lumps/p1_wdinf.lmp rename to lumps/wadinfo/wadinfo.txt index e3d91428..b928eb07 100644 --- a/lumps/p1_wdinf.lmp +++ b/lumps/wadinfo/wadinfo.txt @@ -1,19 +1,52 @@ =========================================================================== Advanced engine needed : Vanilla-compatible +#ifndef FREEDM Primary purpose : Single + coop play +#else +Primary purpose : Deathmatch +#endif =========================================================================== +#ifndef FREEDM +#ifdef PHASE1 Title : Freedoom: Phase 1 Filename : freedoom1.wad +#else +Title : Freedoom: Phase 2 +Filename : freedoom2.wad +#endif +#else +Title : FreeDM +Filename : freedm.wad +#endif Release date : 2024-01-29 Author : The Freedoom Project Version : 0.13.0 +#ifndef FREEDM +#ifdef PHASE1 Other Files By Author : Freedoom: Phase 2, FreeDM +#else +Other Files By Author : Freedoom: Phase 1, FreeDM +#endif +#else +Other Files By Author : Freedoom: Phase 1, Freedoom: Phase 2 +#endif Misc. Author Info : Contributors to the Freedoom Project +#ifndef FREEDM +#ifdef PHASE1 Description : Four episodes, nine levels each, totalling 36 levels. This game aims for compatibility with The Ultimate Doom mods, also known as plain Doom or Doom 1. +#else +Description : 32 levels in one long episode, featuring extra + monsters and a double-barrelled shotgun. This + project aims for compatibility with Doom II mods. +#endif +#else +Description : A 32-level game designed for competitive deathmatch + play. +#endif The Freedoom project aims to provide all the content needed to form a complete, entirely free/libre game for the Doom engine. It is designed @@ -26,7 +59,11 @@ Additional Credits to : See the CREDITS file =========================================================================== * What is included * +#ifdef PHASE1 New levels : 36 +#else +New levels : 32 +#endif Sounds : Yes Music : Yes Graphics : Yes @@ -38,9 +75,18 @@ Other files required : None * Play Information * +#ifdef PHASE1 Game : Doom +#else +Game : Doom 2 +#endif +#ifndef FREEDM Single Player : Designed for Cooperative 2-4 Player : Designed for +#else +Single Player : Player starts only +Cooperative 2-4 Player : Player starts only +#endif Deathmatch 2-4 Player : Designed for Other game styles : None Difficulty Settings : Not implemented