|
|
|
|
@ -40,27 +40,36 @@ def write_entry(temp_source, var_name, context, string_value, use_p):
|
|
|
|
|
else: |
|
|
|
|
temp_source.write(f'const char *{var_name} = N_("{string_value}");\n') |
|
|
|
|
|
|
|
|
|
replacement_table = str.maketrans( |
|
|
|
|
' -', |
|
|
|
|
'__', |
|
|
|
|
'\'' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
def create_identifier(value, prefix = '', suffix = ''): |
|
|
|
|
return prefix + value.upper().translate(replacement_table) + suffix |
|
|
|
|
|
|
|
|
|
def process_files(paths, temp_source): |
|
|
|
|
# Classes |
|
|
|
|
if "classdat" in paths: |
|
|
|
|
with open(paths["classdat"], 'r') as tsv: |
|
|
|
|
reader = csv.DictReader(tsv, delimiter='\t') |
|
|
|
|
for i, row in enumerate(reader): |
|
|
|
|
var_name = 'CLASS_' + row['className'].upper().replace(' ', '_').replace('-', '_') |
|
|
|
|
write_entry(temp_source, f'{var_name}_NAME', "default", row['className'], False) |
|
|
|
|
var_name = create_identifier(row['className'], 'CLASS_', '_NAME') |
|
|
|
|
write_entry(temp_source, var_name, "default", row['className'], False) |
|
|
|
|
|
|
|
|
|
# Monsters |
|
|
|
|
with open(paths["monstdat"], 'r') as tsv: |
|
|
|
|
reader = csv.DictReader(tsv, delimiter='\t') |
|
|
|
|
for row in reader: |
|
|
|
|
var_name = row['_monster_id'] + "_NAME" |
|
|
|
|
var_name = create_identifier(row['_monster_id'], '', '_NAME') |
|
|
|
|
write_entry(temp_source, var_name, "monster", row['name'], True) |
|
|
|
|
|
|
|
|
|
if "unique_monstdat" in paths: |
|
|
|
|
with open(paths["unique_monstdat"], 'r') as tsv: |
|
|
|
|
reader = csv.DictReader(tsv, delimiter='\t') |
|
|
|
|
for row in reader: |
|
|
|
|
var_name = row['name'].upper().replace(' ', '_').replace('-', '_') + "_NAME" |
|
|
|
|
var_name = create_identifier(row['name'], '', '_NAME') |
|
|
|
|
write_entry(temp_source, var_name, "monster", row['name'], True) |
|
|
|
|
|
|
|
|
|
# Items |
|
|
|
|
@ -72,10 +81,14 @@ def process_files(paths, temp_source):
|
|
|
|
|
if name in ('Scroll of None', 'Non Item', 'Book of '): |
|
|
|
|
continue |
|
|
|
|
shortName = row['shortName'] |
|
|
|
|
var_name = row['id'] if row['id'] else f'ITEM_{i}' |
|
|
|
|
write_entry(temp_source, f'{var_name}_NAME', "default", name, False) |
|
|
|
|
if row['id']: |
|
|
|
|
base_name = create_identifier(row['id']) |
|
|
|
|
else: |
|
|
|
|
base_name = create_identifier(str(i), 'ITEM_') |
|
|
|
|
|
|
|
|
|
write_entry(temp_source, f'{base_name}_NAME', "default", name, False) |
|
|
|
|
if shortName: |
|
|
|
|
write_entry(temp_source, f'{var_name}_SHORT_NAME', "default", shortName, False) |
|
|
|
|
write_entry(temp_source, f'{base_name}_SHORT_NAME', "default", shortName, False) |
|
|
|
|
|
|
|
|
|
with open(paths["unique_itemdat"], 'r') as tsv: |
|
|
|
|
reader = csv.DictReader(tsv, delimiter='\t') |
|
|
|
|
@ -97,15 +110,15 @@ def process_files(paths, temp_source):
|
|
|
|
|
with open(paths["questdat"], 'r') as tsv: |
|
|
|
|
reader = csv.DictReader(tsv, delimiter='\t') |
|
|
|
|
for i, row in enumerate(reader): |
|
|
|
|
var_name = 'QUEST_' + row['qlstr'].upper().replace(' ', '_').replace('-', '_') |
|
|
|
|
write_entry(temp_source, f'{var_name}_NAME', "default", row['qlstr'], False) |
|
|
|
|
var_name = create_identifier(row['qlstr'], 'QUEST_', '_NAME') |
|
|
|
|
write_entry(temp_source, var_name, "default", row['qlstr'], False) |
|
|
|
|
|
|
|
|
|
# Spells |
|
|
|
|
with open(paths["spelldat"], 'r') as tsv: |
|
|
|
|
reader = csv.DictReader(tsv, delimiter='\t') |
|
|
|
|
for i, row in enumerate(reader): |
|
|
|
|
var_name = 'SPELL_' + row['name'].upper().replace(' ', '_').replace('-', '_') |
|
|
|
|
write_entry(temp_source, f'{var_name}_NAME', "spell", row['name'], True) |
|
|
|
|
var_name = create_identifier(row['name'], 'SPELL_', '_NAME') |
|
|
|
|
write_entry(temp_source, var_name, "spell", row['name'], True) |
|
|
|
|
|
|
|
|
|
# Text/Speeches |
|
|
|
|
if "textdat" in paths: |
|
|
|
|
|