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': ':',
|
||||
'wiminus': '-',
|
||||
|
||||
# TODO: Generate WILV graphics based on level names from DEHACKED lump.
|
||||
|
||||
'cwilv00': 'MAP01', 'cwilv01': 'MAP02', 'cwilv02': 'MAP03',
|
||||
'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',
|
||||
# Note: level names are also included in this dictionary, with
|
||||
# the data added programatically from the DEHACKED lump, see
|
||||
# code below.
|
||||
}
|
||||
|
||||
blue_graphics = {
|
||||
|
@ -223,3 +192,53 @@ red_graphics = {
|
|||
'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_ALL3 = this door requires all three keys.
|
||||
PD_ALL6 = this door requires all six keys and passcards!
|
||||
HUSTR_E1M1 = e1m1
|
||||
HUSTR_E1M2 = e1m2
|
||||
HUSTR_E1M3 = e1m3
|
||||
HUSTR_E1M4 = e1m4
|
||||
HUSTR_E1M5 = e1m5
|
||||
HUSTR_E1M6 = e1m6
|
||||
HUSTR_E1M7 = e1m7
|
||||
HUSTR_E1M8 = e1m8
|
||||
HUSTR_E1M9 = e1m9
|
||||
HUSTR_E2M1 = e2m1
|
||||
HUSTR_E2M2 = e2m2
|
||||
HUSTR_E2M3 = e2m3
|
||||
HUSTR_E2M4 = e2m4
|
||||
HUSTR_E2M5 = e2m5
|
||||
HUSTR_E2M6 = e2m6
|
||||
HUSTR_E2M7 = e2m7
|
||||
HUSTR_E2M8 = e2m8
|
||||
HUSTR_E2M9 = e2m9
|
||||
HUSTR_E3M1 = e3m1
|
||||
HUSTR_E3M2 = e3m2
|
||||
HUSTR_E3M3 = e3m3
|
||||
HUSTR_E3M4 = e3m4
|
||||
HUSTR_E3M5 = e3m5
|
||||
HUSTR_E3M6 = e3m6
|
||||
HUSTR_E3M7 = e3m7
|
||||
HUSTR_E3M8 = e3m8
|
||||
HUSTR_E3M9 = e3m9
|
||||
HUSTR_E4M1 = e4m1
|
||||
HUSTR_E4M2 = e4m2
|
||||
HUSTR_E4M3 = e4m3
|
||||
HUSTR_E4M4 = e4m4
|
||||
HUSTR_E4M5 = e4m5
|
||||
HUSTR_E4M6 = e4m6
|
||||
HUSTR_E4M7 = e4m7
|
||||
HUSTR_E4M8 = e4m8
|
||||
HUSTR_E4M9 = e4m9
|
||||
HUSTR_E1M1 = E1M1
|
||||
HUSTR_E1M2 = E1M2
|
||||
HUSTR_E1M3 = E1M3
|
||||
HUSTR_E1M4 = E1M4
|
||||
HUSTR_E1M5 = E1M5
|
||||
HUSTR_E1M6 = E1M6
|
||||
HUSTR_E1M7 = E1M7
|
||||
HUSTR_E1M8 = E1M8
|
||||
HUSTR_E1M9 = E1M9
|
||||
HUSTR_E2M1 = E2M1
|
||||
HUSTR_E2M2 = E2M2
|
||||
HUSTR_E2M3 = E2M3
|
||||
HUSTR_E2M4 = E2M4
|
||||
HUSTR_E2M5 = E2M5
|
||||
HUSTR_E2M6 = E2M6
|
||||
HUSTR_E2M7 = E2M7
|
||||
HUSTR_E2M8 = E2M8
|
||||
HUSTR_E2M9 = E2M9
|
||||
HUSTR_E3M1 = E3M1
|
||||
HUSTR_E3M2 = E3M2
|
||||
HUSTR_E3M3 = E3M3
|
||||
HUSTR_E3M4 = E3M4
|
||||
HUSTR_E3M5 = E3M5
|
||||
HUSTR_E3M6 = E3M6
|
||||
HUSTR_E3M7 = E3M7
|
||||
HUSTR_E3M8 = E3M8
|
||||
HUSTR_E3M9 = E3M9
|
||||
HUSTR_E4M1 = E4M1
|
||||
HUSTR_E4M2 = E4M2
|
||||
HUSTR_E4M3 = E4M3
|
||||
HUSTR_E4M4 = E4M4
|
||||
HUSTR_E4M5 = E4M5
|
||||
HUSTR_E4M6 = E4M6
|
||||
HUSTR_E4M7 = E4M7
|
||||
HUSTR_E4M8 = E4M8
|
||||
HUSTR_E4M9 = E4M9
|
||||
CC_ZOMBIE = zombie
|
||||
CC_SHOTGUN = shotgun zombie
|
||||
CC_HEAVY = mini-gun zombie
|
||||
|
@ -104,102 +104,102 @@ CC_ARCH = flamebringer
|
|||
CC_SPIDER = large technospider
|
||||
CC_CYBER = mechabomination
|
||||
CC_HERO = savior of us all
|
||||
HUSTR_1 = map01
|
||||
HUSTR_2 = map02
|
||||
HUSTR_3 = map03
|
||||
HUSTR_4 = map04
|
||||
HUSTR_5 = map05
|
||||
HUSTR_6 = map06
|
||||
HUSTR_7 = map07
|
||||
HUSTR_8 = map08
|
||||
HUSTR_9 = map09
|
||||
HUSTR_10 = map10
|
||||
HUSTR_11 = map11
|
||||
HUSTR_12 = map12
|
||||
HUSTR_13 = map13
|
||||
HUSTR_14 = map14
|
||||
HUSTR_15 = map15
|
||||
HUSTR_16 = map16
|
||||
HUSTR_17 = map17
|
||||
HUSTR_18 = map18
|
||||
HUSTR_19 = map19
|
||||
HUSTR_20 = map20
|
||||
HUSTR_21 = map21
|
||||
HUSTR_22 = map22
|
||||
HUSTR_23 = map23
|
||||
HUSTR_24 = map24
|
||||
HUSTR_25 = map25
|
||||
HUSTR_26 = map26
|
||||
HUSTR_27 = map27
|
||||
HUSTR_28 = map28
|
||||
HUSTR_29 = map29
|
||||
HUSTR_30 = map30
|
||||
HUSTR_31 = map31
|
||||
HUSTR_32 = map32
|
||||
PHUSTR_1 = map01
|
||||
PHUSTR_2 = map02
|
||||
PHUSTR_3 = map03
|
||||
PHUSTR_4 = map04
|
||||
PHUSTR_5 = map05
|
||||
PHUSTR_6 = map06
|
||||
PHUSTR_7 = map07
|
||||
PHUSTR_8 = map08
|
||||
PHUSTR_9 = map09
|
||||
PHUSTR_10 = map10
|
||||
PHUSTR_11 = map11
|
||||
PHUSTR_12 = map12
|
||||
PHUSTR_13 = map13
|
||||
PHUSTR_14 = map14
|
||||
PHUSTR_15 = map15
|
||||
PHUSTR_16 = map16
|
||||
PHUSTR_17 = map17
|
||||
PHUSTR_18 = map18
|
||||
PHUSTR_19 = map19
|
||||
PHUSTR_20 = map20
|
||||
PHUSTR_21 = map21
|
||||
PHUSTR_22 = map22
|
||||
PHUSTR_23 = map23
|
||||
PHUSTR_24 = map24
|
||||
PHUSTR_25 = map25
|
||||
PHUSTR_26 = map26
|
||||
PHUSTR_27 = map27
|
||||
PHUSTR_28 = map28
|
||||
PHUSTR_29 = map29
|
||||
PHUSTR_30 = map30
|
||||
PHUSTR_31 = map31
|
||||
PHUSTR_32 = map32
|
||||
THUSTR_1 = map01
|
||||
THUSTR_2 = map02
|
||||
THUSTR_3 = map03
|
||||
THUSTR_4 = map04
|
||||
THUSTR_5 = map05
|
||||
THUSTR_6 = map06
|
||||
THUSTR_7 = map07
|
||||
THUSTR_8 = map08
|
||||
THUSTR_9 = map09
|
||||
THUSTR_10 = map10
|
||||
THUSTR_11 = map11
|
||||
THUSTR_12 = map12
|
||||
THUSTR_13 = map13
|
||||
THUSTR_14 = map14
|
||||
THUSTR_15 = map15
|
||||
THUSTR_16 = map16
|
||||
THUSTR_17 = map17
|
||||
THUSTR_18 = map18
|
||||
THUSTR_19 = map19
|
||||
THUSTR_20 = map20
|
||||
THUSTR_21 = map21
|
||||
THUSTR_22 = map22
|
||||
THUSTR_23 = map23
|
||||
THUSTR_24 = map24
|
||||
THUSTR_25 = map25
|
||||
THUSTR_26 = map26
|
||||
THUSTR_27 = map27
|
||||
THUSTR_28 = map28
|
||||
THUSTR_29 = map29
|
||||
THUSTR_30 = map30
|
||||
THUSTR_31 = map31
|
||||
THUSTR_32 = map32
|
||||
HUSTR_1 = MAP01
|
||||
HUSTR_2 = MAP02
|
||||
HUSTR_3 = MAP03
|
||||
HUSTR_4 = MAP04
|
||||
HUSTR_5 = MAP05
|
||||
HUSTR_6 = MAP06
|
||||
HUSTR_7 = MAP07
|
||||
HUSTR_8 = MAP08
|
||||
HUSTR_9 = MAP09
|
||||
HUSTR_10 = MAP10
|
||||
HUSTR_11 = MAP11
|
||||
HUSTR_12 = MAP12
|
||||
HUSTR_13 = MAP13
|
||||
HUSTR_14 = MAP14
|
||||
HUSTR_15 = MAP15
|
||||
HUSTR_16 = MAP16
|
||||
HUSTR_17 = MAP17
|
||||
HUSTR_18 = MAP18
|
||||
HUSTR_19 = MAP19
|
||||
HUSTR_20 = MAP20
|
||||
HUSTR_21 = MAP21
|
||||
HUSTR_22 = MAP22
|
||||
HUSTR_23 = MAP23
|
||||
HUSTR_24 = MAP24
|
||||
HUSTR_25 = MAP25
|
||||
HUSTR_26 = MAP26
|
||||
HUSTR_27 = MAP27
|
||||
HUSTR_28 = MAP28
|
||||
HUSTR_29 = MAP29
|
||||
HUSTR_30 = MAP30
|
||||
HUSTR_31 = MAP31
|
||||
HUSTR_32 = MAP32
|
||||
PHUSTR_1 = MAP01
|
||||
PHUSTR_2 = MAP02
|
||||
PHUSTR_3 = MAP03
|
||||
PHUSTR_4 = MAP04
|
||||
PHUSTR_5 = MAP05
|
||||
PHUSTR_6 = MAP06
|
||||
PHUSTR_7 = MAP07
|
||||
PHUSTR_8 = MAP08
|
||||
PHUSTR_9 = MAP09
|
||||
PHUSTR_10 = MAP10
|
||||
PHUSTR_11 = MAP11
|
||||
PHUSTR_12 = MAP12
|
||||
PHUSTR_13 = MAP13
|
||||
PHUSTR_14 = MAP14
|
||||
PHUSTR_15 = MAP15
|
||||
PHUSTR_16 = MAP16
|
||||
PHUSTR_17 = MAP17
|
||||
PHUSTR_18 = MAP18
|
||||
PHUSTR_19 = MAP19
|
||||
PHUSTR_20 = MAP20
|
||||
PHUSTR_21 = MAP21
|
||||
PHUSTR_22 = MAP22
|
||||
PHUSTR_23 = MAP23
|
||||
PHUSTR_24 = MAP24
|
||||
PHUSTR_25 = MAP25
|
||||
PHUSTR_26 = MAP26
|
||||
PHUSTR_27 = MAP27
|
||||
PHUSTR_28 = MAP28
|
||||
PHUSTR_29 = MAP29
|
||||
PHUSTR_30 = MAP30
|
||||
PHUSTR_31 = MAP31
|
||||
PHUSTR_32 = MAP32
|
||||
THUSTR_1 = MAP01
|
||||
THUSTR_2 = MAP02
|
||||
THUSTR_3 = MAP03
|
||||
THUSTR_4 = MAP04
|
||||
THUSTR_5 = MAP05
|
||||
THUSTR_6 = MAP06
|
||||
THUSTR_7 = MAP07
|
||||
THUSTR_8 = MAP08
|
||||
THUSTR_9 = MAP09
|
||||
THUSTR_10 = MAP10
|
||||
THUSTR_11 = MAP11
|
||||
THUSTR_12 = MAP12
|
||||
THUSTR_13 = MAP13
|
||||
THUSTR_14 = MAP14
|
||||
THUSTR_15 = MAP15
|
||||
THUSTR_16 = MAP16
|
||||
THUSTR_17 = MAP17
|
||||
THUSTR_18 = MAP18
|
||||
THUSTR_19 = MAP19
|
||||
THUSTR_20 = MAP20
|
||||
THUSTR_21 = MAP21
|
||||
THUSTR_22 = MAP22
|
||||
THUSTR_23 = MAP23
|
||||
THUSTR_24 = MAP24
|
||||
THUSTR_25 = MAP25
|
||||
THUSTR_26 = MAP26
|
||||
THUSTR_27 = MAP27
|
||||
THUSTR_28 = MAP28
|
||||
THUSTR_29 = MAP29
|
||||
THUSTR_30 = MAP30
|
||||
THUSTR_31 = MAP31
|
||||
THUSTR_32 = MAP32
|
||||
HUSTR_PLRGREEN = g:
|
||||
HUSTR_PLRINDIGO = i:
|
||||
HUSTR_PLRBROWN = b:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue