diff options
-rw-r--r-- | src/engine/bank03.asm | 4 | ||||
-rw-r--r-- | src/macros/scripts.asm | 223 | ||||
-rw-r--r-- | tools/script_extractor.py | 268 |
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() |