Files
sa2/scripts/extract_UNK_080D95E8.py
2022-07-12 00:28:26 +00:00

52 lines
1.3 KiB
Python
Vendored

from io import BufferedReader
import os
import sys
import struct
address = int(sys.argv[1], 16)
length = int(sys.argv[2], 16)
def read_u8(rom: BufferedReader):
return struct.unpack('B', rom.read(1))[0]
def read_s8(rom: BufferedReader):
return struct.unpack('b', rom.read(1))[0]
def read_u16(rom: BufferedReader):
return struct.unpack('H', rom.read(2))[0]
def read_s16(rom: BufferedReader):
return struct.unpack('h', rom.read(2))[0]
def read_u32(rom: BufferedReader):
return struct.unpack('I', rom.read(4))[0]
def format_hex(val):
return f"0x{hex(val)[2:].upper()}"
langs = [
"JAPANESE",
"ENGLISH",
"GERMAN",
"FRENCH",
"SPANISH",
"ITALIAN"
]
with open('baserom.gba', 'rb') as rom:
rom.seek(address)
# for i in range(length // 2):
# print(str(read_u16(rom)) + ", ", end="")
for i in range(length // 2 // 7 // 4):
print(f" [LanguageIndex(LANG_{langs[i]})] = " + "{ ")
for x in range(7):
print(" { ", end="")
for j in range(4):
print(f".unk{j * 2} = " + str(read_u16(rom)) + ", ", end="")
print("},")
print(" },")
# print("{ ", end="")
# for j in range(4):
# print(f".unk{j * 2} = " + str(read_u16(rom)) + ", ", end="")
# print("},")