From 8061203a4facbbfa1f605ceea102d8efece2c275 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 9 Sep 2021 17:56:18 -0400 Subject: Use NAIX in map headers --- map_header_resolve_fields.py | 112 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 map_header_resolve_fields.py (limited to 'map_header_resolve_fields.py') diff --git a/map_header_resolve_fields.py b/map_header_resolve_fields.py new file mode 100644 index 00000000..1d230bac --- /dev/null +++ b/map_header_resolve_fields.py @@ -0,0 +1,112 @@ +import collections +import struct +import typing +import re + +romfname = 'baserom.nds' +arm9offs = 0x00004000 +arm9load = 0x02000000 +mapheado = 0x020EEDBC +mapheads = 0x00003468 + + +class MapHeader(typing.NamedTuple): + area_data_bank: int + move_model_bank: int + matrix_id: int + scripts_bank: int + level_scripts_bank: int + msg_bank: int + day_music_id: int + night_music_id: int + wild_encounter_bank: int + events_bank: int + mapsec: int + weather_type: int + camera_type: int + unk16: int + battle_bg: int + is_bike_allowed: bool + is_running_allowed: bool + is_escape_rope_allowed: bool + is_fly_allowed: bool + + @classmethod + def from_buffer(cls, buffer: bytes) -> typing.Generator['MapHeader', None, typing.Any]: + for tup in struct.iter_unpack('