textures: Add Doom 1 versions of conflicting textures.

Some textures which appear in both doom.wad and doom2.wad are defined
differently in each. We were always using the same definition in both
Phase 1 and Phase 2, causing compatibility problems with some levels
which expected a particular version of the texture.

To resolve, add both versions of the conflicting textures, controlled by
a new DOOM1_VERSIONS #define that allows which the version to be
selected. Use the doom.wad versions for Freedoom: Phase 1, and the
doom2.wad versions for Freedoom: Phase 2. This resolves part of #194.
This commit is contained in:
Simon Howard 2015-12-24 17:12:13 +01:00
parent 0ba0dbaa84
commit 0822248318
2 changed files with 179 additions and 122 deletions

View file

@ -4,7 +4,8 @@ CPP=../../scripts/simplecpp
all: phase1/texture1.lmp phase2/texture1.lmp freedm/texture1.lmp
phase1/texture1.lmp: textures.cfg
$(CPP) -DDOOM1 -DULTDOOM < textures.cfg | \
$(CPP) -DDOOM1 -DULTDOOM -DDOOM1_VERSIONS \
< textures.cfg | \
./build-textures -compat_texture1=doom1/texture1.txt \
-compat_texture2=doom1/texture2.txt \
-compat_pnames=doom1/pnames.txt \

View file

@ -12,6 +12,9 @@
; DOOM2 - Include textures that were available in doom2.wad
; ULTDOOM - Include doom.wad textures added in the Ultimate Doom
; FREEDM - Include extra textures used in FreeDM
; DOOM1_VERSIONS - Some textures differ between doom.wad and doom2.wad
; versions. Usually we use the doom2.wad version; this
; specifies to use the doom.wad version instead.
;
; Usually we always build with -DDOOM1 -DDOOM2 regardless of the IWAD
; being built: there's no reason not to include the full set of textures
@ -1552,7 +1555,181 @@ ZZZFACE9 256 128
#endif
; These textures are in both Doom 1 and Doom 2, but the texture
; definitions do not match between the two.
#ifdef DOOM1_VERSIONS
BIGDOOR7 128 128
* W105_1 -4 -4
* W105_1 124 -4
BRNPOIS 64 128
* WALL62_2 0 0
* PS20A0 1 60
NUKEPOIS 64 128
* WALL04_3 0 0
* WALL04_4 16 0
* WALL04_5 32 0
* WALL04_2 48 0
* NUKEDGE 0 104
* WALL04_3 0 33
* WALL04_4 16 33
* WALL04_5 32 33
* WALL04_2 48 33
* PS20A0 -1 68
SHAWN1 128 128
* W13_1 64 56
* W13_1 0 56
* CYL1_1 0 0
* WALL01_1 118 0
* WALL01_1 117 56
STEP1 32 8
* STEP04 0 0
STEP2 32 8
* STEP03 0 0
STEP3 32 8
* STEP05 0 0
STEP5 32 16
* STEP09 0 0
* STEP09 0 8
SKY1 256 128
* SKY1 0 0
SKY2 256 128
* SKY2 0 0
SKY3 256 128
* SKY3 0 0
SW1BRN1 64 128
* WALL02_2 0 56
* WALL02_2 0 0
* SW3S0 16 75
SW1STARG 128 128
* SW19_3 64 0
* SW19_4 0 0
* SW3S0 48 76
SW1STON2 64 128
* W28_5 0 0
* W28_8 0 64
* WARNB0 24 73
SW1STONE 64 128
* WALL01_1 0 0
* WALL01_2 16 0
* WALL01_3 32 0
* WALL01_4 48 0
* WALL01_1 0 72
* WALL01_2 16 72
* WALL01_3 32 72
* WALL01_4 48 72
* W33_8 0 64
* W33_8 0 120
* SW1S0 16 72
SW2BRN1 64 128
* STEP07 32 72
* STEP07 0 72
* WALL02_2 0 56
* WALL02_2 0 0
* SW3S1 16 75
SW2STARG 128 128
* SW19_3 64 0
* SW19_4 0 0
* SW3S1 48 76
SW2STON2 64 128
* W28_8 0 64
* WARNA0 24 73
* W28_5 0 0
SW2STONE 64 128
* WALL01_1 0 0
* WALL01_2 16 0
* WALL01_3 32 0
* WALL01_4 48 0
* WALL01_1 0 72
* WALL01_2 16 72
* WALL01_3 32 72
* WALL01_4 48 72
* W33_8 0 64
* W33_8 0 120
* SW1S1 16 72
#else
; Doom 2 versions of these textures:
BIGDOOR7 128 128
* W105_1 -5 0
* W105_1 123 0
BRNPOIS 128 128
* WALL62_2 0 0
* PS20A0 1 60
* WALL62_2 64 0
NUKEPOIS 128 128
* WALL04_3 0 0
* WALL04_4 16 0
* WALL04_5 32 0
* WALL04_2 48 0
* NUKEDGE 0 104
* WALL04_3 0 33
* WALL04_4 16 33
* WALL04_5 32 33
* WALL04_2 48 33
* PS20A0 0 69
* WALL04_2 64 0
* WALL04_3 80 0
* WALL04_4 112 0
* WALL04_7 96 0
* WALL04_2 112 72
* WALL04_3 96 72
* WALL04_4 80 72
* WALL04_5 64 64
* NUKEDGE 64 105
SHAWN1 128 128
* W13_1 64 56
* W13_1 64 0
* W13_1 0 56
* CYL1_1 0 0
STEP1 32 16
* STEP05 0 8
* STEP05 0 5
* STEP04 0 0
STEP2 32 16
* SW11_4 0 -112
* STEP03 0 0
STEP3 32 16
* STEP05 0 8
* STEP05 0 0
STEP5 32 16
* STEP09 0 0
* STEP08 0 8
SKY1 256 128
* RSKY1 0 0
SKY2 256 128
* RSKY2 0 0
SKY3 256 128
* RSKY3 0 0
SW1BRN1 128 128
* WALL62_1 0 0
* SW1S0 48 72
SW1STARG 128 128
* WALL62_1 0 0
* SW1S0 48 72
SW1STON2 128 128
* WALL62_1 0 0
* SW1S0 48 72
SW1STONE 128 128
* WALL62_1 0 0
* SW1S0 48 72
SW2BRN1 128 128
* WALL62_1 0 0
* SW1S1 48 72
SW2STARG 128 128
* WALL62_1 0 0
* SW1S1 48 72
SW2STON2 128 128
* WALL62_1 0 0
* SW1S1 48 72
SW2STONE 128 128
* WALL62_1 0 0
* SW1S1 48 72
#endif
BFALL 64 128
@ -1582,9 +1759,6 @@ BIGDOOR6 128 112
* DOOR11_1 -48 0
* DOOR11_1 32 0
* DOOR11_1 5 0
BIGDOOR7 128 128
* W105_1 123 0
* W105_1 -5 0
BLODRIP1 32 128
* RP2_1 0 0
BLODRIP2 32 128
@ -1714,26 +1888,6 @@ MARBLOD1 128 128
* MWALL1_2 0 0
MIDGRATE 128 128
* M1_1 0 0
NUKEPOIS 128 128
* WALL04_7 96 0
* WALL04_5 112 0
* WALL04_5 112 32
* WALL04_5 96 32
* NUKEDGE 64 104
* WALL04_2 64 0
* WALL04_2 48 0
* WALL04_2 48 32
* WALL04_2 64 32
* NUKEDGE 0 104
* WALL04_4 16 32
* WALL04_5 32 0
* WALL04_5 32 32
* WALL04_3 80 32
* WALL04_3 80 0
* WALL04_3 0 32
* WALL04_3 0 0
* WALL04_4 16 0
* PS20A0 0 68
PIPE1 256 128
* RP1_1 0 0
* RP1_2 128 0
@ -1749,12 +1903,6 @@ ROCKRED2 128 128
* W64B_1 0 0
ROCKRED3 128 128
* W64B_2 0 0
SHAWN1 128 128
* W13_1 0 56
* W13_1 64 56
* W13_1 64 0
* W13_1 0 0
* CYL1_1 0 0
SHAWN3 64 72
* T14_3 0 0
SKIN2 128 128
@ -1793,18 +1941,6 @@ SKSPINE1 128 128
SKSPINE2 256 96
* SPINE3_1 0 0
* SPINE3_2 128 0
SKY2 256 128
#ifdef DOOM2
* RSKY2 0 0
#else
* SKY2 0 0
#endif
SKY3 256 128
#ifdef DOOM2
* RSKY3 0 0
#else
* SKY3 0 0
#endif
SLADSKUL 64 128
* WLA128_1 0 0
* SW2_2 21 65
@ -1962,7 +2098,6 @@ LOGO5 64 128
#endif
; common textures
ASHWALL2 64 128
@ -1979,10 +2114,6 @@ BIGDOOR3 128 128
* DOOR9_2 0 0
BIGDOOR4 128 128
* DOOR9_1 0 0
BRNPOIS 128 128
* WALL62_2 0 0
* WALL62_2 64 0
* PS20A0 0 60
BRNSMAL1 64 64
* W111_2 0 0
BRNSMAL2 64 64
@ -2384,12 +2515,6 @@ SFALL3 64 128
* SFALL3 0 0
SFALL4 64 128
* SFALL4 0 0
SKY1 256 128
#ifdef DOOM2
* RSKY1 0 0
#else
* SKY1 0 0
#endif
SLADPOIS 64 128
* WLA128_1 0 0
* PS20A0 1 49
@ -2422,30 +2547,9 @@ STARTAN2 128 128
STARTAN3 128 128
* SW19_2 0 0
* SW19_1 64 0
#ifdef DOOM2
STEP1 32 16
* STEP04 0 0
* STEP05 0 8
STEP2 32 16
* SW11_4 0 -112
* STEP03 0 0
STEP3 32 16
* STEP05 0 8
* STEP05 0 0
#else
STEP1 32 8
* STEP04 0 0
STEP2 32 8
* STEP03 0 0
STEP3 32 8
* STEP05 0 0
#endif
STEP4 32 16
* STEP06 0 8
* STEP06 0 0
STEP5 32 16
* STEP09 0 0
* STEP08 0 8
STEP6 32 16
* STEP07 0 0
* STEP10 0 8
@ -2514,10 +2618,6 @@ SUPPORT3 64 128
SW1BRCOM 128 128
* WALL62_1 0 0
* SW1S0 48 72
SW1BRN1 64 128
* WALL02_2 0 56
* WALL02_2 0 0
* SW3S0 15 75
SW1BRN2 64 128
* WALL02_2 0 56
* WALL02_2 0 0
@ -2564,30 +2664,10 @@ SW1PIPE 128 128
SW1SLAD 64 128
* WLA128_1 0 0
* WARNB0 24 73
SW1STARG 128 128
* SW19_4 0 0
* SW19_3 64 0
* SW3S0 48 76
SW1STON1 64 128
* W28_8 0 64
* W28_8 0 0
* SW1S0 16 78
SW1STON2 64 128
* W28_5 0 0
* W28_8 0 64
* WARNB0 24 73
SW1STONE 64 128
* WALL01_1 0 0
* WALL01_2 16 0
* WALL01_3 32 0
* WALL01_4 48 0
* WALL01_1 0 72
* WALL01_2 16 72
* WALL01_3 32 72
* WALL01_4 48 72
* W33_8 0 64
* W33_8 0 120
* SW1S0 16 72
SW1STRTN 64 128
* SW12_4 0 0
* SW12_5 32 0
@ -2595,10 +2675,6 @@ SW1STRTN 64 128
SW2BRCOM 128 128
* WALL62_1 0 0
* SW1S1 48 72
SW2BRN1 64 128
* WALL02_2 0 56
* WALL02_2 0 0
* SW3S1 15 75
SW2BRN2 64 128
* WALL02_2 0 56
* WALL02_2 0 0
@ -2645,30 +2721,10 @@ SW2PIPE 128 128
SW2SLAD 64 128
* WLA128_1 0 0
* WARNA0 24 73
SW2STARG 128 128
* SW19_4 0 0
* SW19_3 64 0
* SW3S1 48 76
SW2STON1 64 128
* W28_8 0 64
* W28_8 0 0
* SW1S1 16 78
SW2STON2 64 128
* W28_5 0 0
* W28_8 0 64
* WARNA0 24 73
SW2STONE 64 128
* WALL01_1 0 0
* WALL01_2 16 0
* WALL01_3 32 0
* WALL01_4 48 0
* WALL01_1 0 72
* WALL01_2 16 72
* WALL01_3 32 72
* WALL01_4 48 72
* W33_8 0 64
* W33_8 0 120
* SW1S1 16 72
SW2STRTN 64 128
* SW12_4 0 0
* SW12_5 32 0