summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/engine/bank03.asm4
-rw-r--r--src/macros/scripts.asm223
-rw-r--r--tools/script_extractor.py268
3 files changed, 265 insertions, 230 deletions
diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm
index 58367e2..c3b7a50 100644
--- a/src/engine/bank03.asm
+++ b/src/engine/bank03.asm
@@ -3234,9 +3234,7 @@ Script_DrMason: ; d727 (3:5727)
Script_EnterLabFirstTime: ; d753 (3:5753)
start_script
- run_command ScriptCommand_MovePlayer
- db NORTH
- db $02
+ move_player NORTH, 2
run_command ScriptCommand_MovePlayer
db NORTH
db $02
diff --git a/src/macros/scripts.asm b/src/macros/scripts.asm
index ed7b30d..19694e8 100644
--- a/src/macros/scripts.asm
+++ b/src/macros/scripts.asm
@@ -4,117 +4,116 @@ run_command: MACRO
db \1_index
ENDM
-; TODO: create macros for overworld scripts after their usage and arguments are figured out.
-; For example (current ScriptCommand_GiveBoosterPacks_index):
-
-; const SCRIPT_GIVE_BOOSTER_PACKS ; $0c
-;give_booster_packs: MACRO
-; db SCRIPT_GIVE_BOOSTER_PACKS
-; db \1, \2, \3
-;ENDM
-
const_def
- const ScriptCommand_EndScriptLoop1_index ; $00
- const ScriptCommand_CloseAdvancedTextBox_index ; $01
- const ScriptCommand_PrintTextString_index ; $02
- const Func_ccdc_index ; $03
- const ScriptCommand_AskQuestionJump_index ; $04
- const ScriptCommand_StartBattle_index ; $05
- const ScriptCommand_PrintVariableText_index ; $06
- const Func_cda8_index ; $07
- const ScriptCommand_PrintTextQuitFully_index ; $08
- const Func_cdcb_index ; $09
- const ScriptCommand_MoveActiveNPCByDirection_index ; $0a
- const ScriptCommand_CloseTextBox_index ; $0b
- const ScriptCommand_GiveBoosterPacks_index ; $0c
- const ScriptCommand_CheckIfCardInCollectionOrDecks_index ; $0d
- const ScriptCommand_CheckIfCardInCollection_index ; $0e
- const ScriptCommand_GiveCard_index ; $0f
- const ScriptCommand_TakeCard_index ; $10
- const Func_cf53_index ; $11
- const Func_cf7b_index ; $12
- const ScriptCommand_CheckRawAmountOfCardsOwned_index ; $13
- const ScriptCommand_JumpBasedOnFightingClubPupilStatus_index ; $14
- const Func_cfc6_index ; $15
- const Func_cfd4_index ; $16
- const Func_d00b_index ; $17
- const Func_d025_index ; $18
- const Func_d032_index ; $19
- const Func_d03f_index ; $1a
- const ScriptCommand_Jump_index ; $1b
- const ScriptCommand_TryGiveMedalPCPacks_index ; $1c
- const ScriptCommand_SetPlayerDirection_index ; $1d
- const ScriptCommand_MovePlayer_index ; $1e
- const ScriptCommand_ShowCardReceivedScreen_index ; $1f
- const ScriptCommand_SetDialogName_index ; $20
- const ScriptCommand_SetNextNPCandScript_index ; $21
- const Func_d095_index ; $22
- const Func_d0be_index ; $23
- const ScriptCommand_DoFrames_index ; $24
- const Func_d0d9_index ; $25
- const ScriptCommand_JumpIfPlayerCoordMatches_index ; $26
- const ScriptCommand_MoveActiveNPC_index ; $27
- const ScriptCommand_GiveOneOfEachTrainerBooster_index ; $28
- const Func_d103_index ; $29
- const Func_d125_index ; $2a
- const Func_d135_index ; $2b
- const Func_d16b_index ; $2c
- const Func_cd4f_index ; $2d
- const Func_cd94_index ; $2e
- const ScriptCommand_MoveWramNPC_index ; $2f
- const Func_cdd8_index ; $30
- const Func_cdf5_index ; $31
- const Func_d195_index ; $32
- const Func_d1ad_index ; $33
- const Func_d1b3_index ; $34
- const ScriptCommand_QuitScriptFully_index ; $35
- const Func_d244_index ; $36
- const Func_d24c_index ; $37
- const ScriptCommand_OpenDeckMachine_index ; $38
- const Func_d271_index ; $39
- const ScriptCommand_EnterMap_index ; $3a
+ const ScriptCommand_EndScriptLoop1_index ; $00
+ const ScriptCommand_CloseAdvancedTextBox_index ; $01
+ const ScriptCommand_PrintTextString_index ; $02
+ const Func_ccdc_index ; $03
+ const ScriptCommand_AskQuestionJump_index ; $04
+ const ScriptCommand_StartBattle_index ; $05
+ const ScriptCommand_PrintVariableText_index ; $06
+ const Func_cda8_index ; $07
+ const ScriptCommand_PrintTextQuitFully_index ; $08
+ const Func_cdcb_index ; $09
+ const ScriptCommand_MoveActiveNPCByDirection_index ; $0a
+ const ScriptCommand_CloseTextBox_index ; $0b
+ const ScriptCommand_GiveBoosterPacks_index ; $0c
+ const ScriptCommand_CheckIfCardInCollectionOrDecks_index ; $0d
+ const ScriptCommand_CheckIfCardInCollection_index ; $0e
+ const ScriptCommand_GiveCard_index ; $0f
+ const ScriptCommand_TakeCard_index ; $10
+ const Func_cf53_index ; $11
+ const Func_cf7b_index ; $12
+ const ScriptCommand_CheckRawAmountOfCardsOwned_index ; $13
+ const ScriptCommand_JumpBasedOnFightingClubPupilStatus_index ; $14
+ const Func_cfc6_index ; $15
+ const Func_cfd4_index ; $16
+ const Func_d00b_index ; $17
+ const Func_d025_index ; $18
+ const Func_d032_index ; $19
+ const Func_d03f_index ; $1a
+ const ScriptCommand_Jump_index ; $1b
+ const ScriptCommand_TryGiveMedalPCPacks_index ; $1c
+ const ScriptCommand_SetPlayerDirection_index ; $1d
+ const ScriptCommand_MovePlayer_index ; $1e
+ const ScriptCommand_ShowCardReceivedScreen_index ; $1f
+ const ScriptCommand_SetDialogName_index ; $20
+ const ScriptCommand_SetNextNPCandScript_index ; $21
+ const Func_d095_index ; $22
+ const Func_d0be_index ; $23
+ const ScriptCommand_DoFrames_index ; $24
+ const Func_d0d9_index ; $25
+ const ScriptCommand_JumpIfPlayerCoordMatches_index ; $26
+ const ScriptCommand_MoveActiveNPC_index ; $27
+ const ScriptCommand_GiveOneOfEachTrainerBooster_index ; $28
+ const Func_d103_index ; $29
+ const Func_d125_index ; $2a
+ const Func_d135_index ; $2b
+ const Func_d16b_index ; $2c
+ const Func_cd4f_index ; $2d
+ const Func_cd94_index ; $2e
+ const ScriptCommand_MoveWramNPC_index ; $2f
+ const Func_cdd8_index ; $30
+ const Func_cdf5_index ; $31
+ const Func_d195_index ; $32
+ const Func_d1ad_index ; $33
+ const Func_d1b3_index ; $34
+ const ScriptCommand_QuitScriptFully_index ; $35
+ const Func_d244_index ; $36
+ const Func_d24c_index ; $37
+ const ScriptCommand_OpenDeckMachine_index ; $38
+ const Func_d271_index ; $39
+ const ScriptCommand_EnterMap_index ; $3a
const ScriptCommand_MoveArbitraryNPC_index ; $3b
- const Func_d209_index ; $3c
- const Func_d38f_index ; $3d
- const Func_d396_index ; $3e
- const Func_cd76_index ; $3f
- const Func_d39d_index ; $40
- const Func_d3b9_index ; $41
- const ScriptCommand_TryGivePCPack_index ; $42
- const ScriptCommand_nop_index ; $43
- const Func_d3d4_index ; $44
- const Func_d3e0_index ; $45
- const Func_d3fe_index ; $46
- const Func_d408_index ; $47
- const Func_d40f_index ; $48
- const ScriptCommand_PlaySFX_index ; $49
- const ScriptCommand_PauseSong_index ; $4a
- const ScriptCommand_ResumeSong_index ; $4b
- const Func_d41d_index ; $4c
- const ScriptCommand_WaitForSongToFinish_index ; $4d
- const Func_d435_index ; $4e
- const ScriptCommand_AskQuestionJumpDefaultYes_index ; $4f
- const Func_d2f6_index ; $50
- const Func_d317_index ; $51
- const Func_d43d_index ; $52
- const ScriptCommand_EndScriptLoop2_index ; $53
- const ScriptCommand_EndScriptLoop3_index ; $54
- const ScriptCommand_EndScriptLoop4_index ; $55
- const ScriptCommand_EndScriptLoop5_index ; $56
- const ScriptCommand_EndScriptLoop6_index ; $57
- const ScriptCommand_SetFlagValue_index ; $58
- const ScriptCommand_JumpIfFlagZero1_index ; $59
- const ScriptCommand_JumpIfFlagNonzero1_index ; $5a
- const ScriptCommand_JumpIfFlagEqual_index ; $5b
- const ScriptCommand_JumpIfFlagNotEqual_index ; $5c
- const ScriptCommand_JumpIfFlagNotLessThan_index ; $5d
- const ScriptCommand_JumpIfFlagLessThan_index ; $5e
- const ScriptCommand_MaxOutFlagValue_index ; $5f
- const ScriptCommand_ZeroOutFlagValue_index ; $60
- const ScriptCommand_JumpIfFlagNonzero2_index ; $61
- const ScriptCommand_JumpIfFlagZero2_index ; $62
- const ScriptCommand_IncrementFlagValue_index ; $63
- const ScriptCommand_EndScriptLoop7_index ; $64
- const ScriptCommand_EndScriptLoop8_index ; $65
- const ScriptCommand_EndScriptLoop9_index ; $66
- const ScriptCommand_EndScriptLoop10_index ; $67
+ const Func_d209_index ; $3c
+ const Func_d38f_index ; $3d
+ const Func_d396_index ; $3e
+ const Func_cd76_index ; $3f
+ const Func_d39d_index ; $40
+ const Func_d3b9_index ; $41
+ const ScriptCommand_TryGivePCPack_index ; $42
+ const ScriptCommand_nop_index ; $43
+ const Func_d3d4_index ; $44
+ const Func_d3e0_index ; $45
+ const Func_d3fe_index ; $46
+ const Func_d408_index ; $47
+ const Func_d40f_index ; $48
+ const ScriptCommand_PlaySFX_index ; $49
+ const ScriptCommand_PauseSong_index ; $4a
+ const ScriptCommand_ResumeSong_index ; $4b
+ const Func_d41d_index ; $4c
+ const ScriptCommand_WaitForSongToFinish_index ; $4d
+ const Func_d435_index ; $4e
+ const ScriptCommand_AskQuestionJumpDefaultYes_index ; $4f
+ const Func_d2f6_index ; $50
+ const Func_d317_index ; $51
+ const Func_d43d_index ; $52
+ const ScriptCommand_EndScriptLoop2_index ; $53
+ const ScriptCommand_EndScriptLoop3_index ; $54
+ const ScriptCommand_EndScriptLoop4_index ; $55
+ const ScriptCommand_EndScriptLoop5_index ; $56
+ const ScriptCommand_EndScriptLoop6_index ; $57
+ const ScriptCommand_SetFlagValue_index ; $58
+ const ScriptCommand_JumpIfFlagZero1_index ; $59
+ const ScriptCommand_JumpIfFlagNonzero1_index ; $5a
+ const ScriptCommand_JumpIfFlagEqual_index ; $5b
+ const ScriptCommand_JumpIfFlagNotEqual_index ; $5c
+ const ScriptCommand_JumpIfFlagNotLessThan_index ; $5d
+ const ScriptCommand_JumpIfFlagLessThan_index ; $5e
+ const ScriptCommand_MaxOutFlagValue_index ; $5f
+ const ScriptCommand_ZeroOutFlagValue_index ; $60
+ const ScriptCommand_JumpIfFlagNonzero2_index ; $61
+ const ScriptCommand_JumpIfFlagZero2_index ; $62
+ const ScriptCommand_IncrementFlagValue_index ; $63
+ const ScriptCommand_EndScriptLoop7_index ; $64
+ const ScriptCommand_EndScriptLoop8_index ; $65
+ const ScriptCommand_EndScriptLoop9_index ; $66
+ const ScriptCommand_EndScriptLoop10_index ; $67
+
+; Script Macros
+
+move_player: MACRO
+ run_command ScriptCommand_MovePlayer
+ db \1
+ db \2
+ENDM
diff --git a/tools/script_extractor.py b/tools/script_extractor.py
index 812678c..a678bac 100644
--- a/tools/script_extractor.py
+++ b/tools/script_extractor.py
@@ -55,43 +55,78 @@ def extractMovement(game_data, loc, errQuit):
def decodeLine(scriptList, game_data, loc, ignore_broken, locList):
currLine = scriptList[game_data[loc]]
- ret = "\trun_command " + currLine[0] + "\n"
+ macroMode = False
+ if currLine[3] != "": # this seems like a bad way to handle macros, but the least bad I wanna do rn
+ macroMode = True
+ ret = "\t" + currLine[3] + " "
+ else:
+ ret = "\trun_command " + currLine[0] + "\n"
loc+=1
quit = currLine[2]
for c in currLine[1]:
if c == "b":
- ret += "\tdb $" + format(game_data[loc],"02x") + "\n"
+ if macroMode:
+ ret += "$" + format(game_data[loc],"02x") + ", "
+ else:
+ ret += "\tdb $" + format(game_data[loc],"02x") + "\n"
loc += 1
elif c == "i":
- ret += "\tdb " + str(game_data[loc]) + "\n"
+ if macroMode:
+ ret += str(game_data[loc]) + ", "
+ else:
+ ret += "\tdb " + str(game_data[loc]) + "\n"
loc += 1
elif c == "w":
- ret += "\tdw $" + format((game_data[loc] + (game_data[loc+1]<<8)),"04x") + "\n"
+ if macroMode:
+ ret += "$" + format((game_data[loc] + (game_data[loc+1]<<8)),"04x") + ", "
+ else:
+ ret += "\tdw $" + format((game_data[loc] + (game_data[loc+1]<<8)),"04x") + "\n"
loc += 2
elif c == "j":
wordLoc = (game_data[loc] + (game_data[loc+1]<<8))
if wordLoc == 0000:
- ret += "\tdw NO_JUMP\n"
+ if macroMode:
+ ret += "NO_JUMP, "
+ else:
+ ret += "\tdw NO_JUMP\n"
else:
- ret += "\tdw .ows_" + format(wordLoc+0x8000,"04x") + "\n"
+ if macroMode:
+ ret += ".ows_" + format(wordLoc+0x8000,"04x") + ", "
+ else:
+ ret += "\tdw .ows_" + format(wordLoc+0x8000,"04x") + "\n"
locList.append(wordLoc)
loc += 2
elif c == "t":
addr = (game_data[loc] + (game_data[loc+1]<<8))
if addr == 0:
- ret += "\tdw $0000\n"
+ if macroMode:
+ ret += "$0000, "
+ else:
+ ret += "\tdw $0000\n"
else:
- ret += "\ttx Text" + format(addr,"04x") + "\n"
+ if macroMode:
+ ret += "Text" + format(addr,"04x") + ", "
+ else:
+ ret += "\ttx Text" + format(addr,"04x") + "\n"
loc += 2
elif c == "f":
- ret += "\tdb EVENT_FLAG_" + format(game_data[loc],"02X") + "\n"
+ if macroMode:
+ ret += "EVENT_FLAG_" + format(game_data[loc],"02X") + ", "
+ else:
+ ret += "\tdb EVENT_FLAG_" + format(game_data[loc],"02X") + "\n"
loc += 1
elif c == "d":
- ret += "\tdb " + dir_list[game_data[loc]] + "\n"
+ if macroMode:
+ ret += dir_list[game_data[loc]] + ", "
+ else:
+ ret += "\tdb " + dir_list[game_data[loc]] + "\n"
loc += 1
elif c == "m":
wordLoc = (game_data[loc] + (game_data[loc+1]<<8))
- ret += "\tdw NPCMovement_" + format(wordLoc + 0x8000, "04x") + "\n"
+ if macroMode:
+ ret += "NPCMovement_" + format(wordLoc + 0x8000, "04x") + ", "
+ else:
+ ret += "\tdw NPCMovement_" + format(wordLoc + 0x8000, "04x") + "\n"
loc += 2
elif c == "q":
print("haven't updated data for this yet")
@@ -99,6 +134,9 @@ def decodeLine(scriptList, game_data, loc, ignore_broken, locList):
quit = QUIT_DEBUG
else:
print("UNACCEPTED CHARACTER: " + c)
+ # if in macro mode, remove the extra `, ` from the end
+ if macroMode:
+ ret = ret[:-1]
return (loc, ret, quit)
def main():
@@ -175,110 +213,110 @@ 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_PrintTextString", "t", DO_NOT_QUIT),
- ("Func_ccdc", "t", DO_NOT_QUIT),
- ("ScriptCommand_AskQuestionJump", "tj", DO_NOT_QUIT), # more complex behavior too (jumping)
- ("ScriptCommand_StartBattle", "bbb", DO_NOT_QUIT),
- ("ScriptCommand_PrintVariableText", "tt", DO_NOT_QUIT),
- ("Func_cda8", "bbbb", DO_NOT_QUIT),
- ("ScriptCommand_PrintTextQuitFully", "t", QUIT_SPECIAL),
- ("Func_cdcb", "", DO_NOT_QUIT),
- ("ScriptCommand_MoveActiveNPCByDirection", "w", DO_NOT_QUIT),
- ("ScriptCommand_CloseTextBox", "", DO_NOT_QUIT),
- ("ScriptCommand_GiveBoosterPacks", "bbb", DO_NOT_QUIT),
- ("ScriptCommand_CheckIfCardInCollectionOrDecks", "bj", DO_NOT_QUIT), # more complex behavior too (jumping)
- ("ScriptCommand_CheckIfCardInCollection", "bj", DO_NOT_QUIT),
- ("ScriptCommand_GiveCard", "b", DO_NOT_QUIT),
- ("ScriptCommand_TakeCard", "b", DO_NOT_QUIT),
- ("Func_cf53", "w", DO_NOT_QUIT), # more complex behavior too (jumping)
- ("Func_cf7b", "", DO_NOT_QUIT),
- ("ScriptCommand_CheckRawAmountOfCardsOwned", "bbbb", DO_NOT_QUIT), # more complex behavior too (jumping + ??)
- ("ScriptCommand_JumpBasedOnFightingClubPupilStatus", "w", DO_NOT_QUIT), # only jumps? still needs args to do that though
- ("Func_cfc6", "b", DO_NOT_QUIT),
- ("Func_cfd4", "", DO_NOT_QUIT),
- ("Func_d00b", "", DO_NOT_QUIT), # includes something with random and extra data
- ("Func_d025", "w", DO_NOT_QUIT), # possibly only jumps, still needs args
- ("Func_d032", "w", DO_NOT_QUIT), # see above
- ("Func_d03f", "", DO_NOT_QUIT),
- ("ScriptCommand_Jump", "j", QUIT_JUMP), # jumps to d
- ("ScriptCommand_TryGiveMedalPCPacks", "", DO_NOT_QUIT),
- ("ScriptCommand_SetPlayerDirection", "d", DO_NOT_QUIT),
- ("ScriptCommand_MovePlayer", "db", DO_NOT_QUIT),
- ("ScriptCommand_ShowCardReceivedScreen", "b", DO_NOT_QUIT),
- ("ScriptCommand_SetDialogName", "b", DO_NOT_QUIT),
- ("ScriptCommand_SetNextNPCandScript", "bj", DO_NOT_QUIT),
- ("Func_d095", "bbb", DO_NOT_QUIT),
- ("Func_d0be", "bb", DO_NOT_QUIT),
- ("ScriptCommand_DoFrames", "i", DO_NOT_QUIT),
- ("Func_d0d9", "bbw", DO_NOT_QUIT), # jumps but still needs args
- ("ScriptCommand_JumpIfPlayerCoordMatches", "iij", DO_NOT_QUIT), # jumps but still needs args
- ("ScriptCommand_MoveActiveNPC", "m", DO_NOT_QUIT),
- ("ScriptCommand_GiveOneOfEachTrainerBooster", "", DO_NOT_QUIT),
- ("Func_d103", "q", DO_NOT_QUIT),
- ("Func_d125", "b", DO_NOT_QUIT),
- ("Func_d135", "b", DO_NOT_QUIT),
- ("Func_d16b", "b", DO_NOT_QUIT),
- ("Func_cd4f", "bbb", DO_NOT_QUIT),
- ("Func_cd94", "q", DO_NOT_QUIT),
- ("ScriptCommand_MoveWramNPC", "m", DO_NOT_QUIT),
- ("Func_cdd8", "", DO_NOT_QUIT),
- ("Func_cdf5", "bb", DO_NOT_QUIT),
- ("Func_d195", "", DO_NOT_QUIT),
- ("Func_d1ad", "", DO_NOT_QUIT),
- ("Func_d1b3", "", DO_NOT_QUIT),
- ("ScriptCommand_QuitScriptFully", "", QUIT_SPECIAL),
- ("Func_d244", "q", DO_NOT_QUIT),
- ("Func_d24c", "q", DO_NOT_QUIT),
- ("ScriptCommand_OpenDeckMachine", "b", DO_NOT_QUIT),
- ("Func_d271", "q", DO_NOT_QUIT),
- ("ScriptCommand_EnterMap", "bbood", DO_NOT_QUIT),
- ("ScriptCommand_MoveArbitraryNPC", "bm", DO_NOT_QUIT),
- ("Func_d209", "", DO_NOT_QUIT),
- ("Func_d38f", "b", DO_NOT_QUIT),
- ("Func_d396", "b", DO_NOT_QUIT),
- ("Func_cd76", "", DO_NOT_QUIT),
- ("Func_d39d", "b", DO_NOT_QUIT),
- ("Func_d3b9", "", DO_NOT_QUIT),
- ("ScriptCommand_TryGivePCPack", "b", DO_NOT_QUIT),
- ("ScriptCommand_nop", "", DO_NOT_QUIT),
- ("Func_d3d4", "q", DO_NOT_QUIT),
- ("Func_d3e0", "", DO_NOT_QUIT),
- ("Func_d3fe", "q", DO_NOT_QUIT),
- ("Func_d408", "b", DO_NOT_QUIT),
- ("Func_d40f", "q", DO_NOT_QUIT),
- ("ScriptCommand_PlaySFX", "b", DO_NOT_QUIT),
- ("ScriptCommand_PauseSong", "q", DO_NOT_QUIT),
- ("ScriptCommand_ResumeSong", "q", DO_NOT_QUIT),
- ("Func_d41d", "", DO_NOT_QUIT),
- ("ScriptCommand_WaitForSongToFinish", "q", DO_NOT_QUIT),
- ("Func_d435", "b", DO_NOT_QUIT),
- ("ScriptCommand_AskQuestionJumpDefaultYes", "tj", DO_NOT_QUIT),
- ("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_SetFlagValue", "fb", DO_NOT_QUIT),
- ("ScriptCommand_JumpIfFlagZero1", "fj", DO_NOT_QUIT),
- ("ScriptCommand_JumpIfFlagNonzero1", "q", DO_NOT_QUIT),
- ("ScriptCommand_JumpIfFlagEqual", "fbj", DO_NOT_QUIT), # also capable of jumping
- ("ScriptCommand_JumpIfFlagNotEqual", "fbj", DO_NOT_QUIT), # jumps
- ("ScriptCommand_JumpIfFlagNotLessThan", "fbj", DO_NOT_QUIT),
- ("ScriptCommand_JumpIfFlagLessThan", "fbj", DO_NOT_QUIT),
- ("ScriptCommand_MaxOutFlagValue", "f", DO_NOT_QUIT),
- ("ScriptCommand_ZeroOutFlagValue", "f", DO_NOT_QUIT),
- ("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_EndScriptLoop1", "", QUIT_CONTINUE_CODE,""),
+ ("ScriptCommand_CloseAdvancedTextBox", "", 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)
+ ("ScriptCommand_StartBattle", "bbb", DO_NOT_QUIT,""),
+ ("ScriptCommand_PrintVariableText", "tt", DO_NOT_QUIT,""),
+ ("Func_cda8", "bbbb", DO_NOT_QUIT,""),
+ ("ScriptCommand_PrintTextQuitFully", "t", QUIT_SPECIAL,""),
+ ("Func_cdcb", "", DO_NOT_QUIT,""),
+ ("ScriptCommand_MoveActiveNPCByDirection", "w", DO_NOT_QUIT,""),
+ ("ScriptCommand_CloseTextBox", "", DO_NOT_QUIT,""),
+ ("ScriptCommand_GiveBoosterPacks", "bbb", DO_NOT_QUIT,""),
+ ("ScriptCommand_CheckIfCardInCollectionOrDecks", "bj", DO_NOT_QUIT,""), # more complex behavior too (jumping)
+ ("ScriptCommand_CheckIfCardInCollection", "bj", DO_NOT_QUIT,""),
+ ("ScriptCommand_GiveCard", "b", DO_NOT_QUIT,""),
+ ("ScriptCommand_TakeCard", "b", DO_NOT_QUIT,""),
+ ("Func_cf53", "w", DO_NOT_QUIT,""), # more complex behavior too (jumping)
+ ("Func_cf7b", "", DO_NOT_QUIT,""),
+ ("ScriptCommand_CheckRawAmountOfCardsOwned", "bbbb", DO_NOT_QUIT,""), # more complex behavior too (jumping + ??)
+ ("ScriptCommand_JumpBasedOnFightingClubPupilStatus", "w", DO_NOT_QUIT,""), # only jumps? still needs args to do that though
+ ("Func_cfc6", "b", DO_NOT_QUIT,""),
+ ("Func_cfd4", "", DO_NOT_QUIT,""),
+ ("Func_d00b", "", DO_NOT_QUIT,""), # includes something with random and extra data
+ ("Func_d025", "w", DO_NOT_QUIT,""), # possibly only jumps, still needs args
+ ("Func_d032", "w", DO_NOT_QUIT,""), # see above
+ ("Func_d03f", "", DO_NOT_QUIT,""),
+ ("ScriptCommand_Jump", "j", QUIT_JUMP,""), # jumps to d
+ ("ScriptCommand_TryGiveMedalPCPacks", "", DO_NOT_QUIT,""),
+ ("ScriptCommand_SetPlayerDirection", "d", DO_NOT_QUIT,""),
+ ("ScriptCommand_MovePlayer", "di", DO_NOT_QUIT,"move_player"),
+ ("ScriptCommand_ShowCardReceivedScreen", "b", DO_NOT_QUIT,""),
+ ("ScriptCommand_SetDialogName", "b", DO_NOT_QUIT,""),
+ ("ScriptCommand_SetNextNPCandScript", "bj", DO_NOT_QUIT,""),
+ ("Func_d095", "bbb", DO_NOT_QUIT,""),
+ ("Func_d0be", "bb", DO_NOT_QUIT,""),
+ ("ScriptCommand_DoFrames", "i", DO_NOT_QUIT,""),
+ ("Func_d0d9", "bbw", DO_NOT_QUIT,""), # jumps but still needs args
+ ("ScriptCommand_JumpIfPlayerCoordMatches", "iij", DO_NOT_QUIT,""), # jumps but still needs args
+ ("ScriptCommand_MoveActiveNPC", "m", DO_NOT_QUIT,""),
+ ("ScriptCommand_GiveOneOfEachTrainerBooster", "", DO_NOT_QUIT,""),
+ ("Func_d103", "q", DO_NOT_QUIT,""),
+ ("Func_d125", "b", DO_NOT_QUIT,""),
+ ("Func_d135", "b", DO_NOT_QUIT,""),
+ ("Func_d16b", "b", DO_NOT_QUIT,""),
+ ("Func_cd4f", "bbb", DO_NOT_QUIT,""),
+ ("Func_cd94", "q", DO_NOT_QUIT,""),
+ ("ScriptCommand_MoveWramNPC", "m", DO_NOT_QUIT,""),
+ ("Func_cdd8", "", DO_NOT_QUIT,""),
+ ("Func_cdf5", "bb", DO_NOT_QUIT,""),
+ ("Func_d195", "", DO_NOT_QUIT,""),
+ ("Func_d1ad", "", DO_NOT_QUIT,""),
+ ("Func_d1b3", "", DO_NOT_QUIT,""),
+ ("ScriptCommand_QuitScriptFully", "", QUIT_SPECIAL,""),
+ ("Func_d244", "q", DO_NOT_QUIT,""),
+ ("Func_d24c", "q", DO_NOT_QUIT,""),
+ ("ScriptCommand_OpenDeckMachine", "b", DO_NOT_QUIT,""),
+ ("Func_d271", "q", DO_NOT_QUIT,""),
+ ("ScriptCommand_EnterMap", "bbood", DO_NOT_QUIT,""),
+ ("ScriptCommand_MoveArbitraryNPC", "bm", DO_NOT_QUIT,""),
+ ("Func_d209", "", DO_NOT_QUIT,""),
+ ("Func_d38f", "b", DO_NOT_QUIT,""),
+ ("Func_d396", "b", DO_NOT_QUIT,""),
+ ("Func_cd76", "", DO_NOT_QUIT,""),
+ ("Func_d39d", "b", DO_NOT_QUIT,""),
+ ("Func_d3b9", "", DO_NOT_QUIT,""),
+ ("ScriptCommand_TryGivePCPack", "b", DO_NOT_QUIT,""),
+ ("ScriptCommand_nop", "", DO_NOT_QUIT,""),
+ ("Func_d3d4", "q", DO_NOT_QUIT,""),
+ ("Func_d3e0", "", DO_NOT_QUIT,""),
+ ("Func_d3fe", "q", DO_NOT_QUIT,""),
+ ("Func_d408", "b", DO_NOT_QUIT,""),
+ ("Func_d40f", "q", DO_NOT_QUIT,""),
+ ("ScriptCommand_PlaySFX", "b", DO_NOT_QUIT,""),
+ ("ScriptCommand_PauseSong", "q", DO_NOT_QUIT,""),
+ ("ScriptCommand_ResumeSong", "q", DO_NOT_QUIT,""),
+ ("Func_d41d", "", DO_NOT_QUIT,""),
+ ("ScriptCommand_WaitForSongToFinish", "q", DO_NOT_QUIT,""),
+ ("Func_d435", "b", DO_NOT_QUIT,""),
+ ("ScriptCommand_AskQuestionJumpDefaultYes", "tj", DO_NOT_QUIT,""),
+ ("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_SetFlagValue", "fb", DO_NOT_QUIT,""),
+ ("ScriptCommand_JumpIfFlagZero1", "fj", DO_NOT_QUIT,""),
+ ("ScriptCommand_JumpIfFlagNonzero1", "q", DO_NOT_QUIT,""),
+ ("ScriptCommand_JumpIfFlagEqual", "fbj", DO_NOT_QUIT,""), # also capable of jumping
+ ("ScriptCommand_JumpIfFlagNotEqual", "fbj", DO_NOT_QUIT,""), # jumps
+ ("ScriptCommand_JumpIfFlagNotLessThan", "fbj", DO_NOT_QUIT,""),
+ ("ScriptCommand_JumpIfFlagLessThan", "fbj", DO_NOT_QUIT,""),
+ ("ScriptCommand_MaxOutFlagValue", "f", DO_NOT_QUIT,""),
+ ("ScriptCommand_ZeroOutFlagValue", "f", DO_NOT_QUIT,""),
+ ("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,"")
]
main()