Document some frontier scrcmds

This commit is contained in:
Viperio 2026-03-21 08:36:16 +01:00
parent d92f23036b
commit 0867a992bc
23 changed files with 195 additions and 199 deletions

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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);

View File

@ -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 *)(&param0->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();
}
}
}

View File

@ -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);

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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)

View File

@ -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;
}

View File

@ -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);

View File

@ -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);