Permalink
Browse files

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/
1 parent 91890ea commit 89daa45840809fe7c71d58fcbb3f87ecb236ab95 @chungy chungy committed Jan 12, 2014
Showing with 47 additions and 49 deletions.
  1. +4 −4 .gitignore
  2. +13 −14 BUILD-SYSTEM.asc
  3. +28 −29 Makefile
  4. +2 −2 buildcfg.txt
View
@@ -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
View
@@ -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
View
@@ -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
View
@@ -2528,15 +2528,15 @@ YSKUB0 7 18
[patches]
#ifdef ULTDOOM
-#include "textures/doom/pnames.txt"
+#include "textures/phase1/pnames.txt"
#endif
#ifdef DOOM2
#ifdef FREEDM
#include "textures/freedm/pnames.txt"
#else
-#include "textures/doom2/pnames.txt"
+#include "textures/phase2/pnames.txt"
#endif
#endif

0 comments on commit 89daa45

Please sign in to comment.