diff options
author | Andrew <andrewrmartinek@gmail.com> | 2020-12-14 02:26:58 -0500 |
---|---|---|
committer | Andrew <andrewrmartinek@gmail.com> | 2020-12-14 02:26:58 -0500 |
commit | 551d228c1760778293a7129e83c0d97d9dc08f01 (patch) | |
tree | a57287d898f0163bd191428fc8e4432f05eedcda | |
parent | 2f99558df349c0e3e949de4ad4f0d2710d28f993 (diff) |
Added script loop enders as macros
-rw-r--r-- | src/engine/bank03.asm | 16 | ||||
-rw-r--r-- | src/macros/scripts.asm | 33 | ||||
-rw-r--r-- | tools/script_extractor.py | 22 |
3 files changed, 52 insertions, 19 deletions
diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index fdb3061..7bdc185 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -3249,7 +3249,7 @@ Script_EnterLabFirstTime: ; d753 (3:5753) run_command ScriptCommand_SetNextNPCandScript db NPC_SAM dw Script_d779 - run_command ScriptCommand_EndScriptLoop1 + end_script_loop ret Script_d779: ; d779 (03:5779) @@ -3273,7 +3273,7 @@ Script_d779: ; d779 (03:5779) run_command ScriptCommand_SetNextNPCandScript db NPC_DRMASON dw Script_d794 - run_command ScriptCommand_EndScriptLoop1 + end_script_loop ret Script_d794: ; d794 (3:5794) @@ -3398,7 +3398,7 @@ Script_d794: ; d794 (3:5794) run_command ScriptCommand_SetNextNPCandScript db NPC_SAM dw Script_d827 - run_command ScriptCommand_EndScriptLoop1 + end_script_loop ret Script_d827: ; d827 (3:5827) @@ -4625,7 +4625,7 @@ Script_BeatJoshua: ; e26c (3:626c) run_command ScriptCommand_SetNextNPCandScript db NPC_AMY dw Script_MeetAmy - run_command ScriptCommand_EndScriptLoop1 + end_script_loop ret NPCMovementTable_e2a1: ; e2a1 (3:62a1) @@ -6256,7 +6256,7 @@ Script_Clerk12: ; f295 (3:7295) run_command ScriptCommand_SetNextNPCandScript db $4a dw Script_f353 - run_command ScriptCommand_EndScriptLoop1 + end_script_loop ret ; f349 @@ -6427,7 +6427,7 @@ LostAtChallengeHall: ; f392 (3:7392) run_command ScriptCommand_SetNextNPCandScript db NPC_CLERK12 dw Script_f3e9 - run_command ScriptCommand_EndScriptLoop1 + end_script_loop ret Script_f3e9: ; f3e9 (3:73e9) @@ -6745,7 +6745,7 @@ ScriptJump_f4db: ; f4db (3:74db) run_command ScriptCommand_SetNextNPCandScript db NPC_CLERK12 dw Script_f3e9 - run_command ScriptCommand_EndScriptLoop1 + end_script_loop ret ; f559 @@ -6826,7 +6826,7 @@ Script_f631: ; f631 (3:7631) run_command ScriptCommand_SetNextNPCandScript db $02 dw $763c - run_command ScriptCommand_EndScriptLoop1 + end_script_loop ret ; 0xf63c diff --git a/src/macros/scripts.asm b/src/macros/scripts.asm index 19694e8..cb3c8a8 100644 --- a/src/macros/scripts.asm +++ b/src/macros/scripts.asm @@ -111,9 +111,42 @@ ENDM const ScriptCommand_EndScriptLoop10_index ; $67 ; Script Macros +end_script_loop: MACRO + run_command ScriptCommand_EndScriptLoop1 +ENDM move_player: MACRO run_command ScriptCommand_MovePlayer db \1 db \2 ENDM + +end_script_loop_2: MACRO + run_command ScriptCommand_EndScriptLoop2 +ENDM +end_script_loop_3: MACRO + run_command ScriptCommand_EndScriptLoop3 +ENDM +end_script_loop_4: MACRO + run_command ScriptCommand_EndScriptLoop4 +ENDM +end_script_loop_5: MACRO + run_command ScriptCommand_EndScriptLoop5 +ENDM +end_script_loop_6: MACRO + run_command ScriptCommand_EndScriptLoop6 +ENDM + +end_script_loop_7: MACRO + run_command ScriptCommand_EndScriptLoop7 +ENDM +end_script_loop_8: MACRO + run_command ScriptCommand_EndScriptLoop8 +ENDM +end_script_loop_9: MACRO + run_command ScriptCommand_EndScriptLoop9 +ENDM +end_script_loop_10: MACRO + run_command ScriptCommand_EndScriptLoop10 +ENDM + diff --git a/tools/script_extractor.py b/tools/script_extractor.py index a678bac..79eb276 100644 --- a/tools/script_extractor.py +++ b/tools/script_extractor.py @@ -213,8 +213,8 @@ def printScript(game_data, loc, auto, ignore_broken, scriptList, \ def createList(): # this is a func just so all this can go at the bottom # name, arg list, is an ender return [ - ("ScriptCommand_EndScriptLoop1", "", QUIT_CONTINUE_CODE,""), - ("ScriptCommand_CloseAdvancedTextBox", "", DO_NOT_QUIT,""), + ("ScriptCommand_EndScriptLoop1", "", QUIT_CONTINUE_CODE,"end_script_loop"), + ("ScriptCommand_CloseAdvancedTextBo", "", DO_NOT_QUIT,""), ("ScriptCommand_PrintTextString", "t", DO_NOT_QUIT,""), ("Func_ccdc", "t", DO_NOT_QUIT,""), ("ScriptCommand_AskQuestionJump", "tj", DO_NOT_QUIT,""), # more complex behavior too (jumping) @@ -296,11 +296,11 @@ def createList(): # this is a func just so all this can go at the bottom ("Func_d2f6", "q", DO_NOT_QUIT,""), ("Func_d317", "", DO_NOT_QUIT,""), ("Func_d43d", "", DO_NOT_QUIT,""), - ("ScriptCommand_EndScriptLoop2", "q", QUIT_CONTINUE_CODE,""), - ("ScriptCommand_EndScriptLoop3", "q", QUIT_CONTINUE_CODE,""), - ("ScriptCommand_EndScriptLoop4", "q", QUIT_CONTINUE_CODE,""), - ("ScriptCommand_EndScriptLoop5", "q", QUIT_CONTINUE_CODE,""), - ("ScriptCommand_EndScriptLoop6", "q", QUIT_CONTINUE_CODE,""), + ("ScriptCommand_EndScriptLoop2", "q", QUIT_CONTINUE_CODE,"end_script_loop_2"), + ("ScriptCommand_EndScriptLoop3", "q", QUIT_CONTINUE_CODE,"end_script_loop_3"), + ("ScriptCommand_EndScriptLoop4", "q", QUIT_CONTINUE_CODE,"end_script_loop_4"), + ("ScriptCommand_EndScriptLoop5", "q", QUIT_CONTINUE_CODE,"end_script_loop_5"), + ("ScriptCommand_EndScriptLoop6", "q", QUIT_CONTINUE_CODE,"end_script_loop_6"), ("ScriptCommand_SetFlagValue", "fb", DO_NOT_QUIT,""), ("ScriptCommand_JumpIfFlagZero1", "fj", DO_NOT_QUIT,""), ("ScriptCommand_JumpIfFlagNonzero1", "q", DO_NOT_QUIT,""), @@ -313,10 +313,10 @@ def createList(): # this is a func just so all this can go at the bottom ("ScriptCommand_JumpIfFlagNonzero2", "fj", DO_NOT_QUIT,""), ("ScriptCommand_JumpIfFlagZero2", "fj", DO_NOT_QUIT,""), ("ScriptCommand_IncrementFlagValue", "f", DO_NOT_QUIT,""), - ("ScriptCommand_EndScriptLoop7", "q", QUIT_CONTINUE_CODE,""), - ("ScriptCommand_EndScriptLoop8", "q", QUIT_CONTINUE_CODE,""), - ("ScriptCommand_EndScriptLoop9", "q", QUIT_CONTINUE_CODE,""), - ("ScriptCommand_EndScriptLoop10", "q", QUIT_CONTINUE_CODE,"") + ("ScriptCommand_EndScriptLoop7", "q", QUIT_CONTINUE_CODE,"end_script_loop_7"), + ("ScriptCommand_EndScriptLoop8", "q", QUIT_CONTINUE_CODE,"end_script_loop_8"), + ("ScriptCommand_EndScriptLoop9", "q", QUIT_CONTINUE_CODE,"end_script_loop_9"), + ("ScriptCommand_EndScriptLoop10", "q", QUIT_CONTINUE_CODE,"end_script_loop_10") ] main() |