From 89daa45840809fe7c71d58fcbb3f87ecb236ab95 Mon Sep 17 00:00:00 2001 From: Mike Swanson Date: Sat, 11 Jan 2014 20:21:51 -0800 Subject: [PATCH] The Great IWAD Renaming: unique file names for Freedoom After some discussion and consensus[1], Freedoom's IWADs are now uniquely named independently of Doom's file names: * freedoom1.wad: Phase 1 * freedoom2.wad: Phase 2 The original intention was that Freedoom would be a complete drop-in replacement for Doom, so that you can just use Freedoom's doom2.wad rather than id Software's. What has happened, however, is that people often desire to have Freedoom installed alongside Doom, and try to uniquely identify it via filenames for multiplayer servers. This has resulted in lengthy lists of unofficial IWAD file names implemented by many engines to locate Freedoom, combined with gamers' personal opinions on just how they should be renamed. Even the Debian project, normally not one to modify upstream sources so drastically, has been renaming our doom2.wad to freedoom.wad, presumably so that Doom II can be installed simultaneously with game-data-packager. Given a free software engine, we can instead standardize on unique names apart from Doom and get the majority of engines in use changed over to these ones; users with engines that don't recognize the names can instead use the near-universal -iwad command-line parameter, or rename the files back to doom.wad or doom2.wad as needed. [1] http://www.doomworld.com/vb/freedoom/66856-bikeshedding-renaming-freedooms-iwads/ --- .gitignore | 8 +++---- BUILD-SYSTEM.asc | 27 +++++++++++------------ Makefile | 57 ++++++++++++++++++++++++------------------------ buildcfg.txt | 4 ++-- 4 files changed, 47 insertions(+), 49 deletions(-) diff --git a/.gitignore b/.gitignore index 2f8018fd..bad83f7d 100644 --- a/.gitignore +++ b/.gitignore @@ -7,10 +7,10 @@ lumps/cph/misc-lumps/playpal.lmp lumps/freedoom.lmp lumps/freedm.lmp sprites/jond/placeholder/*.gif -textures/doom/pnames.txt -textures/doom/texture1.txt -textures/doom2/pnames.txt -textures/doom2/texture1.txt +textures/phase1/pnames.txt +textures/phase1/texture1.txt +textures/phase2/pnames.txt +textures/phase2/texture1.txt textures/freedm/pnames.txt textures/freedm/texture1.txt textures/texture1.txt diff --git a/BUILD-SYSTEM.asc b/BUILD-SYSTEM.asc index 13d791f3..587cd088 100644 --- a/BUILD-SYSTEM.asc +++ b/BUILD-SYSTEM.asc @@ -54,10 +54,9 @@ following diagram illustrates the process: The following are the resulting WAD files generated by the build system: - * +doom2.wad+: Doom II IWAD file. - * +doom.wad+: ``Ultimate'' Doom I IWAD file. - * +freedm.wad+: FreeDM IWAD file, containing deathmatch levels, and - with all monsters replaced by dummy graphics. + * +freedoom1.wad+: Phase 1, the _Ultimate Doom_ IWAD file. + * +freedoom2.wad+: Phase 2, the _Doom II_ IWAD file. + * +freedm.wad+: FreeDM IWAD file, containing deathmatch levels == Source configuration files @@ -114,12 +113,12 @@ Several different +texture1.txt+ files are generated for the different WAD files that are built: [frame="topbot",grid="none",options="header"] -|=============================================================== -| Filename | WAD File | CPP Variables -| +textures/doom2/texture1.txt+ | +doom2.wad+ | DOOM1, DOOM2 -| +textures/doom/texture1.txt+ | +doom.wad+ | DOOM1, ULTDOOM -| +textures/freedm/texture1.txt+ | +freedm.wad+ | FREEDM -|=============================================================== +|================================================================== +| Filename | WAD File | CPP Variables +| +textures/phase1/texture1.txt+ | +freedoom1.wad+ | DOOM1, ULTDOOM +| +textures/phase2/texture1.txt+ | +freedoom2.wad+ | DOOM1, DOOM2 +| +textures/freedm/texture1.txt+ | +freedm.wad+ | FREEDM +|================================================================== === +pnames.txt+ @@ -133,8 +132,8 @@ WAD files that are built: [frame="topbot",grid="none",options="header"] |=============================================================== | Filename | WAD File -| +textures/doom2/texture1+ | +doom2.wad+ and resource WADs -| +textures/doom/texture1+ | +doom.wad+ +| +textures/phase1/texture1+ | +freedoom1.wad+ +| +textures/phase2/texture1+ | +freedoom2.wad+ and resource WADs | +textures/freedm/texture1+ | +freedm.wad+ |=============================================================== @@ -151,9 +150,9 @@ WAD files that are built: |=============================================================== | Filename | WAD File | CPP Variables | +wadinfo.txt+ | Resource WAD files | DOOM2 -| +wadinfo_iwad.txt+ | +doom2.wad+ | DOOM2 +| +wadinfo_phase2.txt+ | +freedoom1.wad+ | DOOM1, ULTDOOM +| +wadinfo_phase2.txt+ | +freedoom2.wad+ | DOOM2 | +wadinfo_freedm.txt+ | +freedm.wad+ | FREEDM -| +wadinfo_ult.txt+ | +doom.wad+ | DOOM1, ULTDOOM |=============================================================== +wadinfo.txt+ differs from the others in that the '-dummy' option is diff --git a/Makefile b/Makefile index 4683d792..cfc2a77d 100644 --- a/Makefile +++ b/Makefile @@ -34,8 +34,8 @@ DEUTEX=deutex DEUTEX_BASIC_ARGS=-v0 -fullsnd -rate accept -rgb 0 255 255 DEUTEX_ARGS=$(DEUTEX_BASIC_ARGS) -doom2 bootstrap/ -FREEDOOM1=$(WADS)/doom.wad -FREEDOOM2=$(WADS)/doom2.wad +FREEDOOM1=$(WADS)/freedoom1.wad +FREEDOOM2=$(WADS)/freedoom2.wad FREEDM=$(WADS)/freedm.wad OBJS=$(FREEDM) $(FREEDOOM1) $(FREEDOOM2) @@ -53,31 +53,31 @@ force: # build texture1.txt for different builds -textures/doom2/texture1.txt: textures/combined.txt - @mkdir -p textures/doom2 - $(CPP) -DDOOM1 -DDOOM2 < $< > $@ -textures/doom/texture1.txt: textures/combined.txt - @mkdir -p textures/doom +textures/phase1/texture1.txt: textures/combined.txt + @mkdir -p textures/phase1 $(CPP) -DDOOM1 -DULTDOOM < $< > $@ +textures/phase2/texture1.txt: textures/combined.txt + @mkdir -p textures/phase2 + $(CPP) -DDOOM1 -DDOOM2 < $< > $@ textures/freedm/texture1.txt: textures/combined.txt @mkdir -p textures/freedm $(CPP) -DFREEDM < $< > $@ -textures/doom/pnames.txt: textures/doom/texture1.txt +textures/phase1/pnames.txt: textures/phase1/texture1.txt scripts/extract-pnames.py -a > $@ -textures/doom2/pnames.txt: textures/doom2/texture1.txt +textures/phase2/pnames.txt: textures/phase2/texture1.txt scripts/extract-pnames.py -a > $@ textures/freedm/pnames.txt: textures/freedm/texture1.txt scripts/extract-pnames.py -a > $@ # update wadinfo.txt -wadinfo.txt: buildcfg.txt force textures/doom2/pnames.txt +wadinfo.txt: buildcfg.txt force textures/phase2/pnames.txt $(CPP) -P -DDOOM2 < $< | scripts/wadinfo-builder.py > $@ -wadinfo_iwad.txt: buildcfg.txt force textures/doom2/pnames.txt - $(CPP) -P -DDOOM2 < $< | scripts/wadinfo-builder.py -dummy > $@ -wadinfo_ult.txt: buildcfg.txt force textures/doom/pnames.txt +wadinfo_phase1.txt: buildcfg.txt force textures/phase1/pnames.txt $(CPP) -P -DDOOM1 -DULTDOOM < $< | scripts/wadinfo-builder.py -dummy > $@ +wadinfo_phase2.txt: buildcfg.txt force textures/phase2/pnames.txt + $(CPP) -P -DDOOM2 < $< | scripts/wadinfo-builder.py -dummy > $@ wadinfo_freedm.txt : buildcfg.txt force textures/freedm/pnames.txt $(CPP) -P -DFREEDM < $< | scripts/wadinfo-builder.py -dummy > $@ @@ -101,22 +101,22 @@ $(FREEDM): wadinfo_freedm.txt subdirs force $(DEUTEX) $(DEUTEX_ARGS) -iwad -build wadinfo_freedm.txt $@ #--------------------------------------------------------- -# doom2 iwad +# phase 1 (udoom) iwad -$(FREEDOOM2): wadinfo_iwad.txt subdirs force +$(FREEDOOM1): wadinfo_phase1.txt subdirs force @mkdir -p $(WADS) - ln -sf doom2/texture1.txt textures/texture1.txt + ln -sf phase1/texture1.txt textures/texture1.txt rm -f $@ - $(DEUTEX) $(DEUTEX_ARGS) -iwad -textures -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_iwad.txt $@ + $(DEUTEX) $(DEUTEX_ARGS) -iwad -textures -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_phase1.txt $@ #--------------------------------------------------------- -# udoom iwad +# phase 2 (doom2) iwad -$(FREEDOOM1): wadinfo_ult.txt subdirs force +$(FREEDOOM2): wadinfo_phase2.txt subdirs force @mkdir -p $(WADS) - ln -sf doom/texture1.txt textures/texture1.txt + ln -sf phase2/texture1.txt textures/texture1.txt rm -f $@ - $(DEUTEX) $(DEUTEX_ARGS) -iwad -textures -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_ult.txt $@ + $(DEUTEX) $(DEUTEX_ARGS) -iwad -textures -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_phase2.txt $@ doc: BUILD-SYSTEM.asc README.asc asciidoc BUILD-SYSTEM.asc @@ -131,19 +131,18 @@ dist: $(OBJS) doc clean: rm -f *.html deutex.log $(OBJS) \ - ./wadinfo.txt ./wadinfo_sw.txt \ - ./wadinfo_freedm.txt ./wadinfo_iwad.txt \ - ./wadinfo_ult.txt \ + ./wadinfo.txt ./wadinfo_phase1.txt \ + ./wadinfo_phase2.txt ./wadinfo_freedm.txt \ ./lumps/freedoom.lmp \ ./lumps/freedm.lmp \ - ./textures/doom/pnames.txt \ - ./textures/doom/texture1.txt \ - ./textures/doom2/pnames.txt \ - ./textures/doom2/texture1.txt \ + ./textures/phase1/pnames.txt \ + ./textures/phase1/texture1.txt \ + ./textures/phase2/pnames.txt \ + ./textures/phase2/texture1.txt \ ./textures/freedm/pnames.txt \ ./textures/freedm/texture1.txt \ ./textures/texture1.txt - -rmdir $(WADS) textures/doom textures/doom2 textures/freedm + -rmdir $(WADS) textures/phase1 textures/phase2 textures/freedm make -C lumps clean make -C graphics/text clean diff --git a/buildcfg.txt b/buildcfg.txt index 4015b2b8..34f17d97 100644 --- a/buildcfg.txt +++ b/buildcfg.txt @@ -2528,7 +2528,7 @@ YSKUB0 7 18 [patches] #ifdef ULTDOOM -#include "textures/doom/pnames.txt" +#include "textures/phase1/pnames.txt" #endif #ifdef DOOM2 @@ -2536,7 +2536,7 @@ YSKUB0 7 18 #ifdef FREEDM #include "textures/freedm/pnames.txt" #else -#include "textures/doom2/pnames.txt" +#include "textures/phase2/pnames.txt" #endif #endif