summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/engine/bank03.asm16
-rw-r--r--src/macros/scripts.asm33
-rw-r--r--tools/script_extractor.py22
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()