ogrebattle64/tools/attacks.py

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))