From 9c851d75c8a3f01cef40c0b4ca4f1be4fa76b3eb Mon Sep 17 00:00:00 2001 From: mdraves91 Date: Sat, 4 Oct 2025 12:34:37 -0500 Subject: [PATCH] special handling for 3 maps that had missed data structures in parsing --- tools/map_header_extractor.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/map_header_extractor.py b/tools/map_header_extractor.py index e3cc5ef..89264f0 100644 --- a/tools/map_header_extractor.py +++ b/tools/map_header_extractor.py @@ -111,10 +111,11 @@ def dump_npcinteractions(function_address, map_name_camelcase): # the functions should always have: # # + # ONLY LightningFortCatherine calls temp = function_address table_start_address = None while rom[temp] != 0xc9: # ret - if rom[temp] == 0x21 and rom[temp+3] == 0xcd and rom[temp+4] == 0x8c and rom[temp+5] == 0x32: + if rom[temp] == 0x21 and rom[temp+3] == 0xcd and (rom[temp+4] in [0x8c,0xaa]) and rom[temp+5] == 0x32: table_start_address = get_pointer(temp + 1) break temp += 1 @@ -229,10 +230,11 @@ def dump_owinteractions(function_address, map_name_camelcase): # the functions should always have: # # + # Only the two SealedFort maps instead have: table_start_address = None temp = function_address while rom[temp] != 0xc9: # ret - if rom[temp] == 0x21 and rom[temp+3] == 0xcd and rom[temp+4] == 0xbf and rom[temp+5] == 0x32: + if rom[temp] == 0x21 and rom[temp+3] == 0xcd and (rom[temp+4] in [0xbf,0x54]) and rom[temp+5] == 0x32: table_start_address = get_pointer(temp + 1) break temp += 1