ogrebattle64/tools/ability_names.py

36 lines
692 B
Python

from ob import read_rom
import string
NAMES_START = 0x5D5FC;
NAMES_END = 0x5DAD4;
NAME_VADDR_START = 0x801876FC
data = read_rom(NAMES_START, NAMES_END)
def strip_name(name):
return ''.join(chr(ch) for ch in name if chr(ch).isalnum())
buf = bytearray()
for i, d in enumerate(data):
# Read until 0
if d != 0:
buf.append(d)
else:
if len(buf) == 0:
continue
clean_name = strip_name(buf)
offset = i - len(buf)
# print(f"// {bytes(buf)}")
print(f"obAbilityName{clean_name} = 0x{(NAME_VADDR_START + offset):X}; // rom:0x{(NAMES_START + offset):X} size:{(len(buf) + 1)}")
buf = bytearray()