From 0867a992bcec53e57fb6b8a87120febf392bed8f Mon Sep 17 00:00:00 2001 From: Viperio Date: Sat, 21 Mar 2026 08:36:16 +0100 Subject: [PATCH] Document some frontier scrcmds --- asm/macros/frscrcmd.inc | 14 ++- include/overlay104/ov104_02239130.h | 4 +- include/overlay104/ov104_022395F0.h | 2 +- include/unk_0202F1D4.h | 4 +- .../frontier_scripts_battle_arcade.s | 8 +- .../frontier_scripts_battle_castle.s | 8 +- .../frontier_scripts_battle_factory.s | 8 +- .../frontier_scripts_battle_hall.s | 8 +- ...rontier_scripts_battle_tower_battle_room.s | 28 ++--- .../frontier_scripts_battle_tower_corridor.s | 4 +- ...tier_scripts_battle_tower_corridor_multi.s | 16 +-- ...r_scripts_battle_tower_multi_battle_room.s | 58 +++++----- src/encounter.c | 10 +- src/overlay062/ov62_02231690.c | 4 +- src/overlay062/ov62_02235E64.c | 2 +- src/overlay062/ov62_0223DFA8.c | 4 +- src/overlay062/ov62_02241204.c | 10 +- src/overlay062/ov62_02248408.c | 36 +++--- src/overlay104/frscrcmd.c | 30 +++-- src/overlay104/ov104_02239130.c | 24 ++-- src/overlay104/ov104_022395F0.c | 6 +- src/unk_0202F1D4.c | 104 +++++++++--------- src/unk_0208BA78.c | 2 +- 23 files changed, 195 insertions(+), 199 deletions(-) diff --git a/asm/macros/frscrcmd.inc b/asm/macros/frscrcmd.inc index ce7e32a536..b504308820 100644 --- a/asm/macros/frscrcmd.inc +++ b/asm/macros/frscrcmd.inc @@ -1,9 +1,11 @@ #include "generated/battle_tower_functions.h" +#include "generated/battle_tower_modes.h" #include "generated/fade_types.h" #include "generated/game_records.h" #include "generated/sdat.h" #include "generated/trainer_score_events.h" #include "generated/vars_flags.h" +#include "constants/battle_tower.h" #include "constants/colors.h" #include "constants/fade_screen.h" #include "constants/scrcmd.h" @@ -591,7 +593,7 @@ .byte \arg0 .endm - .macro FrontierScrCmd_6C + .macro InitNewBattleRecording .short 0x06C .endm @@ -607,7 +609,7 @@ .short 0x06E .endm - .macro FrontierScrCmd_6F + .macro FreeBattleRecording .short 0x06F .endm @@ -727,7 +729,7 @@ .byte \arg0 .endm - .macro FrontierScrCmd_86 + .macro FreeBattleTower .short 0x086 .endm @@ -735,9 +737,9 @@ .short 0x087 .endm - .macro FrontierScrCmd_88 arg0 + .macro CheckWonBattleTowerBattle destVar .short 0x088 - .short \arg0 + .short \destVar .endm .macro FrontierScrCmd_89 arg0, arg1, arg2 @@ -983,7 +985,7 @@ .short 0x0B5 .endm - .macro FrontierScrCmd_B6 + .macro SetBattleTowerNull .short 0x0B6 .endm diff --git a/include/overlay104/ov104_02239130.h b/include/overlay104/ov104_02239130.h index e4fa6c5555..470375cdf6 100644 --- a/include/overlay104/ov104_02239130.h +++ b/include/overlay104/ov104_02239130.h @@ -5,9 +5,9 @@ BOOL FrontierScrCmd_CallBattleTowerFunction(FrontierScriptContext *ctx); BOOL FrontierScrCmd_85(FrontierScriptContext *param0); -BOOL FrontierScrCmd_86(FrontierScriptContext *param0); +BOOL FrontierScrCmd_FreeBattleTower(FrontierScriptContext *ctx); BOOL FrontierScrCmd_87(FrontierScriptContext *param0); -BOOL FrontierScrCmd_88(FrontierScriptContext *param0); +BOOL FrontierScrCmd_CheckWonBattleTowerBattle(FrontierScriptContext *ctx); BOOL FrontierScrCmd_89(FrontierScriptContext *param0); BOOL FrontierScrCmd_8A(FrontierScriptContext *param0); diff --git a/include/overlay104/ov104_022395F0.h b/include/overlay104/ov104_022395F0.h index e1a7e413b4..e4f00070f1 100644 --- a/include/overlay104/ov104_022395F0.h +++ b/include/overlay104/ov104_022395F0.h @@ -15,6 +15,6 @@ BOOL FrontierScrCmd_B2(FrontierScriptContext *param0); BOOL FrontierScrCmd_B3(FrontierScriptContext *param0); BOOL FrontierScrCmd_B4(FrontierScriptContext *param0); BOOL FrontierScrCmd_B5(FrontierScriptContext *param0); -BOOL FrontierScrCmd_B6(FrontierScriptContext *param0); +BOOL FrontierScrCmd_SetBattleTowerNull(FrontierScriptContext *ctx); #endif // POKEPLATINUM_OV104_022395F0_H diff --git a/include/unk_0202F1D4.h b/include/unk_0202F1D4.h index 2ee5e524ea..a15430e7b2 100644 --- a/include/unk_0202F1D4.h +++ b/include/unk_0202F1D4.h @@ -11,8 +11,8 @@ int BattleRecording_SaveSize(void); void BattleRecording_Init(BattleRecording *param0); -void sub_0202F1F8(SaveData *saveData, enum HeapID heapID, int *param2); -void sub_0202F22C(void); +void BattleRecording_New(SaveData *saveData, enum HeapID heapID, int *resultCode); +void BattleRecording_Free(void); BOOL sub_0202F250(void); BattleRecording *sub_0202F264(void); void *sub_0202F27C(void); diff --git a/res/field/frontier_scripts/frontier_scripts_battle_arcade.s b/res/field/frontier_scripts/frontier_scripts_battle_arcade.s index e9697f1191..bbf9063fba 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_arcade.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_arcade.s @@ -1084,7 +1084,7 @@ _0662: FrontierScrCmd_3E VAR_MAP_LOCAL_2, VAR_0x8004 FrontierScrCmd_3E VAR_MAP_LOCAL_5, VAR_0x8005 FrontierScrCmd_3E VAR_MAP_LOCAL_6, VAR_0x8006 - FrontierScrCmd_6C + InitNewBattleRecording FrontierScrCmd_B8 VAR_0x8003, VAR_0x8001, VAR_0x8004, VAR_0x8005, VAR_0x8006, VAR_0x8008 GetPlayerObjEventGfx VAR_0x8007 FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 @@ -3183,7 +3183,7 @@ _2C5A: _2C78: FrontierScrCmd_3D VAR_UNK_0x40BF, 2 FrontierScrCmd_BF 10, 0, 0, VAR_0x8008 - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_BA Call _2E9C FadeScreenOut @@ -3302,7 +3302,7 @@ _2E1A: CallIfEq VAR_0x8008, 2, _2E80 FrontierScrCmd_BF 17, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 3, _2E90 - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_BA FrontierScrCmd_02 @@ -3317,7 +3317,7 @@ _2E86: Return _2E90: - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_BA FrontierScrCmd_04 14, 1 End diff --git a/res/field/frontier_scripts/frontier_scripts_battle_castle.s b/res/field/frontier_scripts/frontier_scripts_battle_castle.s index b6bfd0d813..76ddb1b0aa 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_castle.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_castle.s @@ -678,7 +678,7 @@ _043C: FrontierScrCmd_22 _001C FrontierScrCmd_24 _0078 FadeScreenIn - FrontierScrCmd_6C + InitNewBattleRecording FrontierScrCmd_97 VAR_0x8003, VAR_0x8001, VAR_0x8004, VAR_0x8005, VAR_0x8006, VAR_0x8008 FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0480 @@ -1778,7 +1778,7 @@ _1720: _173E: FrontierScrCmd_3D VAR_UNK_0x40BC, 2 FrontierScrCmd_A0 10, 0, 0, VAR_0x8008 - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_99 Call _195E FadeScreenOut @@ -1897,7 +1897,7 @@ _18F4: CallIfEq VAR_0x8008, 2, _1942 FrontierScrCmd_A0 17, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 3, _1952 - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_99 FrontierScrCmd_02 @@ -1912,7 +1912,7 @@ _1948: Return _1952: - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_99 FrontierScrCmd_04 14, 1 End diff --git a/res/field/frontier_scripts/frontier_scripts_battle_factory.s b/res/field/frontier_scripts/frontier_scripts_battle_factory.s index aeddd3ddb3..b9c1b2d669 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_factory.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_factory.s @@ -513,7 +513,7 @@ _0320: _033E: FrontierScrCmd_22 _0020 FrontierScrCmd_24 _0088 - FrontierScrCmd_6C + InitNewBattleRecording FrontierScrCmd_5C VAR_0x8003, VAR_0x8001, VAR_0x8002 FrontierScrCmd_67 31, 0, 0, VAR_0x8008 FrontierScrCmd_67 28, 0, 0, VAR_0x8008 @@ -1344,7 +1344,7 @@ _115C: CloseMessage FadeScreenOut FrontierScrCmd_67 32, 0, 0, VAR_0x8008 - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_5E FrontierScrCmd_67 7, 0, 0, VAR_0x8008 End @@ -1457,7 +1457,7 @@ _1303: FrontierScrCmd_67 29, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 3, _1368 FrontierScrCmd_67 32, 0, 0, VAR_0x8008 - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_5E FrontierScrCmd_02 @@ -1473,7 +1473,7 @@ _135E: _1368: FrontierScrCmd_67 32, 0, 0, VAR_0x8008 - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_5E FrontierScrCmd_04 14, 1 End diff --git a/res/field/frontier_scripts/frontier_scripts_battle_hall.s b/res/field/frontier_scripts/frontier_scripts_battle_hall.s index d22d8367ea..46665b1080 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_hall.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_hall.s @@ -555,7 +555,7 @@ _0326: FrontierScrCmd_3E VAR_MAP_LOCAL_5, VAR_0x8000 GetPlayerObjEventGfx VAR_0x800A SetVar FR_VAR_0x800E, 0 - FrontierScrCmd_6C + InitNewBattleRecording FrontierScrCmd_8B VAR_0x8003, VAR_0x8001, VAR_0x8002, VAR_0x8000 FrontierScrCmd_91 30, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0382 @@ -1211,7 +1211,7 @@ _0E99: FrontierScrCmd_3D VAR_BATTLE_HALL_LOBBY_LOAD_ACTION, 2 FrontierScrCmd_91 10, 0, 0, VAR_0x8008 Call _1087 - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_8D FadeScreenOut CloseMessage @@ -1319,7 +1319,7 @@ _101D: CallIfEq VAR_0x8008, 2, _106B FrontierScrCmd_91 17, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 3, _107B - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_8D FrontierScrCmd_02 @@ -1334,7 +1334,7 @@ _1071: Return _107B: - FrontierScrCmd_6F + FreeBattleRecording FrontierScrCmd_8D FrontierScrCmd_04 14, 1 End diff --git a/res/field/frontier_scripts/frontier_scripts_battle_tower_battle_room.s b/res/field/frontier_scripts/frontier_scripts_battle_tower_battle_room.s index 5df79b12de..9ecc5bf89a 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_tower_battle_room.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_tower_battle_room.s @@ -156,13 +156,13 @@ _00D4: .short 0xFD13 _00E2: - FrontierScrCmd_6C + InitNewBattleRecording FrontierScrCmd_3E VAR_UNK_0x40D9, VAR_0x8001 Call _0176 Call _018F CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 4, _015A - GoToIfEq VAR_0x8008, 5, _015A + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_WIFI, _015A + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_5, _015A GoTo _0168 End @@ -187,7 +187,7 @@ _0168: _0176: GoToIfEq VAR_0x8001, 0, _018D - CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, 0, VAR_0x8009 + CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_0x8009 Return _018D: @@ -253,7 +253,7 @@ _0273: CallIfEq VAR_0x8008, 0, _0328 CallBattleTowerFunction BT_FUNC_UPDATE_GAME_RECORDS_AND_JOURNAL, 0, VAR_0x8008 CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 5, _02D4 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_5, _02D4 Message BattleTowerBattleRoom_Text_BPEarned Call _0330 CloseMessage @@ -341,13 +341,13 @@ _03DB: Return _03EF: - FrontierScrCmd_6F + FreeBattleRecording WaitTime 30, VAR_0x8008 FrontierScrCmd_3D VAR_UNK_0x40D8, 1 CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 SetVar FR_VAR_0x8010, VAR_0x8008 - GoToIfEq FR_VAR_0x8010, 4, _043F - GoToIfEq FR_VAR_0x8010, 5, _043F + GoToIfEq FR_VAR_0x8010, BATTLE_TOWER_MODE_WIFI, _043F + GoToIfEq FR_VAR_0x8010, BATTLE_TOWER_MODE_5, _043F FadeScreenOut FrontierScrCmd_25 3 FrontierScrCmd_25 1 @@ -377,7 +377,7 @@ _046D: FrontierScrCmd_3F 0 CallBattleTowerFunction BT_FUNC_UNK_59, 0, VAR_0x8008 FrontierScrCmd_87 - FrontierScrCmd_88 VAR_0x800C + CheckWonBattleTowerBattle VAR_0x800C FadeScreenIn Return @@ -400,7 +400,7 @@ _04DC: BufferNumber 0, VAR_0x800C Message BattleTowerBattleRoom_Text_AreYouReady CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfNe VAR_0x8008, 0, _052C + GoToIfNe VAR_0x8008, BATTLE_TOWER_MODE_SINGLE, _052C CallBattleTowerFunction BT_FUNC_UNK_36, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 20, _078C GoToIfEq VAR_0x8008, 48, _078C @@ -513,7 +513,7 @@ _06B3: _06D3: FrontierScrCmd_3D VAR_UNK_0x40D8, 2 CallBattleTowerFunction BT_FUNC_UNK_39, 0, VAR_0x8008 - FrontierScrCmd_86 + FreeBattleTower Message BattleTowerBattleRoom_Text_Saving ShowSavingIcon FrontierScrCmd_72 VAR_0x8008 @@ -522,7 +522,7 @@ _06D3: WaitSoundEffect SEQ_SE_DP_SAVE FadeScreenOut CloseMessage - FrontierScrCmd_6F + FreeBattleRecording CallBattleTowerFunction BT_FUNC_RESET_SYSTEM, 0, VAR_0x8008 End @@ -541,7 +541,7 @@ _0731: _0741: CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfNe VAR_0x8008, 0, _04DC + GoToIfNe VAR_0x8008, BATTLE_TOWER_MODE_SINGLE, _04DC CallBattleTowerFunction BT_FUNC_UNK_36, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 20, _0780 GoToIfEq VAR_0x8008, 48, _0780 @@ -601,7 +601,7 @@ _086E: IncrementRecordValue RECORD_UNK_059 FrontierScrCmd_47 1 FrontierScrCmd_87 - FrontierScrCmd_88 VAR_0x800C + CheckWonBattleTowerBattle VAR_0x800C FadeScreenIn GoToIfEq VAR_0x800C, 0, _020F CallBattleTowerFunction BT_FUNC_UNK_36, 0, VAR_0x8008 diff --git a/res/field/frontier_scripts/frontier_scripts_battle_tower_corridor.s b/res/field/frontier_scripts/frontier_scripts_battle_tower_corridor.s index 695f89ee1a..e42c7a750f 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_tower_corridor.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_tower_corridor.s @@ -154,8 +154,8 @@ _00D0: _00E2: CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 4, _0145 - GoToIfEq VAR_0x8008, 5, _0145 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_WIFI, _0145 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_5, _0145 GoTo _0153 End diff --git a/res/field/frontier_scripts/frontier_scripts_battle_tower_corridor_multi.s b/res/field/frontier_scripts/frontier_scripts_battle_tower_corridor_multi.s index 6832f60ba6..dae391ad55 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_tower_corridor_multi.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_tower_corridor_multi.s @@ -224,8 +224,8 @@ _0142: FrontierScrCmd_2C _00A0 FrontierScrCmd_2F 1 CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _01B0 - GoToIfEq VAR_0x8008, 6, _01B0 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _01B0 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _01B0 SetVar VAR_0x8002, 3 SetVar VAR_0x8003, 4 FrontierScrCmd_22 _0008 @@ -251,8 +251,8 @@ _01D0: FrontierScrCmd_2D 1 FrontierScrCmd_2B 1 CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _0250 - GoToIfEq VAR_0x8008, 6, _0250 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _0250 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _0250 FrontierScrCmd_25 0 FrontierScrCmd_25 1 FrontierScrCmd_25 2 @@ -281,8 +281,8 @@ _0270: _0278: GoToIfEq VAR_0x8001, 0, _02AA GoToIfEq VAR_0x8000, 1, _02AC - CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, 0, VAR_0x800B - CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, 1, VAR_0x800C + CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_0x800B + CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, BT_PARAM_PARTNER_GRAPHICS_ID, VAR_0x800C GoTo _02AA End @@ -290,8 +290,8 @@ _02AA: Return _02AC: - CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, 0, VAR_0x800B - CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, 1, VAR_0x800C + CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_0x800B + CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, BT_PARAM_PARTNER_GRAPHICS_ID, VAR_0x800C Return _02BE: diff --git a/res/field/frontier_scripts/frontier_scripts_battle_tower_multi_battle_room.s b/res/field/frontier_scripts/frontier_scripts_battle_tower_multi_battle_room.s index 7804af2cb5..5237630921 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_tower_multi_battle_room.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_tower_multi_battle_room.s @@ -256,13 +256,13 @@ _016C: .short 0xFD13 _0172: - FrontierScrCmd_6C + InitNewBattleRecording Call _0BCF Call _0C15 SetVar VAR_0x8006, 0 CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _01CE - GoToIfEq VAR_0x8008, 6, _01CE + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _01CE + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _01CE SetVar VAR_0x8001, 5 SetVar VAR_0x8002, 6 SetVar FR_VAR_0x800F, 232 @@ -292,8 +292,8 @@ _0226: FrontierScrCmd_3D VAR_UNK_0x40DE, 3 Call _025C CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _0270 - GoToIfEq VAR_0x8008, 6, _0270 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _0270 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _0270 GoTo _0965 End @@ -375,10 +375,10 @@ _039F: End _03DD: - FrontierScrCmd_6F + FreeBattleRecording CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _0437 - GoToIfEq VAR_0x8008, 6, _0443 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _0437 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _0443 WaitTime 30, VAR_0x8008 FrontierScrCmd_3D VAR_UNK_0x40D8, 1 FadeScreenOut @@ -403,12 +403,12 @@ _0443: FrontierScrCmd_35 6 CallIfEq VAR_0x8004, 100, _04D1 CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - CallIfEq VAR_0x8008, 6, _04DF + CallIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _04DF FadeScreenOut ClearReceivedTempDataAllPlayers FrontierScrCmd_35 8 CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - CallIfEq VAR_0x8008, 3, _04F7 + CallIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _04F7 FrontierScrCmd_25 0 FrontierScrCmd_25 1 FrontierScrCmd_25 2 @@ -417,7 +417,7 @@ _0443: FrontierScrCmd_23 FR_VAR_0x800F FrontierScrCmd_23 VAR_0x800A CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 6, _04D5 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _04D5 FrontierScrCmd_02 _04D1: @@ -425,7 +425,7 @@ _04D1: Return _04D5: - FrontierScrCmd_B6 + SetBattleTowerNull FrontierScrCmd_04 14, 1 End @@ -570,7 +570,7 @@ _06E7: _0707: FrontierScrCmd_3D VAR_UNK_0x40D8, 2 CallBattleTowerFunction BT_FUNC_UNK_39, 0, VAR_0x8008 - FrontierScrCmd_86 + FreeBattleTower Message BattleTowerMultiBattleRoom_Text_ThanksForParticipating ShowSavingIcon FrontierScrCmd_72 VAR_0x8008 @@ -579,7 +579,7 @@ _0707: WaitSoundEffect SEQ_SE_DP_SAVE FadeScreenOut CloseMessage - FrontierScrCmd_6F + FreeBattleRecording CallBattleTowerFunction BT_FUNC_RESET_SYSTEM, 0, VAR_0x8008 End @@ -604,8 +604,8 @@ _077B: _0789: CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _07B3 - GoToIfEq VAR_0x8008, 6, _07B3 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _07B3 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _07B3 GoTo _07DF End @@ -636,8 +636,8 @@ _0817: PlayFanfare SEQ_PL_POINTGET3 WaitFanfare CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _0869 - GoToIfEq VAR_0x8008, 6, _0869 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _0869 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _0869 CloseMessage GoTo _03DD End @@ -651,8 +651,8 @@ _0869: _087B: SetVar VAR_0x8004, 0 CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _08AB - GoToIfEq VAR_0x8008, 6, _08AB + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _08AB + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _08AB GoTo _08E9 End @@ -677,8 +677,8 @@ _08E9: ShowYesNoMenu VAR_0x8008, MENU_NO CallIfEq VAR_0x8008, 0, _0955 CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _08D7 - GoToIfEq VAR_0x8008, 6, _08D7 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _08D7 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_6, _08D7 CloseMessage GoTo _0945 End @@ -756,7 +756,7 @@ _0A1B: Call _0A91 FrontierScrCmd_3F 0 FrontierScrCmd_87 - FrontierScrCmd_88 VAR_0x8003 + CheckWonBattleTowerBattle VAR_0x8003 FadeScreenIn Return @@ -806,7 +806,7 @@ _0ACD: CloseMessage FrontierScrCmd_3F 0 FrontierScrCmd_87 - FrontierScrCmd_88 VAR_0x8003 + CheckWonBattleTowerBattle VAR_0x8003 FadeScreenIn Return @@ -849,16 +849,16 @@ _0BCF: FrontierScrCmd_3E VAR_UNK_0x40DE, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _0C01 GoToIfEq VAR_0x8000, 1, _0C03 - CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, 0, VAR_0x8009 - CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, 1, VAR_0x800A + CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_0x8009 + CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, BT_PARAM_PARTNER_GRAPHICS_ID, VAR_0x800A Return _0C01: Return _0C03: - CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, 0, VAR_0x8009 - CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, 1, VAR_0x800A + CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_0x8009 + CallBattleTowerFunction BT_FUNC_GET_PARTNER_PARAM, BT_PARAM_PARTNER_GRAPHICS_ID, VAR_0x800A Return _0C15: @@ -885,7 +885,7 @@ _0C55: _0C57: CallBattleTowerFunction BT_FUNC_GET_CHALLENGE_MODE, 0, VAR_0x8008 - GoToIfEq VAR_0x8008, 3, _0C74 + GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_LINK_MULTI, _0C74 SetVar VAR_0x8008, 0 Return diff --git a/src/encounter.c b/src/encounter.c index 41f88633af..bc5692b2aa 100644 --- a/src/encounter.c +++ b/src/encounter.c @@ -309,7 +309,7 @@ static BOOL FieldTask_WiFiEncounter(FieldTask *task) case 2: FreeEncounter(encounter); - sub_0202F22C(); + BattleRecording_Free(); return TRUE; } @@ -815,7 +815,7 @@ void Encounter_NewVsWiFi(FieldTask *task, int param1, int normalizedLevel, int w } FieldBattleDTO_InitWithNormalizedMonLevels(dto, fieldSystem, normalizedLevel); - sub_0202F1F8(fieldSystem->saveData, HEAP_ID_FIELD2, &recordingResultCode); + BattleRecording_New(fieldSystem->saveData, HEAP_ID_FIELD2, &recordingResultCode); dto->unk_18A = v5; encounter = NewEncounter(dto, EncEffects_CutInEffect(dto), EncEffects_BGM(dto), NULL); @@ -838,7 +838,7 @@ static BOOL FieldTask_LinkEncounterWithRecording(FieldTask *task) case 1: if (sub_0202F250() == 1) { - sub_0202F22C(); + BattleRecording_Free(); } FieldCommMan_EnterBattleRoom(fieldSystem); @@ -854,7 +854,7 @@ void Encounter_NewVsLinkWithRecording(FieldSystem *fieldSystem, const u8 *partyO FieldBattleDTO_InitWithPartyOrderFromSave(dto, fieldSystem, partyOrder); int recordingResultCode; - sub_0202F1F8(fieldSystem->saveData, HEAP_ID_FIELD2, &recordingResultCode); + BattleRecording_New(fieldSystem->saveData, HEAP_ID_FIELD2, &recordingResultCode); dto->unk_18A = sub_020516C8(fieldSystem->unk_B0, battleType); Encounter *encounter = NewEncounter(dto, EncEffects_CutInEffect(dto), EncEffects_BGM(dto), NULL); @@ -867,7 +867,7 @@ void Encounter_NewVsLinkWithRecordingAndParty(FieldSystem *fieldSystem, const Pa FieldBattleDTO_InitWithPartyOrder(dto, fieldSystem, party, NULL); int recordingResultCode; - sub_0202F1F8(fieldSystem->saveData, HEAP_ID_FIELD2, &recordingResultCode); + BattleRecording_New(fieldSystem->saveData, HEAP_ID_FIELD2, &recordingResultCode); dto->unk_18A = sub_020516C8(fieldSystem->unk_B0, battleType); Encounter *encounter = NewEncounter(dto, EncEffects_CutInEffect(dto), EncEffects_BGM(dto), NULL); diff --git a/src/overlay062/ov62_02231690.c b/src/overlay062/ov62_02231690.c index 1125ae0992..68bc3bece1 100644 --- a/src/overlay062/ov62_02231690.c +++ b/src/overlay062/ov62_02231690.c @@ -1704,7 +1704,7 @@ void ov62_0223371C(UnkStruct_0208C06C *param0) { int v0; - sub_0202F1F8(param0->saveData, HEAP_ID_119, &v0); + BattleRecording_New(param0->saveData, HEAP_ID_119, &v0); { UnkStruct_02030A80 *v1 = (UnkStruct_02030A80 *)(¶m0->unk_8B4.unk_00->unk_00); @@ -1853,7 +1853,7 @@ void ov62_022338A8(UnkStruct_0208C06C *param0) break; } if (sub_0202F250() == 1) { - sub_0202F22C(); + BattleRecording_Free(); } } } diff --git a/src/overlay062/ov62_02235E64.c b/src/overlay062/ov62_02235E64.c index 0593d4f14f..c5279f6376 100644 --- a/src/overlay062/ov62_02235E64.c +++ b/src/overlay062/ov62_02235E64.c @@ -453,7 +453,7 @@ static BOOL ov62_02236624(UnkStruct_0208C06C *param0) sub_0202F298(param0->saveData, 102, &v1, NULL, param0->unk_86C); v2 = ov62_022486A4(param0->saveData, param0->unk_86C); - sub_0202F22C(); + BattleRecording_Free(); ov62_022339A0(param0); ov62_022338A8(param0); diff --git a/src/overlay062/ov62_0223DFA8.c b/src/overlay062/ov62_0223DFA8.c index 229b7def32..db02250675 100644 --- a/src/overlay062/ov62_0223DFA8.c +++ b/src/overlay062/ov62_0223DFA8.c @@ -523,7 +523,7 @@ static BOOL ov62_0223E510(UnkStruct_0208C06C *param0) Heap_Free(v0); if (sub_0202F250() == 1) { - sub_0202F22C(); + BattleRecording_Free(); } } else { PaletteData_BlendMulti(param0->unk_14.unk_14, 1, 0x2, v0->unk_08, param0->unk_14.unk_44); @@ -1205,7 +1205,7 @@ static BOOL ov62_0223F760(UnkStruct_0208C06C *param0) switch (param0->unk_08) { case 0: if (sub_0202F250()) { - sub_0202F22C(); + BattleRecording_Free(); } v0->unk_1FDC = Unk_ov62_02248FD8; diff --git a/src/overlay062/ov62_02241204.c b/src/overlay062/ov62_02241204.c index 67ebdfd720..bd64b91853 100644 --- a/src/overlay062/ov62_02241204.c +++ b/src/overlay062/ov62_02241204.c @@ -1752,7 +1752,7 @@ static BOOL ov62_02242D90(UnkStruct_0208C06C *param0) switch (param0->unk_08) { case 0: if (sub_0202F250()) { - sub_0202F22C(); + BattleRecording_Free(); } v0->unk_4E0 = Unk_ov62_02249298; @@ -2988,7 +2988,7 @@ static BOOL ov62_02244720(UnkStruct_0208C06C *param0) Bg_ClearTilemap(param0->unk_14.unk_10, 7); if (sub_0202F250() == 1) { - sub_0202F22C(); + BattleRecording_Free(); } } else { PaletteData_BlendMulti(param0->unk_14.unk_14, 1, 0x2, v0->unk_08, param0->unk_14.unk_44); @@ -3258,7 +3258,7 @@ static BOOL ov62_02244CD4(UnkStruct_0208C06C *param0) Bg_ClearTilemap(param0->unk_14.unk_10, 7); if (sub_0202F250() == 1) { - sub_0202F22C(); + BattleRecording_Free(); } } else { PaletteData_BlendMulti(param0->unk_14.unk_14, 1, 0x2, v0->unk_08, param0->unk_14.unk_44); @@ -3501,7 +3501,7 @@ static BOOL ov62_0224536C(UnkStruct_0208C06C *param0) return 0; } - sub_0202F22C(); + BattleRecording_Free(); ov62_02231B8C(param0); if (ov61_0222BB48(ov62_0224112C(param0), &v1) == 1) { @@ -4326,7 +4326,7 @@ static BOOL ov62_0224613C(UnkStruct_0208C06C *param0) Bg_ClearTilemap(param0->unk_14.unk_10, 7); if (sub_0202F250() == 1) { - sub_0202F22C(); + BattleRecording_Free(); } } else { PaletteData_BlendMulti(param0->unk_14.unk_14, 1, 0x2, v0->unk_08, param0->unk_14.unk_44); diff --git a/src/overlay062/ov62_02248408.c b/src/overlay062/ov62_02248408.c index 0402de20aa..a022d9dcdf 100644 --- a/src/overlay062/ov62_02248408.c +++ b/src/overlay062/ov62_02248408.c @@ -23,7 +23,7 @@ static void ov62_0224856C(String *param0, enum HeapID heapID); -extern BattleRecording *Unk_021C07A4; +extern BattleRecording *gBattleRecording; void ov62_02248408(BattleRecording *param0, FieldBattleDTO *param1, enum HeapID heapID) { @@ -110,20 +110,20 @@ int ov62_02248598(SaveData *saveData, int param1, u8 param2, u16 *param3, u16 *p switch (*param3) { case 0: - GF_ASSERT(Unk_021C07A4); + GF_ASSERT(gBattleRecording); if (param2 == 1) { - Unk_021C07A4->unk_84.unk_27 = param2; + gBattleRecording->unk_84.unk_27 = param2; - Unk_021C07A4->unk_84.unk_48 = 0xe281; - Unk_021C07A4->unk_84.unk_60.unk_00 = SaveData_CalculateChecksum(saveData, &Unk_021C07A4->unk_84, sizeof(UnkStruct_0202F41C) - (sizeof(UnkStruct_0202F298_sub1)) - (sizeof(u64))); + gBattleRecording->unk_84.unk_48 = 0xe281; + gBattleRecording->unk_84.unk_60.unk_00 = SaveData_CalculateChecksum(saveData, &gBattleRecording->unk_84, sizeof(UnkStruct_0202F41C) - (sizeof(UnkStruct_0202F298_sub1)) - (sizeof(u64))); } - sub_0202F858(&Unk_021C07A4->unk_E8, sizeof(UnkStruct_0202F298) - (sizeof(UnkStruct_0202F298_sub1)), Unk_021C07A4->unk_E8.unk_1BEC.unk_00 + ((Unk_021C07A4->unk_E8.unk_1BEC.unk_00 ^ 0xffff) << 16)); + sub_0202F858(&gBattleRecording->unk_E8, sizeof(UnkStruct_0202F298) - (sizeof(UnkStruct_0202F298_sub1)), gBattleRecording->unk_E8.unk_1BEC.unk_00 + ((gBattleRecording->unk_E8.unk_1BEC.unk_00 ^ 0xffff) << 16)); (*param3)++; break; case 1: - v0 = sub_0202F3AC(saveData, Unk_021C07A4, param1, param4); + v0 = sub_0202F3AC(saveData, gBattleRecording, param1, param4); return v0; } @@ -132,8 +132,8 @@ int ov62_02248598(SaveData *saveData, int param1, u8 param2, u16 *param3, u16 *p void ov62_02248624(SaveData *saveData) { - GF_ASSERT(Unk_021C07A4); - sub_0202F858(&Unk_021C07A4->unk_E8, sizeof(UnkStruct_0202F298) - (sizeof(UnkStruct_0202F298_sub1)), Unk_021C07A4->unk_E8.unk_1BEC.unk_00 + ((Unk_021C07A4->unk_E8.unk_1BEC.unk_00 ^ 0xffff) << 16)); + GF_ASSERT(gBattleRecording); + sub_0202F858(&gBattleRecording->unk_E8, sizeof(UnkStruct_0202F298) - (sizeof(UnkStruct_0202F298_sub1)), gBattleRecording->unk_E8.unk_1BEC.unk_00 + ((gBattleRecording->unk_E8.unk_1BEC.unk_00 ^ 0xffff) << 16)); } int ov62_02248658(SaveData *saveData, u64 param1, u16 *param2, u16 *param3) @@ -142,13 +142,13 @@ int ov62_02248658(SaveData *saveData, u64 param1, u16 *param2, u16 *param3) switch (*param2) { case 0: - GF_ASSERT(Unk_021C07A4); + GF_ASSERT(gBattleRecording); - Unk_021C07A4->unk_84.unk_58 = param1; + gBattleRecording->unk_84.unk_58 = param1; (*param2)++; break; case 1: - v0 = sub_0202F3AC(saveData, Unk_021C07A4, 0, param3); + v0 = sub_0202F3AC(saveData, gBattleRecording, 0, param3); return v0; } @@ -159,16 +159,16 @@ int ov62_022486A4(SaveData *saveData, int param1) { int v0; - GF_ASSERT(Unk_021C07A4 != NULL); + GF_ASSERT(gBattleRecording != NULL); - Unk_021C07A4->unk_84.unk_27 = 1; - Unk_021C07A4->unk_84.unk_48 = 0xe281; - Unk_021C07A4->unk_84.unk_60.unk_00 = SaveData_CalculateChecksum(saveData, &Unk_021C07A4->unk_84, sizeof(UnkStruct_0202F41C) - (sizeof(UnkStruct_0202F298_sub1)) - (sizeof(u64))); + gBattleRecording->unk_84.unk_27 = 1; + gBattleRecording->unk_84.unk_48 = 0xe281; + gBattleRecording->unk_84.unk_60.unk_00 = SaveData_CalculateChecksum(saveData, &gBattleRecording->unk_84, sizeof(UnkStruct_0202F41C) - (sizeof(UnkStruct_0202F298_sub1)) - (sizeof(u64))); - sub_0202F858(&Unk_021C07A4->unk_E8, sizeof(UnkStruct_0202F298) - (sizeof(UnkStruct_0202F298_sub1)), Unk_021C07A4->unk_E8.unk_1BEC.unk_00 + ((Unk_021C07A4->unk_E8.unk_1BEC.unk_00 ^ 0xffff) << 16)); + sub_0202F858(&gBattleRecording->unk_E8, sizeof(UnkStruct_0202F298) - (sizeof(UnkStruct_0202F298_sub1)), gBattleRecording->unk_E8.unk_1BEC.unk_00 + ((gBattleRecording->unk_E8.unk_1BEC.unk_00 ^ 0xffff) << 16)); ResetLock(RESET_LOCK_0x8); - v0 = SaveData_SaveBattleRecording(saveData, Unk_021C07A4, param1); + v0 = SaveData_SaveBattleRecording(saveData, gBattleRecording, param1); if (v0 == 2) { v0 = SaveData_Save(saveData); diff --git a/src/overlay104/frscrcmd.c b/src/overlay104/frscrcmd.c index cbc57c1bf9..2a510adb34 100644 --- a/src/overlay104/frscrcmd.c +++ b/src/overlay104/frscrcmd.c @@ -171,12 +171,12 @@ static BOOL FrontierScrCmd_28(FrontierScriptContext *ctx); static void ov104_0223056C(u16 param0, UnkStruct_ov104_0223C634 *param1, const UnkStruct_ov104_02232B78_sub1 *param2, UnkStruct_ov63_0222D77C *param3, u8 *param4, enum HeapID heapID); static BOOL FrontierScrCmd_29(FrontierScriptContext *ctx); static BOOL ov104_022305C8(FrontierScriptContext *ctx); -static BOOL FrontierScrCmd_6C(FrontierScriptContext *ctx); +static BOOL FrontierScrCmd_InitNewBattleRecording(FrontierScriptContext *ctx); static BOOL FrontierScrCmd_6D(FrontierScriptContext *ctx); static BOOL ov104_022309DC(FrontierScriptContext *ctx); static int ov104_02230A2C(u16 param0, u16 param1); static BOOL FrontierScrCmd_6E(FrontierScriptContext *ctx); -static BOOL FrontierScrCmd_6F(FrontierScriptContext *ctx); +static BOOL FrontierScrCmd_FreeBattleRecording(FrontierScriptContext *ctx); static BOOL FrontierScrCmd_70(FrontierScriptContext *ctx); static BOOL FrontierScrCmd_72(FrontierScriptContext *ctx); static BOOL WaitForSaveStateFinish(FrontierScriptContext *ctx); @@ -403,10 +403,10 @@ const FrontierScrCmdFunc gFrontierScrCmdFuncs[] = { FrontierScrCmd_69, FrontierScrCmd_6A, FrontierScrCmd_6B, - FrontierScrCmd_6C, + FrontierScrCmd_InitNewBattleRecording, FrontierScrCmd_6D, FrontierScrCmd_6E, - FrontierScrCmd_6F, + FrontierScrCmd_FreeBattleRecording, FrontierScrCmd_70, FrontierScrCmd_71, FrontierScrCmd_72, @@ -429,9 +429,9 @@ const FrontierScrCmdFunc gFrontierScrCmdFuncs[] = { FrontierScrCmd_RemoteBattlePoints, FrontierScrCmd_CallBattleTowerFunction, FrontierScrCmd_85, - FrontierScrCmd_86, + FrontierScrCmd_FreeBattleTower, FrontierScrCmd_87, - FrontierScrCmd_88, + FrontierScrCmd_CheckWonBattleTowerBattle, FrontierScrCmd_89, FrontierScrCmd_8A, FrontierScrCmd_8B, @@ -477,7 +477,7 @@ const FrontierScrCmdFunc gFrontierScrCmdFuncs[] = { FrontierScrCmd_B3, FrontierScrCmd_B4, FrontierScrCmd_B5, - FrontierScrCmd_B6, + FrontierScrCmd_SetBattleTowerNull, FrontierScrCmd_SetWiFiListHostFriendCurrentDate, FrontierScrCmd_B8, FrontierScrCmd_B9, @@ -1386,12 +1386,12 @@ static void ov104_02230950(void *namingScreenArgs) NamingScreenArgs_Free(namingScreenArgs); } -static BOOL FrontierScrCmd_6C(FrontierScriptContext *ctx) +static BOOL FrontierScrCmd_InitNewBattleRecording(FrontierScriptContext *ctx) { - int v0; + int resultCode; UnkStruct_ov104_02230BE4 *v1 = sub_0209B970(ctx->scriptMan->unk_00); - sub_0202F1F8(v1->saveData, HEAP_ID_FIELD2, &v0); + BattleRecording_New(v1->saveData, HEAP_ID_FIELD2, &resultCode); return FALSE; } @@ -1569,9 +1569,9 @@ static BOOL FrontierScrCmd_6E(FrontierScriptContext *ctx) return TRUE; } -static BOOL FrontierScrCmd_6F(FrontierScriptContext *ctx) +static BOOL FrontierScrCmd_FreeBattleRecording(FrontierScriptContext *ctx) { - sub_0202F22C(); + BattleRecording_Free(); return FALSE; } @@ -1899,12 +1899,11 @@ static BOOL FrontierScrCmd_Dummy3C(FrontierScriptContext *ctx) BOOL FrontierScrCmd_3D(FrontierScriptContext *ctx) { - u16 *destVar; u16 destVarID = FrontierScriptContext_ReadHalfWord(ctx); u16 value = FrontierScriptContext_GetVar(ctx); UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(ctx->scriptMan->unk_00); - destVar = VarsFlags_GetVarAddress(SaveData_GetVarsFlags(v3->saveData), destVarID); + u16 *destVar = VarsFlags_GetVarAddress(SaveData_GetVarsFlags(v3->saveData), destVarID); *destVar = value; return FALSE; @@ -1912,12 +1911,11 @@ BOOL FrontierScrCmd_3D(FrontierScriptContext *ctx) BOOL FrontierScrCmd_3E(FrontierScriptContext *ctx) { - u16 *srcVar; u16 srcVarID = FrontierScriptContext_ReadHalfWord(ctx); u16 *destVar = FrontierScriptContext_TryGetVarPointer(ctx); UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(ctx->scriptMan->unk_00); - srcVar = VarsFlags_GetVarAddress(SaveData_GetVarsFlags(v3->saveData), srcVarID); + u16 *srcVar = VarsFlags_GetVarAddress(SaveData_GetVarsFlags(v3->saveData), srcVarID); *destVar = *srcVar; return FALSE; diff --git a/src/overlay104/ov104_02239130.c b/src/overlay104/ov104_02239130.c index 18162f4057..ce22201707 100644 --- a/src/overlay104/ov104_02239130.c +++ b/src/overlay104/ov104_02239130.c @@ -170,12 +170,12 @@ BOOL FrontierScrCmd_85(FrontierScriptContext *param0) return 1; } -BOOL FrontierScrCmd_86(FrontierScriptContext *param0) +BOOL FrontierScrCmd_FreeBattleTower(FrontierScriptContext *param0) { BattleTower *battleTower = sub_0209B978(param0->scriptMan->unk_00); BattleTower_Free(battleTower); - return 0; + return FALSE; } BOOL FrontierScrCmd_87(FrontierScriptContext *param0) @@ -195,21 +195,17 @@ BOOL FrontierScrCmd_87(FrontierScriptContext *param0) return 1; } -BOOL FrontierScrCmd_88(FrontierScriptContext *param0) +BOOL FrontierScrCmd_CheckWonBattleTowerBattle(FrontierScriptContext *ctx) { - BattleTower *battleTower; - FieldBattleDTO *v1; - u16 *v2; + BattleTower *battleTower = sub_0209B978(ctx->scriptMan->unk_00); + u16 *destVar = FrontierScriptContext_TryGetVarPointer(ctx); + FieldBattleDTO *dto = battleTower->unk_8D0; - battleTower = sub_0209B978(param0->scriptMan->unk_00); - v2 = FrontierScriptContext_TryGetVarPointer(param0); - v1 = battleTower->unk_8D0; + battleTower->unk_8CC = CheckPlayerWonBattle(dto->resultMask); + *destVar = battleTower->unk_8CC; - battleTower->unk_8CC = CheckPlayerWonBattle(v1->resultMask); - *v2 = battleTower->unk_8CC; - - FieldBattleDTO_Free(v1); - return 0; + FieldBattleDTO_Free(dto); + return FALSE; } BOOL FrontierScrCmd_89(FrontierScriptContext *param0) diff --git a/src/overlay104/ov104_022395F0.c b/src/overlay104/ov104_022395F0.c index e3cc27cb72..5808d853cc 100644 --- a/src/overlay104/ov104_022395F0.c +++ b/src/overlay104/ov104_022395F0.c @@ -371,11 +371,11 @@ static BOOL ov104_02239C20(FrontierScriptContext *param0) return 1; } -BOOL FrontierScrCmd_B6(FrontierScriptContext *param0) +BOOL FrontierScrCmd_SetBattleTowerNull(FrontierScriptContext *ctx) { - BattleTower *battleTower = sub_0209B978(param0->scriptMan->unk_00); + BattleTower *battleTower = sub_0209B978(ctx->scriptMan->unk_00); BattleTower_Free(battleTower); battleTower = NULL; - return 0; + return FALSE; } diff --git a/src/unk_0202F1D4.c b/src/unk_0202F1D4.c index f41b1c3616..f2d0e0d078 100644 --- a/src/unk_0202F1D4.c +++ b/src/unk_0202F1D4.c @@ -32,7 +32,7 @@ #include "system.h" #include "trainer_info.h" -BattleRecording *Unk_021C07A4 = NULL; +BattleRecording *gBattleRecording = NULL; static void sub_0202FCE8(const Party *param0, UnkStruct_0202FD30 *param1); static void sub_0202FD30(UnkStruct_0202FD30 *param0, Party *param1); @@ -54,43 +54,43 @@ void BattleRecording_Init(BattleRecording *param0) param0->unk_00 = 0xffffffff; } -void sub_0202F1F8(SaveData *saveData, enum HeapID heapID, int *param2) +void BattleRecording_New(SaveData *saveData, enum HeapID heapID, int *resultCode) { - if (Unk_021C07A4 != NULL) { - Heap_Free(Unk_021C07A4); - Unk_021C07A4 = NULL; + if (gBattleRecording != NULL) { + Heap_Free(gBattleRecording); + gBattleRecording = NULL; } - Unk_021C07A4 = SaveData_BattleRecording(saveData, heapID, param2, 0); - BattleRecording_Init(Unk_021C07A4); + gBattleRecording = SaveData_BattleRecording(saveData, heapID, resultCode, 0); + BattleRecording_Init(gBattleRecording); } -void sub_0202F22C(void) +void BattleRecording_Free(void) { - GF_ASSERT(Unk_021C07A4); + GF_ASSERT(gBattleRecording); - Heap_Free(Unk_021C07A4); - Unk_021C07A4 = NULL; + Heap_Free(gBattleRecording); + gBattleRecording = NULL; } BOOL sub_0202F250(void) { - return Unk_021C07A4 != NULL; + return gBattleRecording != NULL; } BattleRecording *sub_0202F264(void) { - GF_ASSERT(Unk_021C07A4); - return Unk_021C07A4; + GF_ASSERT(gBattleRecording); + return gBattleRecording; } void *sub_0202F27C(void) { u8 *v0; - GF_ASSERT(Unk_021C07A4); + GF_ASSERT(gBattleRecording); - v0 = (u8 *)Unk_021C07A4; + v0 = (u8 *)gBattleRecording; return &v0[sizeof(u32)]; } @@ -99,29 +99,29 @@ BOOL sub_0202F298(SaveData *saveData, int param1, int *param2, FieldBattleDTO *p UnkStruct_0202F298 *v0; UnkStruct_0202F41C *v1; - if (Unk_021C07A4) { - Heap_Free(Unk_021C07A4); - Unk_021C07A4 = NULL; + if (gBattleRecording) { + Heap_Free(gBattleRecording); + gBattleRecording = NULL; } - Unk_021C07A4 = SaveData_BattleRecording(saveData, param1, param2, param4); + gBattleRecording = SaveData_BattleRecording(saveData, param1, param2, param4); if (*param2 != 1) { *param2 = 3; return 1; } - v0 = &Unk_021C07A4->unk_E8; - v1 = &Unk_021C07A4->unk_84; + v0 = &gBattleRecording->unk_E8; + v1 = &gBattleRecording->unk_84; sub_0202F860(v0, sizeof(UnkStruct_0202F298) - (sizeof(UnkStruct_0202F298_sub1)), v0->unk_1BEC.unk_00 + ((v0->unk_1BEC.unk_00 ^ 0xffff) << 16)); - if (sub_0202F75C(saveData, Unk_021C07A4) == 1) { + if (sub_0202F75C(saveData, gBattleRecording) == 1) { *param2 = 0; return 1; } - if (sub_0202F794(saveData, Unk_021C07A4) == 0) { + if (sub_0202F794(saveData, gBattleRecording) == 0) { *param2 = 2; return 1; } @@ -211,12 +211,12 @@ int sub_0202F41C(SaveData *saveData, int param1, int param2, int param3, u16 *pa switch (*param4) { case 0: - if (Unk_021C07A4 == NULL) { + if (gBattleRecording == NULL) { return 3; } - v0 = &Unk_021C07A4->unk_84; - v1 = &Unk_021C07A4->unk_E8; + v0 = &gBattleRecording->unk_84; + v1 = &gBattleRecording->unk_E8; sub_0202F510(saveData, v0, v1, param1, param2); @@ -231,7 +231,7 @@ int sub_0202F41C(SaveData *saveData, int param1, int param2, int param3, u16 *pa (*param4)++; break; case 1: - v2 = sub_0202F3AC(saveData, Unk_021C07A4, param3, param5); + v2 = sub_0202F3AC(saveData, gBattleRecording, param3, param5); return v2; } @@ -426,17 +426,17 @@ static void sub_0202F860(void *param0, u32 param1, u32 param2) void sub_0202F868(int param0, int param1, u8 param2) { - if (Unk_021C07A4 == NULL) { + if (gBattleRecording == NULL) { return; } - Unk_021C07A4->unk_E8.unk_150.unk_00[param0][param1] = param2; + gBattleRecording->unk_E8.unk_150.unk_00[param0][param1] = param2; } u8 sub_0202F884(int param0, int param1) { - GF_ASSERT(Unk_021C07A4 != NULL); - return Unk_021C07A4->unk_E8.unk_150.unk_00[param0][param1]; + GF_ASSERT(gBattleRecording != NULL); + return gBattleRecording->unk_E8.unk_150.unk_00[param0][param1]; } void sub_0202F8AC(FieldBattleDTO *param0) @@ -445,11 +445,11 @@ void sub_0202F8AC(FieldBattleDTO *param0) UnkStruct_0202F298 *v1; UnkStruct_0202FAA8 *v2; - if (Unk_021C07A4 == NULL) { + if (gBattleRecording == NULL) { return; } - v1 = &Unk_021C07A4->unk_E8; + v1 = &gBattleRecording->unk_E8; v2 = &v1->unk_00; v2->unk_00 = param0->battleType; @@ -502,11 +502,11 @@ void sub_0202FAA8(int param0, u32 param1) UnkStruct_0202F298 *v0; UnkStruct_0202FAA8 *v1; - if (Unk_021C07A4 == NULL) { + if (gBattleRecording == NULL) { return; } - v0 = &Unk_021C07A4->unk_E8; + v0 = &gBattleRecording->unk_E8; v1 = &v0->unk_00; v1->unk_114[param0] = param1; @@ -518,11 +518,11 @@ BOOL sub_0202FAC0(void) UnkStruct_0202F298 *v1; UnkStruct_0202FAA8 *v2; - if (Unk_021C07A4 == NULL) { + if (gBattleRecording == NULL) { return 1; } - v1 = &Unk_021C07A4->unk_E8; + v1 = &gBattleRecording->unk_E8; v2 = &v1->unk_00; for (v0 = 0; v0 < 4; v0++) { @@ -537,7 +537,7 @@ BOOL sub_0202FAC0(void) void sub_0202FAFC(FieldBattleDTO *dto, SaveData *saveData) { int i; - UnkStruct_0202F298 *v1 = &Unk_021C07A4->unk_E8; + UnkStruct_0202F298 *v1 = &gBattleRecording->unk_E8; dto->battleType = v1->unk_00.unk_00; dto->background = v1->unk_00.unk_E8; @@ -619,10 +619,10 @@ UnkStruct_0202F41C *sub_0202FD88(enum HeapID heapID) { UnkStruct_0202F41C *v0; - GF_ASSERT(Unk_021C07A4 != NULL); + GF_ASSERT(gBattleRecording != NULL); v0 = Heap_Alloc(heapID, sizeof(UnkStruct_0202F41C)); - MI_CpuCopy32(&Unk_021C07A4->unk_84, v0, sizeof(UnkStruct_0202F41C)); + MI_CpuCopy32(&gBattleRecording->unk_84, v0, sizeof(UnkStruct_0202F41C)); return v0; } @@ -631,35 +631,35 @@ UnkStruct_02030A80 *sub_0202FDB8(enum HeapID heapID) { UnkStruct_02030A80 *v0; - GF_ASSERT(Unk_021C07A4 != NULL); + GF_ASSERT(gBattleRecording != NULL); v0 = Heap_Alloc(heapID, sizeof(UnkStruct_02030A80)); - MI_CpuCopy32(&Unk_021C07A4->unk_04, v0, sizeof(UnkStruct_02030A80)); + MI_CpuCopy32(&gBattleRecording->unk_04, v0, sizeof(UnkStruct_02030A80)); return v0; } UnkStruct_02030A80 *sub_0202FDE8(void) { - GF_ASSERT(Unk_021C07A4 != NULL); - return &Unk_021C07A4->unk_04; + GF_ASSERT(gBattleRecording != NULL); + return &gBattleRecording->unk_04; } UnkStruct_0202F41C *sub_0202FE04(void) { - GF_ASSERT(Unk_021C07A4 != NULL); - return &Unk_021C07A4->unk_84; + GF_ASSERT(gBattleRecording != NULL); + return &gBattleRecording->unk_84; } void sub_0202FE20(UnkStruct_02030A80 *param0, UnkStruct_0202F41C *param1, UnkStruct_0202F298 *param2, FieldBattleDTO *param3, SaveData *saveData) { - GF_ASSERT(Unk_021C07A4 != NULL); + GF_ASSERT(gBattleRecording != NULL); - MI_CpuCopy8(param1, &Unk_021C07A4->unk_84, sizeof(UnkStruct_0202F41C)); - MI_CpuCopy8(param2, &Unk_021C07A4->unk_E8, sizeof(UnkStruct_0202F298)); - MI_CpuCopy8(param0, &Unk_021C07A4->unk_04, sizeof(UnkStruct_02030A80)); + MI_CpuCopy8(param1, &gBattleRecording->unk_84, sizeof(UnkStruct_0202F41C)); + MI_CpuCopy8(param2, &gBattleRecording->unk_E8, sizeof(UnkStruct_0202F298)); + MI_CpuCopy8(param0, &gBattleRecording->unk_04, sizeof(UnkStruct_02030A80)); - sub_0202F860(&Unk_021C07A4->unk_E8, sizeof(UnkStruct_0202F298) - (sizeof(UnkStruct_0202F298_sub1)), Unk_021C07A4->unk_E8.unk_1BEC.unk_00 + ((Unk_021C07A4->unk_E8.unk_1BEC.unk_00 ^ 0xffff) << 16)); + sub_0202F860(&gBattleRecording->unk_E8, sizeof(UnkStruct_0202F298) - (sizeof(UnkStruct_0202F298_sub1)), gBattleRecording->unk_E8.unk_1BEC.unk_00 + ((gBattleRecording->unk_E8.unk_1BEC.unk_00 ^ 0xffff) << 16)); if (param3 != NULL) { sub_0202FAFC(param3, saveData); diff --git a/src/unk_0208BA78.c b/src/unk_0208BA78.c index d4bc13cfb2..955fbcc419 100644 --- a/src/unk_0208BA78.c +++ b/src/unk_0208BA78.c @@ -207,7 +207,7 @@ static int sub_0208BC08(ApplicationManager *appMan, int *param1) UnkStruct_0208BC3C *v0 = ApplicationManager_Data(appMan); if (sub_0202F250() == 1) { - sub_0202F22C(); + BattleRecording_Free(); } Heap_Free(v0->unk_14);