29 lines
931 B
Python
29 lines
931 B
Python
from ob import read_rom, ELEMENT_NAME
|
|
|
|
from struct import unpack_from
|
|
|
|
def read_attack(index):
|
|
ATTACK_SIZE = 0x10
|
|
ATTACK_FORMAT = '>BBBBBBBBBBBBI'
|
|
|
|
attack_start = 0x60980 + (index * ATTACK_SIZE)
|
|
attack_end = attack_start + ATTACK_SIZE
|
|
|
|
return unpack_from(ATTACK_FORMAT, read_rom(attack_start, attack_end))
|
|
|
|
length = 0x6136B - 0x60980
|
|
|
|
for i in range(0, 130):
|
|
name_vaddr_start = 0x801876FC
|
|
name_addr_start = 0x5D5FC
|
|
|
|
(field_0x0, element, field_0x2, field_0x3, field_0x4,
|
|
field_0x5, field_0x6, field_0x7, field_0x8, field_0x9,
|
|
field_0xa, field_0xb, name_vaddr) = read_attack(i)
|
|
|
|
name_addr_diff = (name_vaddr - name_vaddr_start) + name_addr_start
|
|
name = read_rom(name_addr_diff, name_addr_diff + 32).split(b'\0', 1)[0]
|
|
|
|
print(f"{name}:\t", (field_0x0, field_0x2, field_0x3, field_0x4, field_0x5,
|
|
field_0x6, field_0x7, field_0x8, field_0x9, field_0xa,
|
|
field_0xb)) |