mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
z_en_item00 (#78)
* z_en_item00 WIP 17/21 match, rest close to matching * Split .rodata for z_en_item00 * Item00 documentation, some misc cleanup * Minor cleanup * Fixup for z_collision_check * Address feedback * Delete old file * Fix bad merge
This commit is contained in:
+24
-11
@@ -16,13 +16,23 @@ def split_asm_and_rodata():
|
||||
disableRodataConvert = False
|
||||
|
||||
basename = str(args.input)
|
||||
|
||||
if "0x" in basename:
|
||||
basename = basename.split("0x")[0]
|
||||
else:
|
||||
basename = basename.split(".")[0]
|
||||
rodataFile = basename + "late_rodata.asm"
|
||||
|
||||
rodataFile = None
|
||||
|
||||
if "ovl_" in basename:
|
||||
if "0x" in basename:
|
||||
basename = basename.split("0x")[0]
|
||||
else:
|
||||
basename = basename.split(".")[0]
|
||||
else: # files in code
|
||||
if "0x" in basename:
|
||||
basename = basename.split("code_")[-1]
|
||||
else:
|
||||
basename = basename.split("/")[-1]
|
||||
rodataFile = "asm/code/code_rodata_" + basename
|
||||
|
||||
if rodataFile is None:
|
||||
rodataFile = basename + "late_rodata.asm"
|
||||
|
||||
if not os.path.exists(rodataFile):
|
||||
rodataFile = basename + "rodata.asm"
|
||||
|
||||
@@ -81,7 +91,7 @@ def split_asm_and_rodata():
|
||||
deleteLine = True
|
||||
break
|
||||
if not deleteLine:
|
||||
f.writelines([xline])
|
||||
f.writelines([xline])
|
||||
f.close()
|
||||
|
||||
relevant_rodata = []
|
||||
@@ -130,7 +140,7 @@ def split_asm_and_rodata():
|
||||
current_file.write("glabel " + entry[0] + "\n")
|
||||
written_rodata.append(entry[0])
|
||||
current_file.write(entry[1])
|
||||
|
||||
|
||||
if os.path.exists(rodataFile):
|
||||
with open(rodataFile, 'w+') as f:
|
||||
f.truncate()
|
||||
@@ -149,7 +159,7 @@ def split_asm_and_rodata():
|
||||
if not deleteLine:
|
||||
f.writelines([xline])
|
||||
f.close()
|
||||
|
||||
|
||||
relevant_rodata = []
|
||||
written_rodata = []
|
||||
current_file.close()
|
||||
@@ -162,6 +172,9 @@ def split_asm_and_rodata():
|
||||
for name in file_names:
|
||||
f.write('\n#pragma GLOBAL_ASM("{}")\n'.format(name))
|
||||
|
||||
rodata_excluded = ["ovl_Bg_Dkjail_Ivy", "ovl_Bg_Ikana_Mirror", "ovl_Boss_02", "ovl_Boss_07", "ovl_Boss_Hakugin", "ovl_Elf_Msg", "ovl_Elf_Msg2", "ovl_Elf_Msg3", "ovl_Elf_Msg4", "ovl_Elf_Msg5", "ovl_En_Az", "ovl_En_Bigokuta", "ovl_En_Bigpamet", "ovl_En_Bigpo", "ovl_En_Bigslime", "ovl_En_Box", "ovl_En_Butte", "ovl_En_Col_Man", "ovl_En_Crow", "ovl_En_Death", "ovl_En_Elf", "ovl_En_Elforg", "ovl_En_Encount3", "ovl_En_Encount4", "ovl_En_Fish", "ovl_En_Fish2", "ovl_En_Fsn", "ovl_En_Honotrap", "ovl_En_Horse", "ovl_En_Horse_Game", "ovl_En_Invadepoh", "ovl_En_Ishi", "ovl_En_Kame", "ovl_En_Kanban", "ovl_En_Kusa2", "ovl_En_M_Thunder", "ovl_En_Maruta", "ovl_En_Mushi2", "ovl_En_Okuta", "ovl_En_Ossan", "ovl_En_Pametfrog", "ovl_En_Peehat", "ovl_En_Rg", "ovl_En_Ruppecrow", "ovl_En_Slime", "ovl_En_Sob1", "ovl_En_Syateki_Man", "ovl_En_Test7", "ovl_En_Trt", "ovl_En_Wiz_Fire", "ovl_Mir_Ray", "ovl_Obj_Bombiwa", "ovl_Obj_Driftice", "ovl_Obj_Hariko", "ovl_Obj_Iceblock", "ovl_Obj_Mure", "ovl_Obj_Snowball2", "ovl_Obj_Toudai", "ovl_select"]
|
||||
rodata_included = ["z_en_item00"]
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
@@ -174,7 +187,7 @@ if __name__ == '__main__':
|
||||
|
||||
file_names = []
|
||||
|
||||
if "ovl_" in str(args.input) and not any(ovlFile in str(args.input) for ovlFile in ["ovl_Bg_Dkjail_Ivy", "ovl_Bg_Ikana_Mirror", "ovl_Boss_02", "ovl_Boss_07", "ovl_Boss_Hakugin", "ovl_Elf_Msg", "ovl_Elf_Msg2", "ovl_Elf_Msg3", "ovl_Elf_Msg4", "ovl_Elf_Msg5", "ovl_En_Az", "ovl_En_Bigokuta", "ovl_En_Bigpamet", "ovl_En_Bigpo", "ovl_En_Bigslime", "ovl_En_Box", "ovl_En_Butte", "ovl_En_Col_Man", "ovl_En_Crow", "ovl_En_Death", "ovl_En_Elf", "ovl_En_Elforg", "ovl_En_Encount3", "ovl_En_Encount4", "ovl_En_Fish", "ovl_En_Fish2", "ovl_En_Fsn", "ovl_En_Honotrap", "ovl_En_Horse", "ovl_En_Horse_Game", "ovl_En_Invadepoh", "ovl_En_Ishi", "ovl_En_Kame", "ovl_En_Kanban", "ovl_En_Kusa2", "ovl_En_M_Thunder", "ovl_En_Maruta", "ovl_En_Mushi2", "ovl_En_Okuta", "ovl_En_Ossan", "ovl_En_Pametfrog", "ovl_En_Peehat", "ovl_En_Rg", "ovl_En_Ruppecrow", "ovl_En_Slime", "ovl_En_Sob1", "ovl_En_Syateki_Man", "ovl_En_Test7", "ovl_En_Trt", "ovl_En_Wiz_Fire", "ovl_Mir_Ray", "ovl_Obj_Bombiwa", "ovl_Obj_Driftice", "ovl_Obj_Hariko", "ovl_Obj_Iceblock", "ovl_Obj_Mure", "ovl_Obj_Snowball2", "ovl_Obj_Toudai", "ovl_select"]):
|
||||
if ("ovl_" in str(args.input) and not any(file in str(args.input) for file in rodata_excluded)) or any(file in str(args.input) for file in rodata_included):
|
||||
split_asm_and_rodata()
|
||||
exit(0)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user