mirror of
https://github.com/freedoom/freedoom.git
synced 2025-09-02 16:25:47 -04:00
textgen: Set level names from DEHACKED lump.
Use the DEHACKED lump as a source of truth for level names, and set the textgen configuration accordingly. Make the current level names in the DEHACKED lump upper case so that the current ExMy/MAPxy names look correct.
This commit is contained in:
parent
2ed9548ca3
commit
1891b5e40b
2 changed files with 185 additions and 166 deletions
|
@ -76,40 +76,9 @@ white_graphics = {
|
||||||
'wicolon': ':',
|
'wicolon': ':',
|
||||||
'wiminus': '-',
|
'wiminus': '-',
|
||||||
|
|
||||||
# TODO: Generate WILV graphics based on level names from DEHACKED lump.
|
# Note: level names are also included in this dictionary, with
|
||||||
|
# the data added programatically from the DEHACKED lump, see
|
||||||
'cwilv00': 'MAP01', 'cwilv01': 'MAP02', 'cwilv02': 'MAP03',
|
# code below.
|
||||||
'cwilv03': 'MAP04', 'cwilv04': 'MAP05', 'cwilv05': 'MAP06',
|
|
||||||
'cwilv06': 'MAP07', 'cwilv07': 'MAP08', 'cwilv08': 'MAP09',
|
|
||||||
'cwilv09': 'MAP10',
|
|
||||||
|
|
||||||
'cwilv10': 'MAP11', 'cwilv11': 'MAP12', 'cwilv12': 'MAP13',
|
|
||||||
'cwilv13': 'MAP14', 'cwilv14': 'MAP15', 'cwilv15': 'MAP16',
|
|
||||||
'cwilv16': 'MAP17', 'cwilv17': 'MAP18', 'cwilv18': 'MAP19',
|
|
||||||
'cwilv19': 'MAP20',
|
|
||||||
|
|
||||||
'cwilv20': 'MAP21', 'cwilv21': 'MAP22', 'cwilv22': 'MAP23',
|
|
||||||
'cwilv23': 'MAP24', 'cwilv24': 'MAP25', 'cwilv25': 'MAP26',
|
|
||||||
'cwilv26': 'MAP27', 'cwilv27': 'MAP28', 'cwilv28': 'MAP29',
|
|
||||||
'cwilv29': 'MAP30',
|
|
||||||
|
|
||||||
'cwilv30': 'MAP31', 'cwilv31': 'MAP32',
|
|
||||||
|
|
||||||
'wilv00': 'E1M1', 'wilv01': 'E1M2', 'wilv02': 'E1M3', 'wilv03': 'E1M4',
|
|
||||||
'wilv04': 'E1M5', 'wilv05': 'E1M6', 'wilv06': 'E1M7', 'wilv07': 'E1M8',
|
|
||||||
'wilv08': 'E1M9',
|
|
||||||
|
|
||||||
'wilv10': 'E2M1', 'wilv11': 'E2M2', 'wilv12': 'E2M3', 'wilv13': 'E2M4',
|
|
||||||
'wilv14': 'E2M5', 'wilv15': 'E2M6', 'wilv16': 'E2M7', 'wilv17': 'E2M8',
|
|
||||||
'wilv18': 'E2M9',
|
|
||||||
|
|
||||||
'wilv20': 'E3M1', 'wilv21': 'E3M2', 'wilv22': 'E3M3', 'wilv23': 'E3M4',
|
|
||||||
'wilv24': 'E3M5', 'wilv25': 'E3M6', 'wilv26': 'E3M7', 'wilv27': 'E3M8',
|
|
||||||
'wilv28': 'E3M9',
|
|
||||||
|
|
||||||
'wilv30': 'E4M1', 'wilv31': 'E4M2', 'wilv32': 'E4M3', 'wilv33': 'E4M4',
|
|
||||||
'wilv34': 'E4M5', 'wilv35': 'E4M6', 'wilv36': 'E4M7', 'wilv37': 'E4M8',
|
|
||||||
'wilv38': 'E4M9',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
blue_graphics = {
|
blue_graphics = {
|
||||||
|
@ -223,3 +192,53 @@ red_graphics = {
|
||||||
'm_wadopt': 'wad options',
|
'm_wadopt': 'wad options',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def read_bex_lump(filename):
|
||||||
|
"""Read the BEX (Dehacked) lump from the given filename.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Dictionary mapping from name to value.
|
||||||
|
"""
|
||||||
|
result = {}
|
||||||
|
with open(filename) as f:
|
||||||
|
for line in f:
|
||||||
|
# Ignore comments:
|
||||||
|
line = line.strip()
|
||||||
|
if len(line) == 0 or line[0] in '#;':
|
||||||
|
continue
|
||||||
|
# Just split on '=' and interpret that as an
|
||||||
|
# assignment. This is primitive and doesn't read
|
||||||
|
# like a full BEX parser should, but it's good
|
||||||
|
# enough for our purposes here.
|
||||||
|
assign = line.split('=', 2)
|
||||||
|
if len(assign) != 2:
|
||||||
|
continue
|
||||||
|
result[assign[0].strip()] = assign[1].strip()
|
||||||
|
return result
|
||||||
|
|
||||||
|
def update_from_bex(config, bexdata):
|
||||||
|
"""Update the given config dictionary with data from a BEX lump.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
config: Dictionary of lumps, mapping from lump name to
|
||||||
|
text string to contain in it.
|
||||||
|
bexdata: Dictionary of data read from BEX lump.
|
||||||
|
"""
|
||||||
|
def update_lump(lumpname, bexname):
|
||||||
|
if bexname not in bexdata:
|
||||||
|
raise Exception('Level name %s not defined in '
|
||||||
|
'DEHACKED lump!' % bexname)
|
||||||
|
config[lumpname] = bexdata[bexname]
|
||||||
|
|
||||||
|
for e in range(4):
|
||||||
|
for m in range(9):
|
||||||
|
# HUSTR_E1M1 from BEX => wilv00
|
||||||
|
update_lump('wilv%i%i' % (e, m),
|
||||||
|
'HUSTR_E%iM%i' % (e + 1, m + 1))
|
||||||
|
|
||||||
|
for m in range(32):
|
||||||
|
# HUSTR_1 => cwilv00
|
||||||
|
update_lump('cwilv%02i' % m,
|
||||||
|
'HUSTR_%i' % (m + 1))
|
||||||
|
|
||||||
|
update_from_bex(white_graphics, read_bex_lump('../../lumps/dehacked.lmp'))
|
||||||
|
|
||||||
|
|
|
@ -51,42 +51,42 @@ PD_YELLOWS = this door requires the yellow skeleton key.
|
||||||
PD_ANY = this door requires any key.
|
PD_ANY = this door requires any key.
|
||||||
PD_ALL3 = this door requires all three keys.
|
PD_ALL3 = this door requires all three keys.
|
||||||
PD_ALL6 = this door requires all six keys and passcards!
|
PD_ALL6 = this door requires all six keys and passcards!
|
||||||
HUSTR_E1M1 = e1m1
|
HUSTR_E1M1 = E1M1
|
||||||
HUSTR_E1M2 = e1m2
|
HUSTR_E1M2 = E1M2
|
||||||
HUSTR_E1M3 = e1m3
|
HUSTR_E1M3 = E1M3
|
||||||
HUSTR_E1M4 = e1m4
|
HUSTR_E1M4 = E1M4
|
||||||
HUSTR_E1M5 = e1m5
|
HUSTR_E1M5 = E1M5
|
||||||
HUSTR_E1M6 = e1m6
|
HUSTR_E1M6 = E1M6
|
||||||
HUSTR_E1M7 = e1m7
|
HUSTR_E1M7 = E1M7
|
||||||
HUSTR_E1M8 = e1m8
|
HUSTR_E1M8 = E1M8
|
||||||
HUSTR_E1M9 = e1m9
|
HUSTR_E1M9 = E1M9
|
||||||
HUSTR_E2M1 = e2m1
|
HUSTR_E2M1 = E2M1
|
||||||
HUSTR_E2M2 = e2m2
|
HUSTR_E2M2 = E2M2
|
||||||
HUSTR_E2M3 = e2m3
|
HUSTR_E2M3 = E2M3
|
||||||
HUSTR_E2M4 = e2m4
|
HUSTR_E2M4 = E2M4
|
||||||
HUSTR_E2M5 = e2m5
|
HUSTR_E2M5 = E2M5
|
||||||
HUSTR_E2M6 = e2m6
|
HUSTR_E2M6 = E2M6
|
||||||
HUSTR_E2M7 = e2m7
|
HUSTR_E2M7 = E2M7
|
||||||
HUSTR_E2M8 = e2m8
|
HUSTR_E2M8 = E2M8
|
||||||
HUSTR_E2M9 = e2m9
|
HUSTR_E2M9 = E2M9
|
||||||
HUSTR_E3M1 = e3m1
|
HUSTR_E3M1 = E3M1
|
||||||
HUSTR_E3M2 = e3m2
|
HUSTR_E3M2 = E3M2
|
||||||
HUSTR_E3M3 = e3m3
|
HUSTR_E3M3 = E3M3
|
||||||
HUSTR_E3M4 = e3m4
|
HUSTR_E3M4 = E3M4
|
||||||
HUSTR_E3M5 = e3m5
|
HUSTR_E3M5 = E3M5
|
||||||
HUSTR_E3M6 = e3m6
|
HUSTR_E3M6 = E3M6
|
||||||
HUSTR_E3M7 = e3m7
|
HUSTR_E3M7 = E3M7
|
||||||
HUSTR_E3M8 = e3m8
|
HUSTR_E3M8 = E3M8
|
||||||
HUSTR_E3M9 = e3m9
|
HUSTR_E3M9 = E3M9
|
||||||
HUSTR_E4M1 = e4m1
|
HUSTR_E4M1 = E4M1
|
||||||
HUSTR_E4M2 = e4m2
|
HUSTR_E4M2 = E4M2
|
||||||
HUSTR_E4M3 = e4m3
|
HUSTR_E4M3 = E4M3
|
||||||
HUSTR_E4M4 = e4m4
|
HUSTR_E4M4 = E4M4
|
||||||
HUSTR_E4M5 = e4m5
|
HUSTR_E4M5 = E4M5
|
||||||
HUSTR_E4M6 = e4m6
|
HUSTR_E4M6 = E4M6
|
||||||
HUSTR_E4M7 = e4m7
|
HUSTR_E4M7 = E4M7
|
||||||
HUSTR_E4M8 = e4m8
|
HUSTR_E4M8 = E4M8
|
||||||
HUSTR_E4M9 = e4m9
|
HUSTR_E4M9 = E4M9
|
||||||
CC_ZOMBIE = zombie
|
CC_ZOMBIE = zombie
|
||||||
CC_SHOTGUN = shotgun zombie
|
CC_SHOTGUN = shotgun zombie
|
||||||
CC_HEAVY = mini-gun zombie
|
CC_HEAVY = mini-gun zombie
|
||||||
|
@ -104,102 +104,102 @@ CC_ARCH = flamebringer
|
||||||
CC_SPIDER = large technospider
|
CC_SPIDER = large technospider
|
||||||
CC_CYBER = mechabomination
|
CC_CYBER = mechabomination
|
||||||
CC_HERO = savior of us all
|
CC_HERO = savior of us all
|
||||||
HUSTR_1 = map01
|
HUSTR_1 = MAP01
|
||||||
HUSTR_2 = map02
|
HUSTR_2 = MAP02
|
||||||
HUSTR_3 = map03
|
HUSTR_3 = MAP03
|
||||||
HUSTR_4 = map04
|
HUSTR_4 = MAP04
|
||||||
HUSTR_5 = map05
|
HUSTR_5 = MAP05
|
||||||
HUSTR_6 = map06
|
HUSTR_6 = MAP06
|
||||||
HUSTR_7 = map07
|
HUSTR_7 = MAP07
|
||||||
HUSTR_8 = map08
|
HUSTR_8 = MAP08
|
||||||
HUSTR_9 = map09
|
HUSTR_9 = MAP09
|
||||||
HUSTR_10 = map10
|
HUSTR_10 = MAP10
|
||||||
HUSTR_11 = map11
|
HUSTR_11 = MAP11
|
||||||
HUSTR_12 = map12
|
HUSTR_12 = MAP12
|
||||||
HUSTR_13 = map13
|
HUSTR_13 = MAP13
|
||||||
HUSTR_14 = map14
|
HUSTR_14 = MAP14
|
||||||
HUSTR_15 = map15
|
HUSTR_15 = MAP15
|
||||||
HUSTR_16 = map16
|
HUSTR_16 = MAP16
|
||||||
HUSTR_17 = map17
|
HUSTR_17 = MAP17
|
||||||
HUSTR_18 = map18
|
HUSTR_18 = MAP18
|
||||||
HUSTR_19 = map19
|
HUSTR_19 = MAP19
|
||||||
HUSTR_20 = map20
|
HUSTR_20 = MAP20
|
||||||
HUSTR_21 = map21
|
HUSTR_21 = MAP21
|
||||||
HUSTR_22 = map22
|
HUSTR_22 = MAP22
|
||||||
HUSTR_23 = map23
|
HUSTR_23 = MAP23
|
||||||
HUSTR_24 = map24
|
HUSTR_24 = MAP24
|
||||||
HUSTR_25 = map25
|
HUSTR_25 = MAP25
|
||||||
HUSTR_26 = map26
|
HUSTR_26 = MAP26
|
||||||
HUSTR_27 = map27
|
HUSTR_27 = MAP27
|
||||||
HUSTR_28 = map28
|
HUSTR_28 = MAP28
|
||||||
HUSTR_29 = map29
|
HUSTR_29 = MAP29
|
||||||
HUSTR_30 = map30
|
HUSTR_30 = MAP30
|
||||||
HUSTR_31 = map31
|
HUSTR_31 = MAP31
|
||||||
HUSTR_32 = map32
|
HUSTR_32 = MAP32
|
||||||
PHUSTR_1 = map01
|
PHUSTR_1 = MAP01
|
||||||
PHUSTR_2 = map02
|
PHUSTR_2 = MAP02
|
||||||
PHUSTR_3 = map03
|
PHUSTR_3 = MAP03
|
||||||
PHUSTR_4 = map04
|
PHUSTR_4 = MAP04
|
||||||
PHUSTR_5 = map05
|
PHUSTR_5 = MAP05
|
||||||
PHUSTR_6 = map06
|
PHUSTR_6 = MAP06
|
||||||
PHUSTR_7 = map07
|
PHUSTR_7 = MAP07
|
||||||
PHUSTR_8 = map08
|
PHUSTR_8 = MAP08
|
||||||
PHUSTR_9 = map09
|
PHUSTR_9 = MAP09
|
||||||
PHUSTR_10 = map10
|
PHUSTR_10 = MAP10
|
||||||
PHUSTR_11 = map11
|
PHUSTR_11 = MAP11
|
||||||
PHUSTR_12 = map12
|
PHUSTR_12 = MAP12
|
||||||
PHUSTR_13 = map13
|
PHUSTR_13 = MAP13
|
||||||
PHUSTR_14 = map14
|
PHUSTR_14 = MAP14
|
||||||
PHUSTR_15 = map15
|
PHUSTR_15 = MAP15
|
||||||
PHUSTR_16 = map16
|
PHUSTR_16 = MAP16
|
||||||
PHUSTR_17 = map17
|
PHUSTR_17 = MAP17
|
||||||
PHUSTR_18 = map18
|
PHUSTR_18 = MAP18
|
||||||
PHUSTR_19 = map19
|
PHUSTR_19 = MAP19
|
||||||
PHUSTR_20 = map20
|
PHUSTR_20 = MAP20
|
||||||
PHUSTR_21 = map21
|
PHUSTR_21 = MAP21
|
||||||
PHUSTR_22 = map22
|
PHUSTR_22 = MAP22
|
||||||
PHUSTR_23 = map23
|
PHUSTR_23 = MAP23
|
||||||
PHUSTR_24 = map24
|
PHUSTR_24 = MAP24
|
||||||
PHUSTR_25 = map25
|
PHUSTR_25 = MAP25
|
||||||
PHUSTR_26 = map26
|
PHUSTR_26 = MAP26
|
||||||
PHUSTR_27 = map27
|
PHUSTR_27 = MAP27
|
||||||
PHUSTR_28 = map28
|
PHUSTR_28 = MAP28
|
||||||
PHUSTR_29 = map29
|
PHUSTR_29 = MAP29
|
||||||
PHUSTR_30 = map30
|
PHUSTR_30 = MAP30
|
||||||
PHUSTR_31 = map31
|
PHUSTR_31 = MAP31
|
||||||
PHUSTR_32 = map32
|
PHUSTR_32 = MAP32
|
||||||
THUSTR_1 = map01
|
THUSTR_1 = MAP01
|
||||||
THUSTR_2 = map02
|
THUSTR_2 = MAP02
|
||||||
THUSTR_3 = map03
|
THUSTR_3 = MAP03
|
||||||
THUSTR_4 = map04
|
THUSTR_4 = MAP04
|
||||||
THUSTR_5 = map05
|
THUSTR_5 = MAP05
|
||||||
THUSTR_6 = map06
|
THUSTR_6 = MAP06
|
||||||
THUSTR_7 = map07
|
THUSTR_7 = MAP07
|
||||||
THUSTR_8 = map08
|
THUSTR_8 = MAP08
|
||||||
THUSTR_9 = map09
|
THUSTR_9 = MAP09
|
||||||
THUSTR_10 = map10
|
THUSTR_10 = MAP10
|
||||||
THUSTR_11 = map11
|
THUSTR_11 = MAP11
|
||||||
THUSTR_12 = map12
|
THUSTR_12 = MAP12
|
||||||
THUSTR_13 = map13
|
THUSTR_13 = MAP13
|
||||||
THUSTR_14 = map14
|
THUSTR_14 = MAP14
|
||||||
THUSTR_15 = map15
|
THUSTR_15 = MAP15
|
||||||
THUSTR_16 = map16
|
THUSTR_16 = MAP16
|
||||||
THUSTR_17 = map17
|
THUSTR_17 = MAP17
|
||||||
THUSTR_18 = map18
|
THUSTR_18 = MAP18
|
||||||
THUSTR_19 = map19
|
THUSTR_19 = MAP19
|
||||||
THUSTR_20 = map20
|
THUSTR_20 = MAP20
|
||||||
THUSTR_21 = map21
|
THUSTR_21 = MAP21
|
||||||
THUSTR_22 = map22
|
THUSTR_22 = MAP22
|
||||||
THUSTR_23 = map23
|
THUSTR_23 = MAP23
|
||||||
THUSTR_24 = map24
|
THUSTR_24 = MAP24
|
||||||
THUSTR_25 = map25
|
THUSTR_25 = MAP25
|
||||||
THUSTR_26 = map26
|
THUSTR_26 = MAP26
|
||||||
THUSTR_27 = map27
|
THUSTR_27 = MAP27
|
||||||
THUSTR_28 = map28
|
THUSTR_28 = MAP28
|
||||||
THUSTR_29 = map29
|
THUSTR_29 = MAP29
|
||||||
THUSTR_30 = map30
|
THUSTR_30 = MAP30
|
||||||
THUSTR_31 = map31
|
THUSTR_31 = MAP31
|
||||||
THUSTR_32 = map32
|
THUSTR_32 = MAP32
|
||||||
HUSTR_PLRGREEN = g:
|
HUSTR_PLRGREEN = g:
|
||||||
HUSTR_PLRINDIGO = i:
|
HUSTR_PLRINDIGO = i:
|
||||||
HUSTR_PLRBROWN = b:
|
HUSTR_PLRBROWN = b:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue