diff options
| author | octorock <79596758+octorock@users.noreply.github.com> | 2021-03-05 00:31:07 +0100 |
|---|---|---|
| committer | octorock <79596758+octorock@users.noreply.github.com> | 2021-03-06 14:53:33 +0100 |
| commit | 37d03d13824fc8a6f1da88e77176e4d5d7e95c5e (patch) | |
| tree | a2e23214db72dba1de1373fb1274c9021cd4269c /tools/script_disassembler/script_disassembler.py | |
| parent | 849ff8dcfd1e9b24b91bf830719a24f31f113115 (diff) | |
Apply renaming
Diffstat (limited to 'tools/script_disassembler/script_disassembler.py')
| -rw-r--r-- | tools/script_disassembler/script_disassembler.py | 287 |
1 files changed, 146 insertions, 141 deletions
diff --git a/tools/script_disassembler/script_disassembler.py b/tools/script_disassembler/script_disassembler.py index b73afd61..f0926e68 100644 --- a/tools/script_disassembler/script_disassembler.py +++ b/tools/script_disassembler/script_disassembler.py @@ -32,145 +32,145 @@ def get_pointer(barray): return 'sub_' + (struct.pack('>I', integers[0]-1).hex()).upper() commands = [ - {'fun': 'nullsub_507', 'params': ''}, - {'fun': 'sub_0807E004', 'params': '', 'name': 'start executing scripts'}, - {'fun': 'sub_0807E014', 'params': '', 'name': 'stop executing scripts'}, - {'fun': 'sub_0807E024', 'params': 's', 'name': 'jump by offset'}, - {'fun': 'sub_0807E050', 'params': 's', 'name': 'jump if'}, - {'fun': 'sub_0807E064', 'params': 's', 'name': 'jump if not'}, - {'fun': 'sub_0807E078', 'params': 's'}, - {'fun': 'sub_0807E0A0', 'params': 'w','name': 'abs jump' }, - {'fun': 'sub_0807E0B8', 'params': 'w', 'name': 'abs jump if'}, - {'fun': 'sub_0807E0CC', 'params': 'w', 'name': 'abs jump if not'}, - {'fun': 'sub_0807E0E0', 'params': 'w'}, - {'fun': 'sub_0807E10C', 'params':'p', 'name': 'Execute function via pointer'},# 'exec': sub_0807E10C}, - {'fun': 'sub_0807E124', 'params': 'pw'}, - {'fun': 'sub_0807E148', 'params': 'w'}, - {'fun': 'sub_0807E158', 'params': 'w'}, - {'fun': 'sub_0807E188', 'params': 's'}, - {'fun': 'sub_0807E1D8', 'params': 's'}, - {'fun': 'sub_0807E4AC', 'params': 's'}, - {'fun': 'sub_0807E200', 'params': 's'}, - {'fun': 'sub_0807E220', 'params': 'ss'}, - {'fun': 'sub_0807E240', 'params': 's'}, - {'fun': 'sub_0807E260', 'params': 's'}, - {'fun': 'sub_0807E280', 'params': 'sss'}, - {'fun': 'sub_0807E2A8', 'params': 's'}, - {'fun': 'sub_0807E2E4', 'params': ''}, - {'fun': 'sub_0807E30C', 'params': ''}, - {'fun': 'sub_0807E390', 'params': 's'}, - {'fun': 'sub_0807E3BC', 'params': 's'}, - {'fun': 'sub_0807E3E8', 'params': ''}, - {'fun': 'sub_0807E40C', 'params': 's'}, - {'fun': 'sub_0807E42C', 'params': 'ss'}, - {'fun': 'sub_0807E48C', 'params': 's'}, - {'fun': 'sub_0807E4CC', 'params': 'w'}, - {'fun': 'sub_0807E4EC', 'params': 'w'}, - {'fun': 'sub_0807E514', 'params': 's'}, - {'fun': 'sub_0807E538', 'params':'w'}, - {'fun': 'sub_0807E564', 'params': ''}, - {'fun': 'sub_0807E584', 'params': ''}, - {'fun': 'sub_0807E5A0', 'params': 's'}, - {'fun': 'sub_0807E5CC', 'params': 's'}, - {'fun': 'sub_0807E5F8', 'params': 'w'},# 'exec': sub_0807E5F8}, - {'fun': 'sub_0807E610', 'params': 'w'}, - {'fun': 'sub_0807E628', 'params': 's'}, - {'fun': 'sub_0807E634', 'params': 'ss'}, - {'fun': 'sub_0807E644', 'params': 's'}, - {'fun': 'sub_0807E650', 'params': 's'}, - {'fun': 'sub_0807E65C', 'params': 's'}, - {'fun': 'sub_0807E668', 'params': 's'}, - {'fun': 'sub_0807E674', 'params': 's'}, - {'fun': 'sub_0807E680', 'params': 's'}, - {'fun': 'sub_0807E690', 'params': 'w'}, - {'fun': 'sub_0807E6AC', 'params': 'w'}, - {'fun': 'sub_0807E6DC', 'params': ''}, - {'fun': 'sub_0807E700', 'params': ''}, - {'fun': 'sub_0807E72C', 'params': ''}, - {'fun': 'sub_0807E75C', 'params': ''}, - {'fun': 'sub_0807E778', 'params': 's'}, - {'fun': 'sub_0807E788', 'params': 'w'}, - {'fun': 'sub_0807E79C', 'params': ''}, - {'fun': 'nullsub_508', 'params': 's'}, - {'fun': 'sub_0807E7B0', 'params': ''}, - {'fun': 'sub_0807E7C4', 'params': ''}, - {'fun': 'sub_0807E7D8', 'params': ''}, - {'fun': 'sub_0807E7EC', 'params': ''}, - {'fun': 'sub_0807E800', 'params': 'w'}, - {'fun': 'sub_0807E80C', 'params': 'w'}, - {'fun': 'sub_0807E858', 'params': 's'}, - {'fun': 'sub_0807E864', 'params': ''}, - {'fun': 'sub_0807E878', 'params': ''}, - {'fun': 'sub_0807E888', 'params': ''}, - {'fun': 'sub_0807E898', 'params': 'w'}, - {'fun': 'sub_0807E8C4', 'params': 'w'}, - {'fun': 'sub_0807E8D4', 'params': 's'}, - {'fun': 'sub_0807E8E4_0', 'params': ''}, # duplicate - {'fun': 'sub_0807E8E4_1', 'params': ''}, # duplicate - {'fun': 'sub_0807E8E4_2', 'params': ''}, # duplicate - {'fun': 'sub_0807E8E4_3', 'params': ''}, # duplicate - {'fun': 'sub_0807E908', 'params': 's'}, - {'fun': 'sub_0807E914', 'params': 'w'}, - {'fun': 'sub_0807E924', 'params': ''}, - {'fun': 'sub_0807E930', 'params': 's'}, - {'fun': 'sub_0807E944', 'params': ''}, - {'fun': 'sub_0807E974', 'params': 's'}, - {'fun': 'sub_0807E9D4', 'params': ''}, - {'fun': 'sub_0807E9DC', 'params': ''}, - {'fun': 'sub_0807E9E4', 'params': 's'}, - {'fun': 'sub_0807E9F0', 'params': ''}, - {'fun': 'sub_0807EA4C', 'params': ''}, - {'fun': 'sub_0807EA88', 'params': 's'}, - {'fun': 'sub_0807EA94', 'params': ''}, - {'fun': 'sub_0807EAB4', 'params': 's'}, - {'fun': 'sub_0807EAC0', 'params': 's'}, - {'fun': 'sub_0807EAD0', 'params': 'ss'}, - {'fun': 'sub_0807EAF0', 'params': 'w'}, - {'fun': 'sub_0807EB18', 'params': ''}, - {'fun': 'sub_0807EB28', 'params': 's'}, - {'fun': 'sub_0807EB38', 'params': ''}, - {'fun': 'sub_0807EB44', 'params': 's'}, - {'fun': 'sub_0807EB4C', 'params': 'ss'}, - {'fun': 'sub_0807EB74', 'params': ''}, - {'fun': 'sub_0807EB8C', 'params': ''}, - {'fun': 'sub_0807EBA8', 'params': 's'}, - {'fun': 'sub_0807EBB0', 'params': 's'}, - {'fun': 'sub_0807EBC0', 'params': 's'}, - {'fun': 'sub_0807EBC8', 'params': 'w'}, - {'fun': 'sub_0807EBD8', 'params': 'w'}, - {'fun': 'sub_0807EBF4', 'params': 'ss'}, - {'fun': 'sub_0807EC08', 'params': ''}, - {'fun': 'nullsub_509', 'params': ''}, - {'fun': 'sub_0807EC1C', 'params': 's'}, - {'fun': 'sub_0807EC64', 'params': 's'}, - {'fun': 'sub_0807EC94', 'params': 's'}, - {'fun': 'sub_0807ECC4', 'params': 's'}, - {'fun': 'sub_0807ECF4', 'params': 's'}, - {'fun': 'sub_0807ED24', 'params': 'sss'}, - {'fun': 'sub_0807EDD4', 'params': 'ss'}, - {'fun': 'sub_0807EE04', 'params': 'ss'}, - {'fun': 'sub_0807EE30', 'params': ''}, - {'fun': 'sub_0807EEB4', 'params': ''}, - {'fun': 'sub_0807EEF4', 'params': 'ss'}, - {'fun': 'sub_0807EF3C', 'params': 'ss'}, - {'fun': 'sub_0807EF80', 'params': 's'}, - {'fun': 'sub_0807EF90', 'params': 's'}, - {'fun': 'sub_0807EFA0', 'params': 's'}, - {'fun': 'sub_0807EFAC', 'params': 's'}, - {'fun': 'sub_0807EFD4', 'params': 'w'}, - {'fun': 'sub_0807EFE4', 'params': ''}, - {'fun': 'sub_0807EFF4', 'params': 's'}, - {'fun': 'sub_0807F004', 'params': 's'}, - {'fun': 'sub_0807F010', 'params': 's'}, - {'fun': 'sub_0807F034', 'params': 's'}, - {'fun': 'sub_0807F050', 'params': 's'}, - {'fun': 'sub_0807F060', 'params': 's'}, - {'fun': 'sub_0807F078', 'params': 'ss'}, - {'fun': 'sub_0807F088', 'params': 's'}, - {'fun': 'sub_0807F098', 'params': ''}, - {'fun': 'sub_0807F0A4', 'params': ''}, - {'fun': 'sub_0807F0B4', 'params': 's'}, - {'fun': 'sub_0807F0C8', 'params': 'ss'} + {'fun': 'ScriptCommandNop', 'params': ''}, + {'fun': 'ScriptCommand_StartScript', 'params': '', 'name': 'start executing scripts'}, + {'fun': 'ScriptCommand_StopScript', 'params': '', 'name': 'stop executing scripts'}, + {'fun': 'ScriptCommand_Jump', 'params': 's', 'name': 'jump by offset'}, + {'fun': 'ScriptCommand_JumpIf', 'params': 's', 'name': 'jump if'}, + {'fun': 'ScriptCommand_JumpIfNot', 'params': 's', 'name': 'jump if not'}, + {'fun': 'ScriptCommand_0807E078', 'params': 's'}, + {'fun': 'ScriptCommand_JumpAbsolute', 'params': 'w','name': 'abs jump' }, + {'fun': 'ScriptCommand_JumpAbsoluteIf', 'params': 'w', 'name': 'abs jump if'}, + {'fun': 'ScriptCommand_JumpAbsoluteIfNot', 'params': 'w', 'name': 'abs jump if not'}, + {'fun': 'ScriptCommand_0807E0E0', 'params': 'w'}, + {'fun': 'ScriptCommand_Call', 'params':'p', 'name': 'Execute function via pointer'},# 'exec': ScriptCommand_Call}, + {'fun': 'ScriptCommand_CallWithArg', 'params': 'pw'}, + {'fun': 'ScriptCommand_LoadRoomEntityList', 'params': 'w'}, + {'fun': 'ScriptCommand_TestBit', 'params': 'w'}, + {'fun': 'ScriptCommand_CheckInventory1', 'params': 's'}, + {'fun': 'ScriptCommand_CheckInventory2', 'params': 's'}, + {'fun': 'ScriptCommand_HasRoomItemForSale', 'params': 's'}, + {'fun': 'ScriptCommand_CheckLocalFlag', 'params': 's'}, + {'fun': 'ScriptCommand_CheckLocalFlagByOffset', 'params': 'ss'}, + {'fun': 'ScriptCommand_CheckGlobalFlag', 'params': 's'}, + {'fun': 'ScriptCommand_CheckRoomFlag', 'params': 's'}, + {'fun': 'ScriptCommand_CheckPlayerInRegion', 'params': 'sss'}, + {'fun': 'ScriptCommand_CheckPlayerInRegion2', 'params': 's'}, + {'fun': 'ScriptCommand_CheckEntityInteractType', 'params': ''}, + {'fun': 'ScriptCommand_0807E30C', 'params': ''}, + {'fun': 'ScriptCommand_HasRupees', 'params': 's'}, + {'fun': 'ScriptCommand_0807E3BC', 'params': 's'}, + {'fun': 'ScriptCommand_0807E3E8', 'params': ''}, + {'fun': 'ScriptCommand_CheckKinstoneFused', 'params': 's'}, + {'fun': 'ScriptCommand_BuyItem', 'params': 'ss'}, + {'fun': 'ScriptCommand_0807E48C', 'params': 's'}, + {'fun': 'ScriptCommand_0807E4CC', 'params': 'w'}, + {'fun': 'ScriptCommand_0807E4EC', 'params': 'w'}, + {'fun': 'ScriptCommand_0807E51', 'params': 's'}, + {'fun': 'ScriptCommand_CheckPlayerFlags', 'params':'w'}, + {'fun': 'ScriptCommand_0807E564', 'params': ''}, + {'fun': 'ScriptCommand_EntityHasHeight', 'params': ''}, + {'fun': 'ScriptCommand_ComparePlayerAction', 'params': 's'}, + {'fun': 'ScriptCommand_ComparePlayerAnimationState', 'params': 's'}, + {'fun': 'ScriptCommand_0807E5F8', 'params': 'w'},# 'exec': ScriptCommand_0807E5F8}, + {'fun': 'ScriptCommand_0807E610', 'params': 'w'}, + {'fun': 'ScriptCommand_SetLocalFlag', 'params': 's'}, + {'fun': 'ScriptCommand_SetLocalFlagByOffset', 'params': 'ss'}, + {'fun': 'ScriptCommand_ClearLocalFlag', 'params': 's'}, + {'fun': 'ScriptCommand_SetGlobalFlag', 'params': 's'}, + {'fun': 'ScriptCommand_ClearGlobalFlag', 'params': 's'}, + {'fun': 'ScriptCommand_SetRoomFlag', 'params': 's'}, + {'fun': 'ScriptCommand_ClearRoomFlag', 'params': 's'}, + {'fun': 'ScriptCommand_Wait', 'params': 's'}, + {'fun': 'ScriptCommand_WaitForSomething', 'params': 'w'}, + {'fun': 'ScriptCommand_WaitForSomething2', 'params': 'w'}, + {'fun': 'ScriptCommand_WaitPlayerAction8', 'params': ''}, + {'fun': 'ScriptCommand_WaitForPlayerAction0x17', 'params': ''}, + {'fun': 'ScriptCommand_WaitFor_1', 'params': ''}, + {'fun': 'ScriptCommand_WaitFor_2', 'params': ''}, + {'fun': 'ScriptCommand_0807E778', 'params': 's'}, + {'fun': 'ScriptCommand_0807E788', 'params': 'w'}, + {'fun': 'ScriptCommand_0807E79C', 'params': ''}, + {'fun': 'ScriptCommandNop2', 'params': 's'}, + {'fun': 'ScriptCommand_DoFade4', 'params': ''}, + {'fun': 'ScriptCommand_DoFade5', 'params': ''}, + {'fun': 'ScriptCommand_DoFade6', 'params': ''}, + {'fun': 'ScriptCommand_DoFade7', 'params': ''}, + {'fun': 'ScriptCommand_0807E800', 'params': 'w'}, + {'fun': 'ScriptCommand_0807E80C', 'params': 'w'}, + {'fun': 'ScriptCommand_0807E858', 'params': 's'}, + {'fun': 'ScriptCommand_0807E864', 'params': ''}, + {'fun': 'ScriptCommand_0807E878', 'params': ''}, + {'fun': 'ScriptCommand_0807E888', 'params': ''}, + {'fun': 'ScriptCommand_SetPlayerAction', 'params': 'w'}, + {'fun': 'ScriptCommand_StartPlayerScript', 'params': 'w'}, + {'fun': 'ScriptCommand_0807E8D4', 'params': 's'}, + {'fun': 'ScriptCommand_0807E8E4_0', 'params': ''}, # duplicate + {'fun': 'ScriptCommand_0807E8E4_1', 'params': ''}, # duplicate + {'fun': 'ScriptCommand_0807E8E4_2', 'params': ''}, # duplicate + {'fun': 'ScriptCommand_0807E8E4_3', 'params': ''}, # duplicate + {'fun': 'ScriptCommand_0807E908', 'params': 's'}, + {'fun': 'ScriptCommand_0807E914', 'params': 'w'}, + {'fun': 'ScriptCommand_0807E924', 'params': ''}, + {'fun': 'ScriptCommand_0807E930', 'params': 's'}, + {'fun': 'ScriptCommand_0807E944', 'params': ''}, + {'fun': 'ScriptCommand_0807E974', 'params': 's'}, + {'fun': 'ScriptCommand_0807E9D4', 'params': ''}, + {'fun': 'ScriptCommand_0807E9DC', 'params': ''}, + {'fun': 'ScriptCommand_0807E9E4', 'params': 's'}, + {'fun': 'ScriptCommand_0807E9F0', 'params': ''}, + {'fun': 'ScriptCommand_0807EA4C', 'params': ''}, + {'fun': 'ScriptCommand_0807EA88', 'params': 's'}, + {'fun': 'ScriptCommand_0807EA94', 'params': ''}, + {'fun': 'ScriptCommand_TextboxNoOverlapFollow', 'params': 's'}, + {'fun': 'ScriptCommand_TextboxNoOverlap', 'params': 's'}, + {'fun': 'ScriptCommand_TextboxNoOverlapFollowPos', 'params': 'ss'}, + {'fun': 'ScriptCommand_0807EAF0', 'params': 'w'}, + {'fun': 'ScriptCommand_TextboxNoOverlapVar', 'params': ''}, + {'fun': 'ScriptCommand_0807EB28', 'params': 's'}, + {'fun': 'ScriptCommand_0807EB38', 'params': ''}, + {'fun': 'ScriptCommand_0807EB44', 'params': 's'}, + {'fun': 'ScriptCommand_0807EB4C', 'params': 'ss'}, + {'fun': 'ScriptCommand_0807EB74', 'params': ''}, + {'fun': 'ScriptCommand_0807EB8C', 'params': ''}, + {'fun': 'ScriptCommand_SetEntityDirection', 'params': 's'}, + {'fun': 'ScriptCommand_SetEntityDirectionWithAnimationState', 'params': 's'}, + {'fun': 'ScriptCommand_SetEntityNonPlanarMovement', 'params': 's'}, + {'fun': 'ScriptCommand_SetEntity0x20', 'params': 'w'}, + {'fun': 'ScriptCommand_SetEntityPositionRelative', 'params': 'w'}, + {'fun': 'ScriptCommand_SetEntityPosition', 'params': 'ss'}, + {'fun': 'ScriptCommand_MoveEntityToPlayer', 'params': ''}, + {'fun': 'ScriptCommandNop3', 'params': ''}, + {'fun': 'ScriptCommand_0807EC1C', 'params': 's'}, + {'fun': 'ScriptCommand_0807EC64', 'params': 's'}, + {'fun': 'ScriptCommand_0807EC94', 'params': 's'}, + {'fun': 'ScriptCommand_0807ECC4', 'params': 's'}, + {'fun': 'ScriptCommand_0807ECF4', 'params': 's'}, + {'fun': 'ScriptCommand_0807ED24', 'params': 'sss'}, + {'fun': 'ScriptCommand_0807EDD4', 'params': 'ss'}, + {'fun': 'ScriptCommand_0807EE04', 'params': 'ss'}, + {'fun': 'ScriptCommand_0807EE30', 'params': ''}, + {'fun': 'ScriptCommand_0807EEB4', 'params': ''}, + {'fun': 'ScriptCommand_0807EEF4', 'params': 'ss'}, + {'fun': 'ScriptCommand_0807EF3C', 'params': 'ss'}, + {'fun': 'ScriptCommand_0807EF80', 'params': 's'}, + {'fun': 'ScriptCommand_0807EF90', 'params': 's'}, + {'fun': 'ScriptCommand_SoundReq', 'params': 's'}, + {'fun': 'ScriptCommand_SoundReq2', 'params': 's'}, + {'fun': 'ScriptCommand_SoundReq3', 'params': 'w'}, + {'fun': 'ScriptCommand_SoundReq0x80100000', 'params': ''}, + {'fun': 'ScriptCommand_ModRupees', 'params': 's'}, + {'fun': 'ScriptCommand_ModHealth', 'params': 's'}, + {'fun': 'ScriptCommand_IncreaseMaxHealth', 'params': 's'}, + {'fun': 'ScriptCommand_0807F034', 'params': 's'}, + {'fun': 'ScriptCommand_0807F050', 'params': 's'}, + {'fun': 'ScriptCommand_GetInventoryValue', 'params': 's'}, + {'fun': 'ScriptCommand_0807F078', 'params': 'ss'}, + {'fun': 'ScriptCommand_0807F088', 'params': 's'}, + {'fun': 'ScriptCommand_CameraTargetEntity', 'params': ''}, + {'fun': 'ScriptCommand_CameraTargetPlayer', 'params': ''}, + {'fun': 'ScriptCommand_0807F0B4', 'params': 's'}, + {'fun': 'ScriptCommand_0807F0C8', 'params': 'ss'} ] # definitions for parameters @@ -225,6 +225,11 @@ parameters = { }, } +def build_script_command(name: str): + name = name.replace("ScriptCommand_", "") + if name[0].isdigit(): + return '_' + name + return name def ExecuteScriptCommandSet(ctx: Context): cmd = struct.unpack('H', ctx.data[ctx.ptr:ctx.ptr+2])[0] @@ -268,7 +273,7 @@ def ExecuteScriptCommandSet(ctx: Context): #ctx.ptr += unk_06*2 #return 1 - print(command['fun'] + ' ' + params['read'](ctx)) + print(build_script_command(command['fun']) + ' ' + params['read'](ctx)) # Execute script ctx.ptr += unk_06*2 @@ -319,7 +324,7 @@ def generate_macros(): params = parameters[command['params']] id = ((params['length']+1) << 0xA) + num - print(f'.macro {command["fun"]} {params["param"]}') + print(f'.macro {build_script_command(command["fun"])} {params["param"]}') print(f' .short {u16_to_hex(id)}') if params['expr'] != '': print(params['expr']) |
