From fde87529c1e6c4881d16f33360c19209551ac4b6 Mon Sep 17 00:00:00 2001 From: VicSevenT Date: Tue, 12 May 2026 21:55:53 -0500 Subject: [PATCH] Document some facility-specific frscrcmds and structs (#1127) --- asm/macros/frscrcmd.inc | 104 +-- asm/macros/scrcmd.inc | 2 +- generated/battle_tower_functions.txt | 45 -- generated/meson.build | 1 - .../frontier/battle_arcade/main.h | 26 + .../frontier/battle_castle/args.h | 24 + .../frontier/battle_factory/main.h | 15 + include/constants/battle_arcade_functions.h | 60 ++ include/constants/battle_castle_functions.h | 52 ++ include/constants/battle_factory_functions.h | 49 ++ include/constants/battle_frontier.h | 12 +- include/constants/battle_hall_functions.h | 80 +-- include/constants/battle_tower_functions.h | 52 ++ include/data/scripts/frscrcmd.h | 42 +- ...04_02237378.h => frscrcmd_battle_arcade.h} | 16 +- ...04_022358E8.h => frscrcmd_battle_castle.h} | 20 +- include/overlay104/frscrcmd_battle_factory.h | 23 + include/overlay104/frscrcmd_battle_hall.h | 4 +- ...104_02239130.h => frscrcmd_battle_tower.h} | 10 +- include/overlay104/ov104_0222ECE8.h | 46 +- include/overlay104/ov104_022332B4.h | 23 - include/overlay104/ov104_022339B4.h | 38 +- include/overlay104/ov104_022361B4.h | 42 +- include/overlay104/ov104_02237DD8.h | 52 +- include/overlay104/ov104_0223A7F4.h | 12 +- include/overlay104/ov104_0223B6F4.h | 16 +- include/overlay104/ov104_0223BCBC.h | 16 +- ...v104_0223BFFC.h => struct_battle_arcade.h} | 36 +- ...v104_0223BA10.h => struct_battle_castle.h} | 26 +- ...104_0223ADA0.h => struct_battle_factory.h} | 16 +- include/overlay104/struct_ov104_02234130.h | 20 - include/overlay104/struct_ov104_0223597C.h | 26 - include/overlay104/struct_ov104_02238240.h | 31 - include/struct_defs/battle_tower.h | 2 +- platinum.us/main.lsf | 8 +- .../frontier_scripts_battle_arcade.s | 503 +++++++------- .../frontier_scripts_battle_castle.s | 219 +++--- .../frontier_scripts_battle_factory.s | 209 +++--- .../frontier_scripts_battle_hall.s | 6 +- ...rontier_scripts_battle_tower_battle_room.s | 8 +- ...r_scripts_battle_tower_multi_battle_room.s | 8 +- .../frontier/battle_arcade/main.c | 53 +- .../frontier/battle_castle/opponent_app.c | 22 +- .../frontier/battle_castle/self_app.c | 14 +- .../frontier/battle_factory/main.c | 17 +- src/meson.build | 8 +- src/overlay104/frscrcmd.c | 8 +- src/overlay104/frscrcmd_battle_arcade.c | 623 +++++++++++++++++ src/overlay104/frscrcmd_battle_castle.c | 579 ++++++++++++++++ src/overlay104/frscrcmd_battle_factory.c | 473 +++++++++++++ src/overlay104/frscrcmd_battle_hall.c | 10 +- ...104_02239130.c => frscrcmd_battle_tower.c} | 39 +- src/overlay104/ov104_0222ECE8.c | 152 ++-- src/overlay104/ov104_022332B4.c | 492 ------------- src/overlay104/ov104_022339B4.c | 179 +++-- src/overlay104/ov104_022358E8.c | 614 ---------------- src/overlay104/ov104_022361B4.c | 225 +++--- src/overlay104/ov104_02237378.c | 655 ------------------ src/overlay104/ov104_02237DD8.c | 321 +++++---- src/overlay104/ov104_0223A7F4.c | 40 +- src/overlay104/ov104_0223B6F4.c | 52 +- src/overlay104/ov104_0223BCBC.c | 56 +- src/unk_020494DC.c | 2 +- 63 files changed, 3334 insertions(+), 3300 deletions(-) delete mode 100644 generated/battle_tower_functions.txt create mode 100644 include/applications/frontier/battle_castle/args.h create mode 100644 include/constants/battle_arcade_functions.h create mode 100644 include/constants/battle_castle_functions.h create mode 100644 include/constants/battle_factory_functions.h create mode 100644 include/constants/battle_tower_functions.h rename include/overlay104/{ov104_02237378.h => frscrcmd_battle_arcade.h} (53%) rename include/overlay104/{ov104_022358E8.h => frscrcmd_battle_castle.h} (57%) create mode 100644 include/overlay104/frscrcmd_battle_factory.h rename include/overlay104/{ov104_02239130.h => frscrcmd_battle_tower.h} (53%) delete mode 100644 include/overlay104/ov104_022332B4.h rename include/overlay104/{struct_ov104_0223BFFC.h => struct_battle_arcade.h} (69%) rename include/overlay104/{struct_ov104_0223BA10.h => struct_battle_castle.h} (70%) rename include/overlay104/{struct_ov104_0223ADA0.h => struct_battle_factory.h} (80%) delete mode 100644 include/overlay104/struct_ov104_02234130.h delete mode 100644 include/overlay104/struct_ov104_0223597C.h delete mode 100644 include/overlay104/struct_ov104_02238240.h create mode 100644 src/overlay104/frscrcmd_battle_arcade.c create mode 100644 src/overlay104/frscrcmd_battle_castle.c create mode 100644 src/overlay104/frscrcmd_battle_factory.c rename src/overlay104/{ov104_02239130.c => frscrcmd_battle_tower.c} (88%) delete mode 100644 src/overlay104/ov104_022332B4.c delete mode 100644 src/overlay104/ov104_022358E8.c delete mode 100644 src/overlay104/ov104_02237378.c diff --git a/asm/macros/frscrcmd.inc b/asm/macros/frscrcmd.inc index 966037e493..40ff373d30 100644 --- a/asm/macros/frscrcmd.inc +++ b/asm/macros/frscrcmd.inc @@ -1,4 +1,3 @@ -#include "generated/battle_tower_functions.h" #include "generated/battle_tower_modes.h" #include "generated/fade_types.h" #include "generated/game_records.h" @@ -6,6 +5,7 @@ #include "generated/trainer_score_events.h" #include "generated/vars_flags.h" #include "constants/battle_frontier_movements.h" +#include "constants/battle_tower_functions.h" #include "constants/battle_tower.h" #include "constants/colors.h" #include "constants/fade_screen.h" @@ -534,20 +534,20 @@ .short FRSCRCMD_5E .endm - .macro FrontierScrCmd_5F - .short FRSCRCMD_5F + .macro OpenBattleFactoryAppInitial + .short FRSCRCMD_OPENBATTLEFACTORYAPPINITIAL .endm - .macro FrontierScrCmd_60 - .short FRSCRCMD_60 + .macro BattleFactory_CleanupBattle + .short FRSCRCMD_BATTLEFACTORY_CLEANUPBATTLE .endm - .macro FrontierScrCmd_61 - .short FRSCRCMD_61 + .macro BattleFactory_StartBattle + .short FRSCRCMD_BATTLEFACTORY_STARTBATTLE .endm - .macro FrontierScrCmd_62 - .short FRSCRCMD_62 + .macro OpenBattleFactoryAppForTrade + .short FRSCRCMD_OPENBATTLEFACTORYAPPFORTRADE .endm .macro FrontierScrCmd_63 @@ -566,17 +566,17 @@ .short FRSCRCMD_66 .endm - .macro FrontierScrCmd_67 arg0, arg1, arg2, arg3 - .short FRSCRCMD_67 - .byte \arg0 + .macro CallBattleFactoryFunction command, arg1, arg2, destVar + .short FRSCRCMD_CALLBATTLEFACTORYFUNCTION + .byte \command .byte \arg1 .byte \arg2 - .short \arg3 + .short \destVar .endm - .macro FrontierScrCmd_68 arg0 - .short FRSCRCMD_68 - .short \arg0 + .macro BattleFactory_CheckWonBattle destVar + .short FRSCRCMD_BATTLEFACTORY_CHECKWONBATTLE + .short \destVar .endm .macro FrontierScrCmd_69 arg0, arg1, arg2 @@ -736,12 +736,12 @@ .short FRSCRCMD_FREETOWERSTRUCT .endm - .macro FrontierScrCmd_87 - .short FRSCRCMD_87 + .macro BattleTower_StartBattle + .short FRSCRCMD_BATTLETOWER_STARTBATTLE .endm - .macro CheckWonTowerBattle destVar - .short FRSCRCMD_CHECKWONTOWERBATTLE + .macro BattleTower_CheckWonBattle destVar + .short FRSCRCMD_BATTLETOWER_CHECKWONBATTLE .short \destVar .endm @@ -779,8 +779,8 @@ .short FRSCRCMD_OPENBATTLEHALLAPP .endm - .macro BattleHall_CheckWonBattle - .short FRSCRCMD_BATTLEHALL_CHECKWONBATTLE + .macro BattleHall_CleanupBattle + .short FRSCRCMD_BATTLEHALL_CLEANUPBATTLE .endm .macro BattleHall_StartBattle @@ -795,8 +795,8 @@ .short \returnVar .endm - .macro BattleHall_GetBattleResult destVar - .short FRSCRCMD_BATTLEHALL_GETBATTLERESULT + .macro BattleHall_CheckWonBattle destVar + .short FRSCRCMD_BATTLEHALL_CHECKWONBATTLE .short \destVar .endm @@ -841,20 +841,20 @@ .short FRSCRCMD_99 .endm - .macro FrontierScrCmd_9A - .short FRSCRCMD_9A + .macro OpenBattleCastleSelfApp + .short FRSCRCMD_OPENBATTLECASTLESELFAPP .endm - .macro FrontierScrCmd_9B - .short FRSCRCMD_9B + .macro BattleCastle_CleanupBattle + .short FRSCRCMD_BATTLECASTLE_CLEANUPBATTLE .endm - .macro FrontierScrCmd_9C - .short FRSCRCMD_9C + .macro BattleCastle_StartBattle + .short FRSCRCMD_BATTLECASTLE_STARTBATTLE .endm - .macro FrontierScrCmd_9D - .short FRSCRCMD_9D + .macro OpenBattleCastleOpponentApp + .short FRSCRCMD_OPENBATTLECASTLEOPPONENTAPP .endm .macro FrontierScrCmd_9E @@ -865,17 +865,17 @@ .short FRSCRCMD_9F .endm - .macro FrontierScrCmd_A0 arg0, arg1, arg2, arg3 - .short FRSCRCMD_A0 - .byte \arg0 + .macro CallBattleCastleFunction command, arg1, arg2, destVar + .short FRSCRCMD_CALLBATTLECASTLEFUNCTION + .byte \command .byte \arg1 .byte \arg2 - .short \arg3 + .short \destVar .endm - .macro FrontierScrCmd_A1 arg0 - .short FRSCRCMD_A1 - .short \arg0 + .macro BattleCastle_CheckWonBattle destVar + .short FRSCRCMD_BATTLECASTLE_CHECKWONBATTLE + .short \destVar .endm .macro FrontierScrCmd_A2 arg0, arg1, arg2 @@ -1015,12 +1015,12 @@ .short FRSCRCMD_BA .endm - .macro FrontierScrCmd_BB - .short FRSCRCMD_BB + .macro BattleArcade_CleanupBattle + .short FRSCRCMD_BATTLEARCADE_CLEANUPBATTLE .endm - .macro FrontierScrCmd_BC - .short FRSCRCMD_BC + .macro BattleArcade_StartBattle + .short FRSCRCMD_BATTLEARCADE_STARTBATTLE .endm .macro FrontierScrCmd_BD @@ -1031,17 +1031,17 @@ .short FRSCRCMD_BE .endm - .macro FrontierScrCmd_BF arg0, arg1, arg2, arg3 - .short FRSCRCMD_BF - .byte \arg0 + .macro CallBattleArcadeFunction command, arg1, arg2, destVar + .short FRSCRCMD_CALLBATTLEARCADEFUNCTION + .byte \command .short \arg1 .short \arg2 - .short \arg3 + .short \destVar .endm - .macro FrontierScrCmd_C0 arg0 - .short FRSCRCMD_C0 - .short \arg0 + .macro BattleArcade_CheckWonBattle destVar + .short FRSCRCMD_BATTLEARCADE_CHECKWONBATTLE + .short \destVar .endm .macro FrontierScrCmd_C1 arg0, arg1, arg2 @@ -1056,8 +1056,8 @@ .short \arg0 .endm - .macro FrontierScrCmd_C3 - .short FRSCRCMD_C3 + .macro OpenBattleArcadeApp + .short FRSCRCMD_OPENBATTLEARCADEAPP .endm .macro FrontierScrCmd_C4 arg0 diff --git a/asm/macros/scrcmd.inc b/asm/macros/scrcmd.inc index 37bbfdb5d2..1d93238fcc 100644 --- a/asm/macros/scrcmd.inc +++ b/asm/macros/scrcmd.inc @@ -1,6 +1,5 @@ #include "generated/badges.h" #include "generated/battle_tower_modes.h" -#include "generated/battle_tower_functions.h" #include "generated/berry_growth_stages.h" #include "generated/catching_show_points_category.h" #include "generated/comm_club_ret_codes.h" @@ -37,6 +36,7 @@ #include "constants/animation_tags.h" #include "constants/battle.h" #include "constants/battle_tower.h" +#include "constants/battle_tower_functions.h" #include "constants/battle/battle_script.h" #include "constants/boat_cutscene.h" #include "constants/colors.h" diff --git a/generated/battle_tower_functions.txt b/generated/battle_tower_functions.txt deleted file mode 100644 index 98196cb13e..0000000000 --- a/generated/battle_tower_functions.txt +++ /dev/null @@ -1,45 +0,0 @@ -BT_FUNC_CHECK_ENOUGH_VALID_POKEMON = 1 -BT_FUNC_RESET_SYSTEM -BT_FUNC_UNK_03 -BT_FUNC_UNK_04 -BT_FUNC_SET_COMMUNICATION_CLUB_ACCESSIBLE -BT_FUNC_CLEAR_COMMUNICATION_CLUB_ACCESSIBLE -BT_FUNC_UNK_08 = 8 -BT_FUNC_UNK_09 -BT_FUNC_UNK_10 -BT_FUNC_UNK_11 -BT_FUNC_UNK_12 -BT_FUNC_UNK_14 = 14 -BT_FUNC_UNK_15 -BT_FUNC_UNK_16 -BT_FUNC_UNK_30 = 30 -BT_FUNC_UNK_31 -BT_FUNC_CHECK_DUPLICATE_SPECIES_AND_HELD_ITEMS -BT_FUNC_GET_NEXT_OPPONENT_NUM -BT_FUNC_UNK_34 -BT_FUNC_HAS_DEFEATED_SEVEN_TRAINERS -BT_FUNC_UNK_36 -BT_FUNC_UPDATE_GAME_RECORDS -BT_FUNC_UPDATE_GAME_RECORDS_AND_JOURNAL -BT_FUNC_UNK_39 -BT_FUNC_SET_OPPONENT_TEAMS -BT_FUNC_GET_OPPONENT_OBJECT_ID -BT_FUNC_UNK_42 -BT_FUNC_GET_CHALLENGE_MODE -BT_FUNC_SET_BEAT_PALMER -BT_FUNC_GET_BEAT_PALMER -BT_FUNC_UNK_46 -BT_FUNC_UNK_47 -BT_FUNC_UNK_48 -BT_FUNC_UNK_49 -BT_FUNC_SET_PARTNER_ID -BT_FUNC_GET_PARTNER_ID -BT_FUNC_UNK_52 -BT_FUNC_GET_SLOT_INDEX -BT_FUNC_UNK_54 -BT_FUNC_GET_PARTNER_PARAM -BT_FUNC_UNK_56 -BT_FUNC_UNK_57 -BT_FUNC_UNK_58 -BT_FUNC_UNK_59 -BT_FUNC_CHECK_IS_NULL = 100 diff --git a/generated/meson.build b/generated/meson.build index bee670c564..32a41c092e 100644 --- a/generated/meson.build +++ b/generated/meson.build @@ -38,7 +38,6 @@ metang_generators = { 'battle_sub_animations': { 'type': 'enum', 'tag': 'BattleSubAnimation' }, 'battle_subscripts': { 'type': 'enum', 'tag': 'BattleSubscript' }, # functionally pre-generating the NARC index 'battle_terrains': { 'type': 'enum', 'tag': 'BattleTerrain' }, - 'battle_tower_functions': { 'type': 'enum', 'tag': 'BattleTowerFunction' }, 'battle_tower_modes': { 'type': 'enum', 'tag': 'BattleTowerMode' }, 'berry_growth_stages': { 'type': 'enum', 'tag': 'BerryGrowthStage' }, 'bg_event_dirs': { 'type': 'enum', 'tag': 'BgEventDir' }, diff --git a/include/applications/frontier/battle_arcade/main.h b/include/applications/frontier/battle_arcade/main.h index 289bd5a6ac..28a1b26db8 100644 --- a/include/applications/frontier/battle_arcade/main.h +++ b/include/applications/frontier/battle_arcade/main.h @@ -2,6 +2,32 @@ #define POKEPLATINUM_APPLICATIONS_BATTLE_ARCADE_MAIN_H #include "overlay_manager.h" +#include "party.h" +#include "savedata.h" + +typedef struct BattleArcadeAppArgs { + SaveData *saveData; + u8 challengeType; + u8 padding_05[2]; + u8 unk_07; + int *unk_08; + u8 *rouletteSpeed; + u8 *selectedEffect; + u16 *unk_14; + u16 partnersStreak; + u8 padding_1A[2]; + u16 currentStreak; + u16 round; + u8 padding_20[16]; + Party *party; + Party *opponentsParty; + u16 cursorPos; + u8 padding_3A[2]; + void *battleArcade; + u8 padding_3E[2]; + u8 randomizeCursorMovement; + u8 padding_41[3]; +} BattleArcadeAppArgs; BOOL BattleArcadeApp_Init(ApplicationManager *appMan, int *state); BOOL BattleArcadeApp_Main(ApplicationManager *appMan, int *state); diff --git a/include/applications/frontier/battle_castle/args.h b/include/applications/frontier/battle_castle/args.h new file mode 100644 index 0000000000..2e62212102 --- /dev/null +++ b/include/applications/frontier/battle_castle/args.h @@ -0,0 +1,24 @@ +#ifndef POKEPLATINUM_APPLICATIONS_BATTLE_CASTLE_ARGS_H +#define POKEPLATINUM_APPLICATIONS_BATTLE_CASTLE_ARGS_H + +#include "party.h" +#include "savedata.h" + +typedef struct BattleCastleAppArgs { + SaveData *saveData; + u8 challengeType; + u8 unused[3]; + u8 identityUnlocked[4]; + u8 levelAdjustmentUnlocked[4]; + u8 statsUnlocked[4]; + u8 movesUnlocked[4]; + Party *party; + Party *opponentsParty; + u16 selectedMonSlot; + u8 padding[2]; + void *battleCastle; + u16 partnersCP; + u8 padding2[6]; +} BattleCastleAppArgs; + +#endif // POKEPLATINUM_APPLICATIONS_BATTLE_CASTLE_ARGS_H diff --git a/include/applications/frontier/battle_factory/main.h b/include/applications/frontier/battle_factory/main.h index 18a43f5d6c..21aa677b8d 100644 --- a/include/applications/frontier/battle_factory/main.h +++ b/include/applications/frontier/battle_factory/main.h @@ -2,6 +2,21 @@ #define POKEPLATINUM_APPLICATIONS_BATTLE_FACTORY_MAIN_H #include "overlay_manager.h" +#include "party.h" +#include "savedata.h" + +typedef struct BattleFactoryAppArgs { + SaveData *saveData; + u8 challengeType; + u8 unk_05; + u8 isExchangeMode; + u8 padding_07; + Party *personalParty; + Party *receivableParty; + u16 selectedIndices[6]; + void *battleFactory; + u8 padding_20[4]; +} BattleFactoryAppArgs; int BattleFactoryApp_Init(ApplicationManager *appMan, int *state); int BattleFactoryApp_Main(ApplicationManager *appMan, int *state); diff --git a/include/constants/battle_arcade_functions.h b/include/constants/battle_arcade_functions.h new file mode 100644 index 0000000000..8eb234e597 --- /dev/null +++ b/include/constants/battle_arcade_functions.h @@ -0,0 +1,60 @@ +#ifndef POKEPLATINUM_CONSTANTS_BATTLE_ARCADE_FUNCTIONS_H +#define POKEPLATINUM_CONSTANTS_BATTLE_ARCADE_FUNCTIONS_H + +enum BattleArcadeFunction { + BA_FUNC_UNK_0 = 0, + BA_FUNC_UNK_1, + BA_FUNC_SET_CHALLENGE_TYPE, + BA_FUNC_UNK_3, + BA_FUNC_UNK_4, + BA_FUNC_INCREMENT_CURRENT_STREAK, + BA_FUNC_UNK_6, + BA_FUNC_RESET_SYSTEM, + BA_FUNC_UNK_8, + BA_FUNC_UNK_9, + BA_FUNC_UNK_10, + BA_FUNC_UNK_11, + BA_FUNC_UNK_12, + BA_FUNC_UNK_13, + BA_FUNC_UNK_14, + BA_FUNC_UNK_15, + BA_FUNC_UNK_16, + BA_FUNC_GET_CHALLENGE_TYPE, + BA_FUNC_UNK_18, + BA_FUNC_UNK_19, + BA_FUNC_UNK_20, + BA_FUNC_UNK_21, + BA_FUNC_UNK_22, + BA_FUNC_UNK_23, + BA_FUNC_UNK_24, + BA_FUNC_UNK_25, + BA_FUNC_UNK_26, + BA_FUNC_UNK_27, + BA_FUNC_IS_MULTIPLAYER_CHALLENGE, + BA_FUNC_UNK_29, + BA_FUNC_UNK_30, + BA_FUNC_UNK_31, + BA_FUNC_UNK_32, + BA_FUNC_UNK_33, + BA_FUNC_UNK_34, + BA_FUNC_UNK_35, + BA_FUNC_UNK_36, + BA_FUNC_UNK_37, + BA_FUNC_UNK_38, + BA_FUNC_UNK_39, + BA_FUNC_UNK_40, + BA_FUNC_UNK_41, + BA_FUNC_UNK_42, + BA_FUNC_UNK_43, + BA_FUNC_UNK_44, + BA_FUNC_UNK_45, + BA_FUNC_UNK_46, + BA_FUNC_UNK_47, + BA_FUNC_UNK_48, + BA_FUNC_UNK_49, + BA_FUNC_UNK_50, + BA_FUNC_UNK_51, + BA_FUNC_UNK_52, +}; + +#endif // POKEPLATINUM_CONSTANTS_BATTLE_ARCADE_FUNCTIONS_H diff --git a/include/constants/battle_castle_functions.h b/include/constants/battle_castle_functions.h new file mode 100644 index 0000000000..b955390c93 --- /dev/null +++ b/include/constants/battle_castle_functions.h @@ -0,0 +1,52 @@ +#ifndef POKEPLATINUM_CONSTANTS_BATTLE_CASTLE_FUNCTIONS_H +#define POKEPLATINUM_CONSTANTS_BATTLE_CASTLE_FUNCTIONS_H + +enum BattleCastleFunction { + BC_FUNC_UNK_0 = 0, + BC_FUNC_UNK_1, + BC_FUNC_SET_CHALLENGE_TYPE, + BC_FUNC_UNK_3, + BC_FUNC_GET_CURRENT_STREAK, + BC_FUNC_INCREMENT_CURRENT_STREAK, + BC_FUNC_UNK_6, + BC_FUNC_RESET_SYSTEM, + BC_FUNC_UNK_8, + BC_FUNC_UNK_9, + BC_FUNC_UNK_10, + BC_FUNC_UNK_11, + BC_FUNC_UNK_12, + BC_FUNC_UNK_13, + BC_FUNC_UNK_14, + BC_FUNC_UNK_15, + BC_FUNC_UNK_16, + BC_FUNC_GET_CHALLENGE_TYPE, + BC_FUNC_UNK_18, + BC_FUNC_UNK_19, + BC_FUNC_UNK_20, + BC_FUNC_UNK_21, + BC_FUNC_UNK_22, + BC_FUNC_UNK_23, + BC_FUNC_UNK_24, + BC_FUNC_UNK_25, + BC_FUNC_UNK_26, + BC_FUNC_UNK_27, + BC_FUNC_UNK_28, + BC_FUNC_UNK_29, + BC_FUNC_UNK_30, + BC_FUNC_UNK_31, + BC_FUNC_UNK_32, + BC_FUNC_UNK_33, + BC_FUNC_UNK_34, + BC_FUNC_IS_MULTIPLAYER_CHALLENGE, + BC_FUNC_UNK_36, + BC_FUNC_UNK_37, + BC_FUNC_UNK_38, + BC_FUNC_UNK_39, + BC_FUNC_UNK_40, + BC_FUNC_UNK_41, + BC_FUNC_UNK_42, + BC_FUNC_UNK_43, + BC_FUNC_UNK_44, +}; + +#endif // POKEPLATINUM_CONSTANTS_BATTLE_CASTLE_FUNCTIONS_H diff --git a/include/constants/battle_factory_functions.h b/include/constants/battle_factory_functions.h new file mode 100644 index 0000000000..76bff37c00 --- /dev/null +++ b/include/constants/battle_factory_functions.h @@ -0,0 +1,49 @@ +#ifndef POKEPLATINUM_CONSTANTS_BATTLE_FACTORY_FUNCTIONS_H +#define POKEPLATINUM_CONSTANTS_BATTLE_FACTORY_FUNCTIONS_H + +enum BattleFactoryFunction { + BF_FUNC_UNK_0 = 0, + BF_FUNC_UNK_1, + BF_FUNC_SET_CHALLENGE_TYPE, + BF_FUNC_UNK_3, + BF_FUNC_GET_CURRENT_STREAK, + BF_FUNC_INCREMENT_CURRENT_STREAK, + BF_FUNC_UNK_6, + BF_FUNC_RESET_SYSTEM, + BF_FUNC_UNK_8, + BF_FUNC_UNK_9, + BF_FUNC_UNK_10, + BF_FUNC_UNK_11, + BF_FUNC_UNK_12, + BF_FUNC_UNK_13, + BF_FUNC_UNK_14, + BF_FUNC_UNK_15, + BF_FUNC_UNK_16, + BF_FUNC_UNK_17, + BF_FUNC_UNK_18, + BF_FUNC_UNK_19, + BF_FUNC_UNK_20, + BF_FUNC_UNK_21, + BF_FUNC_UNK_22, + BF_FUNC_UNK_23, + BF_FUNC_UNK_24, + BF_FUNC_UNK_25, + BF_FUNC_UNK_26, + BF_FUNC_UNK_27, + BF_FUNC_IS_MULTIPLAYER_CHALLENGE, + BF_FUNC_GET_CHALLENGE_TYPE, + BF_FUNC_UNK_30, + BF_FUNC_UNK_31, + BF_FUNC_UNK_32, + BF_FUNC_UNK_33, + BF_FUNC_UNK_34, + BF_FUNC_UNK_35, + BF_FUNC_UNK_36, + BF_FUNC_UNK_37, + BF_FUNC_UNK_38, + BF_FUNC_UNK_39, + BF_FUNC_UNK_40, + BF_FUNC_UNK_41, +}; + +#endif // POKEPLATINUM_CONSTANTS_BATTLE_FACTORY_FUNCTIONS_H diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h index 17b77ba281..68aae2fb81 100644 --- a/include/constants/battle_frontier.h +++ b/include/constants/battle_frontier.h @@ -25,7 +25,7 @@ #define ARCADE_EFFECT_FREEZE_FOE 5 #define ARCADE_EFFECT_FOE_GET_BERRY 6 #define ARCADE_EFFECT_FOE_GET_ITEM 7 -#define ARCADE_EFFECT_FOE_GET_LEVELS 8 +#define ARCADE_EFFECT_FOE_LEVEL_UP 8 #define ARCADE_EFFECT_LOWER_ALLY_HP 9 #define ARCADE_EFFECT_POISON_ALLY 10 #define ARCADE_EFFECT_PARALYZE_ALLY 11 @@ -34,17 +34,17 @@ #define ARCADE_EFFECT_FREEZE_ALLY 14 #define ARCADE_EFFECT_ALLY_GET_BERRY 15 #define ARCADE_EFFECT_ALLY_GET_ITEM 16 -#define ARCADE_EFFECT_ALLY_GET_LEVELS 17 +#define ARCADE_EFFECT_ALLY_LEVEL_UP 17 #define ARCADE_EFFECT_SUNNY_BATTLE 18 #define ARCADE_EFFECT_RAINY_BATTLE 19 #define ARCADE_EFFECT_SANDY_BATTLE 20 #define ARCADE_EFFECT_HAIL_BATTLE 21 #define ARCADE_EFFECT_FOGGY_BATTLE 22 #define ARCADE_EFFECT_TRICK_ROOM 23 -#define ARCADE_EFFECT_SWAP_MONS 24 -#define ARCADE_EFFECT_SPEED_UP 25 -#define ARCADE_EFFECT_SLOW_DOWN 26 -#define ARCADE_EFFECT_RANDOMIZE_CURSOR 27 +#define ARCADE_EFFECT_SPEED_UP 24 +#define ARCADE_EFFECT_SLOW_DOWN 25 +#define ARCADE_EFFECT_RANDOMIZE_CURSOR 26 +#define ARCADE_EFFECT_SWAP_MONS 27 #define ARCADE_EFFECT_GET_1_BP 28 #define ARCADE_EFFECT_NO_BATTLE 29 #define ARCADE_EFFECT_NO_EVENT 30 diff --git a/include/constants/battle_hall_functions.h b/include/constants/battle_hall_functions.h index 2e95846dfa..0157f76bda 100644 --- a/include/constants/battle_hall_functions.h +++ b/include/constants/battle_hall_functions.h @@ -1,44 +1,46 @@ #ifndef POKEPLATINUM_CONSTANTS_BATTLE_HALL_FUNCTIONS_H #define POKEPLATINUM_CONSTANTS_BATTLE_HALL_FUNCTIONS_H -#define BH_FUNC_UNK_0 0 -#define BH_FUNC_UNK_1 1 -#define BH_FUNC_SET_CHALLENGE_TYPE 2 -#define BH_FUNC_GET_SELECTED_TYPE_INDEX 3 -#define BH_FUNC_GET_CURRENT_STREAK 4 -#define BH_FUNC_INCREMENT_CURRENT_STEAK 5 -#define BH_FUNC_UNK_6 6 -#define BH_FUNC_RESET_SYSTEM 7 -#define BH_FUNC_UNK_8 8 -#define BH_FUNC_UNK_9 9 -#define BH_FUNC_UNK_10 10 -#define BH_FUNC_UNK_11 11 -#define BH_FUNC_UNK_12 12 -#define BH_FUNC_UNK_13 13 -#define BH_FUNC_UNK_14 14 -#define BH_FUNC_UNK_15 15 -#define BH_FUNC_UNK_16 16 -#define BH_FUNC_GET_CHALLENGE_TYPE 17 -#define BH_FUNC_UNK_18 18 -#define BH_FUNC_UNK_19 19 -#define BH_FUNC_UNK_20 20 -#define BH_FUNC_UNK_21 21 -#define BH_FUNC_UNK_22 22 -#define BH_FUNC_UNK_23 23 -#define BH_FUNC_UNK_24 24 -#define BH_FUNC_UNK_25 25 -#define BH_FUNC_UNK_26 26 -#define BH_FUNC_UPDATE_HELD_ITEMS 27 -#define BH_FUNC_UNK_28 28 -#define BH_FUNC_UNK_29 29 -#define BH_FUNC_IS_MULTIPLAYER_CHALLENGE 30 -#define BH_FUNC_TOGGLE_ENGINE_LAYER 31 -#define BH_FUNC_UNK_32 32 -#define BH_FUNC_UNK_33 33 -#define BH_FUNC_UNK_34 34 -#define BH_FUNC_UNK_35 35 -#define BH_FUNC_SET_BASE_LEVEL 36 -#define BH_FUNC_UNK_37 37 -#define BH_FUNC_DUMMY 38 +enum BattleHallFunction { + BH_FUNC_UNK_0 = 0, + BH_FUNC_UNK_1, + BH_FUNC_SET_CHALLENGE_TYPE, + BH_FUNC_GET_SELECTED_TYPE_INDEX, + BH_FUNC_GET_CURRENT_STREAK, + BH_FUNC_INCREMENT_CURRENT_STREAK, + BH_FUNC_UNK_6, + BH_FUNC_RESET_SYSTEM, + BH_FUNC_UNK_8, + BH_FUNC_UNK_9, + BH_FUNC_UNK_10, + BH_FUNC_UNK_11, + BH_FUNC_UNK_12, + BH_FUNC_UNK_13, + BH_FUNC_UNK_14, + BH_FUNC_UNK_15, + BH_FUNC_UNK_16, + BH_FUNC_GET_CHALLENGE_TYPE, + BH_FUNC_UNK_18, + BH_FUNC_UNK_19, + BH_FUNC_UNK_20, + BH_FUNC_UNK_21, + BH_FUNC_UNK_22, + BH_FUNC_UNK_23, + BH_FUNC_UNK_24, + BH_FUNC_UNK_25, + BH_FUNC_UNK_26, + BH_FUNC_UPDATE_HELD_ITEMS, + BH_FUNC_UNK_28, + BH_FUNC_UNK_29, + BH_FUNC_IS_MULTIPLAYER_CHALLENGE, + BH_FUNC_TOGGLE_ENGINE_LAYER, + BH_FUNC_UNK_32, + BH_FUNC_UNK_33, + BH_FUNC_UNK_34, + BH_FUNC_UNK_35, + BH_FUNC_SET_BASE_LEVEL, + BH_FUNC_UNK_37, + BH_FUNC_DUMMY, +}; #endif // POKEPLATINUM_CONSTANTS_BATTLE_HALL_FUNCTIONS_H diff --git a/include/constants/battle_tower_functions.h b/include/constants/battle_tower_functions.h new file mode 100644 index 0000000000..507a5696a3 --- /dev/null +++ b/include/constants/battle_tower_functions.h @@ -0,0 +1,52 @@ +#ifndef POKEPLATINUM_CONSTANTS_BATTLE_TOWER_FUNCTIONS_H +#define POKEPLATINUM_CONSTANTS_BATTLE_TOWER_FUNCTIONS_H + +enum BattleTowerFunction { + BT_FUNC_CHECK_ENOUGH_VALID_POKEMON = 1, + BT_FUNC_RESET_SYSTEM, + BT_FUNC_UNK_03, + BT_FUNC_UNK_04, + BT_FUNC_SET_COMMUNICATION_CLUB_ACCESSIBLE, + BT_FUNC_CLEAR_COMMUNICATION_CLUB_ACCESSIBLE, + BT_FUNC_UNK_08 = 8, + BT_FUNC_UNK_09, + BT_FUNC_UNK_10, + BT_FUNC_UNK_11, + BT_FUNC_UNK_12, + BT_FUNC_UNK_14 = 14, + BT_FUNC_UNK_15, + BT_FUNC_UNK_16, + BT_FUNC_UNK_30 = 30, + BT_FUNC_UNK_31, + BT_FUNC_CHECK_DUPLICATE_SPECIES_AND_HELD_ITEMS, + BT_FUNC_GET_NEXT_OPPONENT_NUM, + BT_FUNC_UNK_34, + BT_FUNC_HAS_DEFEATED_SEVEN_TRAINERS, + BT_FUNC_UNK_36, + BT_FUNC_UPDATE_GAME_RECORDS, + BT_FUNC_UPDATE_GAME_RECORDS_AND_JOURNAL, + BT_FUNC_UNK_39, + BT_FUNC_SET_OPPONENT_TEAMS, + BT_FUNC_GET_OPPONENT_OBJECT_ID, + BT_FUNC_UNK_42, + BT_FUNC_GET_CHALLENGE_MODE, + BT_FUNC_SET_BEAT_PALMER, + BT_FUNC_GET_BEAT_PALMER, + BT_FUNC_UNK_46, + BT_FUNC_UNK_47, + BT_FUNC_UNK_48, + BT_FUNC_UNK_49, + BT_FUNC_SET_PARTNER_ID, + BT_FUNC_GET_PARTNER_ID, + BT_FUNC_UNK_52, + BT_FUNC_GET_SLOT_INDEX, + BT_FUNC_UNK_54, + BT_FUNC_GET_PARTNER_PARAM, + BT_FUNC_UNK_56, + BT_FUNC_UNK_57, + BT_FUNC_UNK_58, + BT_FUNC_UNK_59, + BT_FUNC_CHECK_IS_NULL = 100, +}; + +#endif // POKEPLATINUM_CONSTANTS_BATTLE_TOWER_FUNCTIONS_H diff --git a/include/data/scripts/frscrcmd.h b/include/data/scripts/frscrcmd.h index 7cb120f565..abbb64b470 100644 --- a/include/data/scripts/frscrcmd.h +++ b/include/data/scripts/frscrcmd.h @@ -100,16 +100,16 @@ ScriptCommand(FRSCRCMD_STOPBGM, FrontierScrCmd_StopBGM) ScriptCommand(FRSCRCMD_5C, FrontierScrCmd_5C) ScriptCommand(FRSCRCMD_5D, FrontierScrCmd_5D) ScriptCommand(FRSCRCMD_5E, FrontierScrCmd_5E) -ScriptCommand(FRSCRCMD_5F, FrontierScrCmd_5F) -ScriptCommand(FRSCRCMD_60, FrontierScrCmd_60) -ScriptCommand(FRSCRCMD_61, FrontierScrCmd_61) -ScriptCommand(FRSCRCMD_62, FrontierScrCmd_62) +ScriptCommand(FRSCRCMD_OPENBATTLEFACTORYAPPINITIAL, FrontierScrCmd_OpenBattleFactoryAppInitial) +ScriptCommand(FRSCRCMD_BATTLEFACTORY_CLEANUPBATTLE, FrontierScrCmd_BattleFactory_CleanupBattle) +ScriptCommand(FRSCRCMD_BATTLEFACTORY_STARTBATTLE, FrontierScrCmd_BattleFactory_StartBattle) +ScriptCommand(FRSCRCMD_OPENBATTLEFACTORYAPPFORTRADE, FrontierScrCmd_OpenBattleFactoryAppForTrade) ScriptCommand(FRSCRCMD_63, FrontierScrCmd_63) ScriptCommand(FRSCRCMD_64, FrontierScrCmd_64) ScriptCommand(FRSCRCMD_65, FrontierScrCmd_65) ScriptCommand(FRSCRCMD_66, FrontierScrCmd_66) -ScriptCommand(FRSCRCMD_67, FrontierScrCmd_67) -ScriptCommand(FRSCRCMD_68, FrontierScrCmd_68) +ScriptCommand(FRSCRCMD_CALLBATTLEFACTORYFUNCTION, FrontierScrCmd_CallBattleFactoryFunction) +ScriptCommand(FRSCRCMD_BATTLEFACTORY_CHECKWONBATTLE, FrontierScrCmd_BattleFactory_CheckWonBattle) ScriptCommand(FRSCRCMD_69, FrontierScrCmd_69) ScriptCommand(FRSCRCMD_6A, FrontierScrCmd_6A) ScriptCommand(FRSCRCMD_6B, FrontierScrCmd_6B) @@ -140,18 +140,18 @@ ScriptCommand(FRSCRCMD_REMOTEBATTLEPOINTS, FrontierScrCmd_RemoteBa ScriptCommand(FRSCRCMD_CALLBATTLETOWERFUNCTION, FrontierScrCmd_CallBattleTowerFunction) ScriptCommand(FRSCRCMD_85, FrontierScrCmd_85) ScriptCommand(FRSCRCMD_FREETOWERSTRUCT, FrontierScrCmd_FreeTowerStruct) -ScriptCommand(FRSCRCMD_87, FrontierScrCmd_87) -ScriptCommand(FRSCRCMD_CHECKWONTOWERBATTLE, FrontierScrCmd_CheckWonTowerBattle) +ScriptCommand(FRSCRCMD_BATTLETOWER_STARTBATTLE, FrontierScrCmd_BattleTower_StartBattle) +ScriptCommand(FRSCRCMD_BATTLETOWER_CHECKWONBATTLE, FrontierScrCmd_BattleTower_CheckWonBattle) ScriptCommand(FRSCRCMD_89, FrontierScrCmd_89) ScriptCommand(FRSCRCMD_8A, FrontierScrCmd_8A) ScriptCommand(FRSCRCMD_8B, FrontierScrCmd_8B) ScriptCommand(FRSCRCMD_8C, FrontierScrCmd_8C) ScriptCommand(FRSCRCMD_8D, FrontierScrCmd_8D) ScriptCommand(FRSCRCMD_OPENBATTLEHALLAPP, FrontierScrCmd_OpenBattleHallApp) -ScriptCommand(FRSCRCMD_BATTLEHALL_CHECKWONBATTLE, FrontierScrCmd_BattleHall_CheckWonBattle) +ScriptCommand(FRSCRCMD_BATTLEHALL_CLEANUPBATTLE, FrontierScrCmd_BattleHall_CleanupBattle) ScriptCommand(FRSCRCMD_BATTLEHALL_STARTBATTLE, FrontierScrCmd_BattleHall_StartBattle) ScriptCommand(FRSCRCMD_CALLBATTLEHALLFUNCTION, FrontierScrCmd_CallBattleHallFunction) -ScriptCommand(FRSCRCMD_BATTLEHALL_GETBATTLERESULT, FrontierScrCmd_BattleHall_GetBattleResult) +ScriptCommand(FRSCRCMD_BATTLEHALL_CHECKWONBATTLE, FrontierScrCmd_BattleHall_CheckWonBattle) ScriptCommand(FRSCRCMD_93, FrontierScrCmd_93) ScriptCommand(FRSCRCMD_94, FrontierScrCmd_94) ScriptCommand(FRSCRCMD_95, FrontierScrCmd_95) @@ -159,14 +159,14 @@ ScriptCommand(FRSCRCMD_DUMMY96, FrontierScrCmd_Dummy96) ScriptCommand(FRSCRCMD_97, FrontierScrCmd_97) ScriptCommand(FRSCRCMD_98, FrontierScrCmd_98) ScriptCommand(FRSCRCMD_99, FrontierScrCmd_99) -ScriptCommand(FRSCRCMD_9A, FrontierScrCmd_9A) -ScriptCommand(FRSCRCMD_9B, FrontierScrCmd_9B) -ScriptCommand(FRSCRCMD_9C, FrontierScrCmd_9C) -ScriptCommand(FRSCRCMD_9D, FrontierScrCmd_9D) +ScriptCommand(FRSCRCMD_OPENBATTLECASTLESELFAPP, FrontierScrCmd_OpenBattleCastleSelfApp) +ScriptCommand(FRSCRCMD_BATTLECASTLE_CLEANUPBATTLE, FrontierScrCmd_BattleCastle_CleanupBattle) +ScriptCommand(FRSCRCMD_BATTLECASTLE_STARTBATTLE, FrontierScrCmd_BattleCastle_StartBattle) +ScriptCommand(FRSCRCMD_OPENBATTLECASTLEOPPONENTAPP, FrontierScrCmd_OpenBattleCastleOpponentApp) ScriptCommand(FRSCRCMD_9E, FrontierScrCmd_9E) ScriptCommand(FRSCRCMD_9F, FrontierScrCmd_9F) -ScriptCommand(FRSCRCMD_A0, FrontierScrCmd_A0) -ScriptCommand(FRSCRCMD_A1, FrontierScrCmd_A1) +ScriptCommand(FRSCRCMD_CALLBATTLECASTLEFUNCTION, FrontierScrCmd_CallBattleCastleFunction) +ScriptCommand(FRSCRCMD_BATTLECASTLE_CHECKWONBATTLE, FrontierScrCmd_BattleCastle_CheckWonBattle) ScriptCommand(FRSCRCMD_A2, FrontierScrCmd_A2) ScriptCommand(FRSCRCMD_A3, FrontierScrCmd_A3) ScriptCommand(FRSCRCMD_A4, FrontierScrCmd_A4) @@ -192,15 +192,15 @@ ScriptCommand(FRSCRCMD_SETWIFILISTHOSTFRIENDCURRENTDATE, FrontierScrCmd_SetWiFiL ScriptCommand(FRSCRCMD_B8, FrontierScrCmd_B8) ScriptCommand(FRSCRCMD_B9, FrontierScrCmd_B9) ScriptCommand(FRSCRCMD_BA, FrontierScrCmd_BA) -ScriptCommand(FRSCRCMD_BB, FrontierScrCmd_BB) -ScriptCommand(FRSCRCMD_BC, FrontierScrCmd_BC) +ScriptCommand(FRSCRCMD_BATTLEARCADE_CLEANUPBATTLE, FrontierScrCmd_BattleArcade_CleanupBattle) +ScriptCommand(FRSCRCMD_BATTLEARCADE_STARTBATTLE, FrontierScrCmd_BattleArcade_StartBattle) ScriptCommand(FRSCRCMD_BD, FrontierScrCmd_BD) ScriptCommand(FRSCRCMD_BE, FrontierScrCmd_BE) -ScriptCommand(FRSCRCMD_BF, FrontierScrCmd_BF) -ScriptCommand(FRSCRCMD_C0, FrontierScrCmd_C0) +ScriptCommand(FRSCRCMD_CALLBATTLEARCADEFUNCTION, FrontierScrCmd_CallBattleArcadeFunction) +ScriptCommand(FRSCRCMD_BATTLEARCADE_CHECKWONBATTLE, FrontierScrCmd_BattleArcade_CheckWonBattle) ScriptCommand(FRSCRCMD_C1, FrontierScrCmd_C1) ScriptCommand(FRSCRCMD_C2, FrontierScrCmd_C2) -ScriptCommand(FRSCRCMD_C3, FrontierScrCmd_C3) +ScriptCommand(FRSCRCMD_OPENBATTLEARCADEAPP, FrontierScrCmd_OpenBattleArcadeApp) ScriptCommand(FRSCRCMD_C4, FrontierScrCmd_C4) ScriptCommand(FRSCRCMD_C5, FrontierScrCmd_C5) ScriptCommand(FRSCRCMD_C6, FrontierScrCmd_C6) diff --git a/include/overlay104/ov104_02237378.h b/include/overlay104/frscrcmd_battle_arcade.h similarity index 53% rename from include/overlay104/ov104_02237378.h rename to include/overlay104/frscrcmd_battle_arcade.h index a2f15b9bb3..8334a89434 100644 --- a/include/overlay104/ov104_02237378.h +++ b/include/overlay104/frscrcmd_battle_arcade.h @@ -1,22 +1,22 @@ -#ifndef POKEPLATINUM_OV104_02237378_H -#define POKEPLATINUM_OV104_02237378_H +#ifndef POKEPLATINUM_FRSCRCMD_BATTLE_ARCADE_H +#define POKEPLATINUM_FRSCRCMD_BATTLE_ARCADE_H #include "overlay104/defs.h" BOOL FrontierScrCmd_B8(FrontierScriptContext *param0); BOOL FrontierScrCmd_B9(FrontierScriptContext *param0); BOOL FrontierScrCmd_BA(FrontierScriptContext *param0); -BOOL FrontierScrCmd_C3(FrontierScriptContext *param0); -BOOL FrontierScrCmd_BB(FrontierScriptContext *param0); -BOOL FrontierScrCmd_BC(FrontierScriptContext *param0); +BOOL FrontierScrCmd_OpenBattleArcadeApp(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleArcade_CleanupBattle(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleArcade_StartBattle(FrontierScriptContext *ctx); BOOL FrontierScrCmd_BD(FrontierScriptContext *param0); BOOL FrontierScrCmd_BE(FrontierScriptContext *param0); -BOOL FrontierScrCmd_BF(FrontierScriptContext *param0); -BOOL FrontierScrCmd_C0(FrontierScriptContext *param0); +BOOL FrontierScrCmd_CallBattleArcadeFunction(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleArcade_CheckWonBattle(FrontierScriptContext *ctx); BOOL FrontierScrCmd_C1(FrontierScriptContext *param0); BOOL FrontierScrCmd_C2(FrontierScriptContext *param0); BOOL FrontierScrCmd_C4(FrontierScriptContext *param0); BOOL FrontierScrCmd_C5(FrontierScriptContext *param0); BOOL FrontierScrCmd_C6(FrontierScriptContext *param0); -#endif // POKEPLATINUM_OV104_02237378_H +#endif // POKEPLATINUM_FRSCRCMD_BATTLE_ARCADE_H diff --git a/include/overlay104/ov104_022358E8.h b/include/overlay104/frscrcmd_battle_castle.h similarity index 57% rename from include/overlay104/ov104_022358E8.h rename to include/overlay104/frscrcmd_battle_castle.h index ffb18cc771..46d9a2ce38 100644 --- a/include/overlay104/ov104_022358E8.h +++ b/include/overlay104/frscrcmd_battle_castle.h @@ -1,20 +1,20 @@ -#ifndef POKEPLATINUM_OV104_022358E8_H -#define POKEPLATINUM_OV104_022358E8_H +#ifndef POKEPLATINUM_FRSCRCMD_BATTLE_CASTLE_H +#define POKEPLATINUM_FRSCRCMD_BATTLE_CASTLE_H #include "overlay104/defs.h" BOOL FrontierScrCmd_97(FrontierScriptContext *param0); BOOL FrontierScrCmd_98(FrontierScriptContext *param0); BOOL FrontierScrCmd_99(FrontierScriptContext *param0); -BOOL FrontierScrCmd_9A(FrontierScriptContext *param0); -BOOL FrontierScrCmd_A4(FrontierScriptContext *param0); -BOOL FrontierScrCmd_9B(FrontierScriptContext *param0); -BOOL FrontierScrCmd_9C(FrontierScriptContext *param0); -BOOL FrontierScrCmd_9D(FrontierScriptContext *param0); +BOOL FrontierScrCmd_OpenBattleCastleSelfApp(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_A4(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleCastle_CleanupBattle(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleCastle_StartBattle(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_OpenBattleCastleOpponentApp(FrontierScriptContext *ctx); BOOL FrontierScrCmd_9E(FrontierScriptContext *param0); BOOL FrontierScrCmd_9F(FrontierScriptContext *param0); -BOOL FrontierScrCmd_A0(FrontierScriptContext *param0); -BOOL FrontierScrCmd_A1(FrontierScriptContext *param0); +BOOL FrontierScrCmd_CallBattleCastleFunction(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleCastle_CheckWonBattle(FrontierScriptContext *ctx); BOOL FrontierScrCmd_A2(FrontierScriptContext *param0); BOOL FrontierScrCmd_A3(FrontierScriptContext *param0); BOOL FrontierScrCmd_A5(FrontierScriptContext *param0); @@ -26,4 +26,4 @@ BOOL FrontierScrCmd_A7(FrontierScriptContext *param0); BOOL FrontierScrCmd_A8(FrontierScriptContext *param0); BOOL FrontierScrCmd_A9(FrontierScriptContext *param0); -#endif // POKEPLATINUM_OV104_022358E8_H +#endif // POKEPLATINUM_FRSCRCMD_BATTLE_CASTLE_H diff --git a/include/overlay104/frscrcmd_battle_factory.h b/include/overlay104/frscrcmd_battle_factory.h new file mode 100644 index 0000000000..1b00e81cc6 --- /dev/null +++ b/include/overlay104/frscrcmd_battle_factory.h @@ -0,0 +1,23 @@ +#ifndef POKEPLATINUM_FRSCRCMD_BATTLE_FACTORY_H +#define POKEPLATINUM_FRSCRCMD_BATTLE_FACTORY_H + +#include "overlay104/defs.h" + +BOOL FrontierScrCmd_5C(FrontierScriptContext *param0); +BOOL FrontierScrCmd_5D(FrontierScriptContext *param0); +BOOL FrontierScrCmd_5E(FrontierScriptContext *param0); +BOOL FrontierScrCmd_OpenBattleFactoryAppInitial(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleFactory_CleanupBattle(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleFactory_StartBattle(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_OpenBattleFactoryAppForTrade(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_63(FrontierScriptContext *param0); +BOOL FrontierScrCmd_64(FrontierScriptContext *param0); +BOOL FrontierScrCmd_65(FrontierScriptContext *param0); +BOOL FrontierScrCmd_66(FrontierScriptContext *param0); +BOOL FrontierScrCmd_CallBattleFactoryFunction(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleFactory_CheckWonBattle(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_69(FrontierScriptContext *param0); +BOOL FrontierScrCmd_6A(FrontierScriptContext *param0); +BOOL FrontierScrCmd_6B(FrontierScriptContext *param0); + +#endif // POKEPLATINUM_FRSCRCMD_BATTLE_FACTORY_H diff --git a/include/overlay104/frscrcmd_battle_hall.h b/include/overlay104/frscrcmd_battle_hall.h index d3fc6d1cba..787ad9d67d 100644 --- a/include/overlay104/frscrcmd_battle_hall.h +++ b/include/overlay104/frscrcmd_battle_hall.h @@ -7,10 +7,10 @@ BOOL FrontierScrCmd_8B(FrontierScriptContext *param0); BOOL FrontierScrCmd_8C(FrontierScriptContext *param0); BOOL FrontierScrCmd_8D(FrontierScriptContext *param0); BOOL FrontierScrCmd_OpenBattleHallApp(FrontierScriptContext *ctx); -BOOL FrontierScrCmd_BattleHall_CheckWonBattle(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleHall_CleanupBattle(FrontierScriptContext *ctx); BOOL FrontierScrCmd_BattleHall_StartBattle(FrontierScriptContext *ctx); BOOL FrontierScrCmd_CallBattleHallFunction(FrontierScriptContext *ctx); -BOOL FrontierScrCmd_BattleHall_GetBattleResult(FrontierScriptContext *param0); +BOOL FrontierScrCmd_BattleHall_CheckWonBattle(FrontierScriptContext *param0); BOOL FrontierScrCmd_93(FrontierScriptContext *param0); BOOL FrontierScrCmd_94(FrontierScriptContext *param0); BOOL FrontierScrCmd_95(FrontierScriptContext *param0); diff --git a/include/overlay104/ov104_02239130.h b/include/overlay104/frscrcmd_battle_tower.h similarity index 53% rename from include/overlay104/ov104_02239130.h rename to include/overlay104/frscrcmd_battle_tower.h index 0dec24cc89..d62ced1abd 100644 --- a/include/overlay104/ov104_02239130.h +++ b/include/overlay104/frscrcmd_battle_tower.h @@ -1,14 +1,14 @@ -#ifndef POKEPLATINUM_OV104_02239130_H -#define POKEPLATINUM_OV104_02239130_H +#ifndef POKEPLATINUM_FRSCRCMD_BATTLE_TOWER_H +#define POKEPLATINUM_FRSCRCMD_BATTLE_TOWER_H #include "overlay104/defs.h" BOOL FrontierScrCmd_CallBattleTowerFunction(FrontierScriptContext *ctx); BOOL FrontierScrCmd_85(FrontierScriptContext *param0); BOOL FrontierScrCmd_FreeTowerStruct(FrontierScriptContext *ctx); -BOOL FrontierScrCmd_87(FrontierScriptContext *param0); -BOOL FrontierScrCmd_CheckWonTowerBattle(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleTower_StartBattle(FrontierScriptContext *ctx); +BOOL FrontierScrCmd_BattleTower_CheckWonBattle(FrontierScriptContext *ctx); BOOL FrontierScrCmd_89(FrontierScriptContext *param0); BOOL FrontierScrCmd_8A(FrontierScriptContext *param0); -#endif // POKEPLATINUM_OV104_02239130_H +#endif // POKEPLATINUM_FRSCRCMD_BATTLE_TOWER_H diff --git a/include/overlay104/ov104_0222ECE8.h b/include/overlay104/ov104_0222ECE8.h index d9a6d1ad38..4b452b6cb9 100644 --- a/include/overlay104/ov104_0222ECE8.h +++ b/include/overlay104/ov104_0222ECE8.h @@ -1,10 +1,10 @@ #ifndef POKEPLATINUM_OV104_0222ECE8_H #define POKEPLATINUM_OV104_0222ECE8_H +#include "overlay104/struct_battle_arcade.h" +#include "overlay104/struct_battle_castle.h" +#include "overlay104/struct_battle_factory.h" #include "overlay104/struct_battle_hall.h" -#include "overlay104/struct_ov104_0223ADA0.h" -#include "overlay104/struct_ov104_0223BA10.h" -#include "overlay104/struct_ov104_0223BFFC.h" void ov104_0222ECE8(int param0, int param1, void *param2, void *param3); BOOL ov104_0222ED00(BattleHall *param0); @@ -18,46 +18,46 @@ void ov104_0222EE38(int param0, int param1, void *param2, void *param3); BOOL ov104_0222EE60(BattleHall *param0); void ov104_0222EEA8(int param0, int param1, void *param2, void *param3); u8 *ov104_0222EED8(int param0, void *param1, int param2); -BOOL ov104_0222EEF8(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222EEF8(BattleFactory *param0); void ov104_0222EF30(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222EF64(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222EF64(BattleFactory *param0); void ov104_0222EF94(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222EFCC(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222EFCC(BattleFactory *param0); void ov104_0222F03C(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F0B4(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222F0B4(BattleFactory *param0); void ov104_0222F124(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F1A0(UnkStruct_ov104_0223ADA0 *param0, u8 param1); +BOOL ov104_0222F1A0(BattleFactory *param0, u8 param1); void ov104_0222F1C4(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F1EC(UnkStruct_ov104_0223ADA0 *param0, u8 param1); +BOOL ov104_0222F1EC(BattleFactory *param0, u8 param1); void ov104_0222F210(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F238(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222F238(BattleFactory *param0); void ov104_0222F31C(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F3B8(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F3B8(BattleCastle *param0); void ov104_0222F418(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F44C(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F44C(BattleCastle *param0); void ov104_0222F480(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F4B8(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F4B8(BattleCastle *param0); void ov104_0222F530(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F5D4(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F5D4(BattleCastle *param0); void ov104_0222F650(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F6C8(UnkStruct_ov104_0223BA10 *param0, u16 param1); +BOOL ov104_0222F6C8(BattleCastle *param0, u16 param1); void ov104_0222F6E8(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F710(UnkStruct_ov104_0223BA10 *param0, u16 param1); +BOOL ov104_0222F710(BattleCastle *param0, u16 param1); void ov104_0222F730(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F758(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F758(BattleCastle *param0); void ov104_0222F7BC(int param0, int param1, void *param2, void *param3); u8 *ov104_0222F84C(int param0, void *param1, int param2); -BOOL ov104_0222F86C(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_0222F86C(BattleArcade *param0); void ov104_0222F8A0(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F8D0(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_0222F8D0(BattleArcade *param0); void ov104_0222F908(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F944(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_0222F944(BattleArcade *param0); void ov104_0222F9C0(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222FA38(UnkStruct_ov104_0223BFFC *param0, u16 param1); +BOOL ov104_0222FA38(BattleArcade *param0, u16 param1); void ov104_0222FA5C(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222FA84(UnkStruct_ov104_0223BFFC *param0, u16 param1); +BOOL ov104_0222FA84(BattleArcade *param0, u16 param1); void ov104_0222FAA8(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222FAD0(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_0222FAD0(BattleArcade *param0); void ov104_0222FB34(int param0, int param1, void *param2, void *param3); u8 *ov104_0222FBC4(int param0, void *param1, int param2); diff --git a/include/overlay104/ov104_022332B4.h b/include/overlay104/ov104_022332B4.h deleted file mode 100644 index 8a09046e15..0000000000 --- a/include/overlay104/ov104_022332B4.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef POKEPLATINUM_OV104_022332B4_H -#define POKEPLATINUM_OV104_022332B4_H - -#include "overlay104/defs.h" - -BOOL FrontierScrCmd_5C(FrontierScriptContext *param0); -BOOL FrontierScrCmd_5D(FrontierScriptContext *param0); -BOOL FrontierScrCmd_5E(FrontierScriptContext *param0); -BOOL FrontierScrCmd_5F(FrontierScriptContext *param0); -BOOL FrontierScrCmd_60(FrontierScriptContext *param0); -BOOL FrontierScrCmd_61(FrontierScriptContext *param0); -BOOL FrontierScrCmd_62(FrontierScriptContext *param0); -BOOL FrontierScrCmd_63(FrontierScriptContext *param0); -BOOL FrontierScrCmd_64(FrontierScriptContext *param0); -BOOL FrontierScrCmd_65(FrontierScriptContext *param0); -BOOL FrontierScrCmd_66(FrontierScriptContext *param0); -BOOL FrontierScrCmd_67(FrontierScriptContext *param0); -BOOL FrontierScrCmd_68(FrontierScriptContext *param0); -BOOL FrontierScrCmd_69(FrontierScriptContext *param0); -BOOL FrontierScrCmd_6A(FrontierScriptContext *param0); -BOOL FrontierScrCmd_6B(FrontierScriptContext *param0); - -#endif // POKEPLATINUM_OV104_022332B4_H diff --git a/include/overlay104/ov104_022339B4.h b/include/overlay104/ov104_022339B4.h index 8ac9bcfc40..fe8ae4373d 100644 --- a/include/overlay104/ov104_022339B4.h +++ b/include/overlay104/ov104_022339B4.h @@ -1,27 +1,27 @@ #ifndef POKEPLATINUM_OV104_022339B4_H #define POKEPLATINUM_OV104_022339B4_H -#include "overlay104/struct_ov104_0223ADA0.h" +#include "applications/frontier/battle_factory/main.h" +#include "overlay104/struct_battle_factory.h" #include "savedata.h" -UnkStruct_ov104_0223ADA0 *ov104_022339B4(SaveData *saveData, u16 param1, u8 param2, u8 param3); -void ov104_02233B98(UnkStruct_ov104_0223ADA0 *param0, u16 param1); -void ov104_022340D0(UnkStruct_ov104_0223ADA0 *param0); -void ov104_0223410C(UnkStruct_ov104_0223ADA0 *param0, void *param1); -u16 ov104_02234130(void *param0, u8 param1); -void ov104_02234148(UnkStruct_ov104_0223ADA0 *param0, u8 param1); -u16 ov104_02234430(UnkStruct_ov104_0223ADA0 *param0); -u16 ov104_0223443C(UnkStruct_ov104_0223ADA0 *param0); -u16 ov104_02234440(UnkStruct_ov104_0223ADA0 *param0, u8 param1); -void ov104_02234474(UnkStruct_ov104_0223ADA0 *param0); -void ov104_02234480(UnkStruct_ov104_0223ADA0 *param0); -void ov104_0223449C(UnkStruct_ov104_0223ADA0 *param0); -void ov104_02234570(UnkStruct_ov104_0223ADA0 *param0); -void ov104_022346A4(UnkStruct_ov104_0223ADA0 *param0); -void ov104_0223470C(UnkStruct_ov104_0223ADA0 *param0); -void ov104_02234790(UnkStruct_ov104_0223ADA0 *param0); -BOOL ov104_022347A4(UnkStruct_ov104_0223ADA0 *param0, u16 param1, u16 param2); -u16 ov104_022347F8(UnkStruct_ov104_0223ADA0 *param0); +BattleFactory *ov104_022339B4(SaveData *saveData, u16 param1, u8 param2, u8 param3); +void ov104_02233B98(BattleFactory *param0, u16 param1); +void ov104_022340D0(BattleFactory *param0); +void BattleFactory_GetMonSelectionAppResult(BattleFactory *battleFactory, BattleFactoryAppArgs *args); +void ov104_02234148(BattleFactory *param0, u8 param1); +u16 ov104_02234430(BattleFactory *param0); +u16 ov104_0223443C(BattleFactory *param0); +u16 ov104_02234440(BattleFactory *param0, u8 param1); +void ov104_02234474(BattleFactory *param0); +void ov104_02234480(BattleFactory *param0); +void ov104_0223449C(BattleFactory *param0); +void ov104_02234570(BattleFactory *param0); +void ov104_022346A4(BattleFactory *param0); +void ov104_0223470C(BattleFactory *param0); +void ov104_02234790(BattleFactory *param0); +BOOL ov104_022347A4(BattleFactory *param0, u16 param1, u16 param2); +u16 ov104_022347F8(BattleFactory *param0); #endif // POKEPLATINUM_OV104_022339B4_H diff --git a/include/overlay104/ov104_022361B4.h b/include/overlay104/ov104_022361B4.h index 83359aa399..64d5939031 100644 --- a/include/overlay104/ov104_022361B4.h +++ b/include/overlay104/ov104_022361B4.h @@ -1,31 +1,31 @@ #ifndef POKEPLATINUM_OV104_022361B4_H #define POKEPLATINUM_OV104_022361B4_H +#include "applications/frontier/battle_castle/args.h" #include "overlay104/defs.h" -#include "overlay104/struct_ov104_0223BA10.h" +#include "overlay104/struct_battle_castle.h" #include "savedata.h" -UnkStruct_ov104_0223BA10 *ov104_022361B4(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6); -void ov104_02236514(UnkStruct_ov104_0223BA10 *param0, u16 param1); -void ov104_022367AC(UnkStruct_ov104_0223BA10 *param0); -void ov104_022367DC(UnkStruct_ov104_0223BA10 *param0, void *param1); -u16 ov104_02236834(void *param0, u8 param1); -void ov104_02236848(UnkStruct_ov104_0223BA10 *param0, u8 param1); -u16 ov104_02236B48(UnkStruct_ov104_0223BA10 *param0); -u16 ov104_02236B54(UnkStruct_ov104_0223BA10 *param0); -u16 ov104_02236B58(UnkStruct_ov104_0223BA10 *param0, u8 param1); -void ov104_02236B8C(UnkStruct_ov104_0223BA10 *param0); -void ov104_02236BD0(UnkStruct_ov104_0223BA10 *param0); -void ov104_02236BF0(UnkStruct_ov104_0223BA10 *param0); -void ov104_02236BF8(UnkStruct_ov104_0223BA10 *param0); -void ov104_02236C50(UnkStruct_ov104_0223BA10 *param0); -int ov104_02236D10(UnkStruct_ov104_0223BA10 *param0); +BattleCastle *ov104_022361B4(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6); +void ov104_02236514(BattleCastle *param0, u16 param1); +void ov104_022367AC(BattleCastle *param0); +void BattleCastle_StoreAppResults(BattleCastle *battleCastle, BattleCastleAppArgs *args); +void ov104_02236848(BattleCastle *param0, u8 param1); +u16 ov104_02236B48(BattleCastle *param0); +u16 ov104_02236B54(BattleCastle *param0); +u16 ov104_02236B58(BattleCastle *param0, u8 param1); +void ov104_02236B8C(BattleCastle *param0); +void ov104_02236BD0(BattleCastle *param0); +void ov104_02236BF0(BattleCastle *param0); +void ov104_02236BF8(BattleCastle *param0); +void ov104_02236C50(BattleCastle *param0); +int ov104_02236D10(BattleCastle *param0); void ov104_02236ED8(SaveData *saveData, u8 param1, int param2); -BOOL ov104_02236F70(UnkStruct_ov104_0223BA10 *param0, u16 param1, u16 param2); -void ov104_02236FC0(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *param1); -void ov104_022370E0(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *param1); -void ov104_02237180(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *param1); -u16 ov104_02237338(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_02236F70(BattleCastle *param0, u16 param1, u16 param2); +void ov104_02236FC0(FrontierScriptManager *param0, BattleCastle *param1); +void ov104_022370E0(FrontierScriptManager *param0, BattleCastle *param1); +void ov104_02237180(FrontierScriptManager *param0, BattleCastle *param1); +u16 ov104_02237338(BattleCastle *param0); #endif // POKEPLATINUM_OV104_022361B4_H diff --git a/include/overlay104/ov104_02237DD8.h b/include/overlay104/ov104_02237DD8.h index e5fb379259..6d2b103f02 100644 --- a/include/overlay104/ov104_02237DD8.h +++ b/include/overlay104/ov104_02237DD8.h @@ -1,40 +1,40 @@ #ifndef POKEPLATINUM_OV104_02237DD8_H #define POKEPLATINUM_OV104_02237DD8_H +#include "applications/frontier/battle_arcade/main.h" #include "overlay104/frontier_graphics.h" -#include "overlay104/struct_ov104_0223BFFC.h" +#include "overlay104/struct_battle_arcade.h" #include "party.h" #include "savedata.h" -UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6); -void ov104_0223806C(UnkStruct_ov104_0223BFFC *param0, u16 param1); -void ov104_02238210(UnkStruct_ov104_0223BFFC *param0); -void ov104_02238240(UnkStruct_ov104_0223BFFC *param0, void *param1); -u16 ov104_02238264(void *param0, u8 param1); -void ov104_02238278(UnkStruct_ov104_0223BFFC *param0, u8 param1); -u16 ov104_02238454(UnkStruct_ov104_0223BFFC *param0); -u16 ov104_02238460(UnkStruct_ov104_0223BFFC *param0); -u16 ov104_02238464(UnkStruct_ov104_0223BFFC *param0, u8 param1); -u16 ov104_02238498(UnkStruct_ov104_0223BFFC *param0, u8 param1); -void ov104_022384A8(UnkStruct_ov104_0223BFFC *param0); -void ov104_022384B4(UnkStruct_ov104_0223BFFC *param0); -void ov104_022384D4(UnkStruct_ov104_0223BFFC *param0); -void ov104_022384DC(UnkStruct_ov104_0223BFFC *param0); -int ov104_02238538(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party *param2, int param3); +BattleArcade *ov104_02237DD8(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6); +void ov104_0223806C(BattleArcade *param0, u16 param1); +void ov104_02238210(BattleArcade *param0); +void BattleArcade_StoreAppResults(BattleArcade *battleArcade, BattleArcadeAppArgs *args); +void ov104_02238278(BattleArcade *param0, u8 param1); +u16 ov104_02238454(BattleArcade *param0); +u16 ov104_02238460(BattleArcade *param0); +u16 ov104_02238464(BattleArcade *param0, u8 param1); +u16 ov104_02238498(BattleArcade *param0, u8 param1); +void ov104_022384A8(BattleArcade *param0); +void ov104_022384B4(BattleArcade *param0); +void ov104_022384D4(BattleArcade *param0); +void ov104_022384DC(BattleArcade *param0); +int ov104_02238538(BattleArcade *param0, Party *param1, Party *param2, int param3); void ov104_02238658(void *param0, FrontierGraphics *param1); void ov104_02238728(void *param0, FrontierGraphics *param1); -void ov104_02238764(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2); -void ov104_02238814(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2); -void ov104_0223886C(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2, u16 param3); -void ov104_022388A4(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2, u16 param3); -void ov104_022388DC(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2); -void ov104_022389A0(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2); -void ov104_022389F4(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2, u16 param3, u16 param4); +void ov104_02238764(BattleArcade *param0, FrontierGraphics *param1, u16 param2); +void ov104_02238814(BattleArcade *param0, FrontierGraphics *param1, u16 param2); +void ov104_0223886C(BattleArcade *param0, FrontierGraphics *param1, u16 param2, u16 param3); +void ov104_022388A4(BattleArcade *param0, FrontierGraphics *param1, u16 param2, u16 param3); +void ov104_022388DC(BattleArcade *param0, FrontierGraphics *param1, u16 param2); +void ov104_022389A0(BattleArcade *param0, FrontierGraphics *param1, u16 param2); +void ov104_022389F4(BattleArcade *param0, FrontierGraphics *param1, u16 param2, u16 slot, u16 param4); void ov104_02238AB4(u8 param0, u8 param1); -BOOL ov104_02238B40(UnkStruct_ov104_0223BFFC *param0, u16 param1, u16 param2); -void ov104_02238B88(UnkStruct_ov104_0223BFFC *param0, u8 param1); -u16 ov104_02239014(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_02238B40(BattleArcade *param0, u16 param1, u16 param2); +void ov104_02238B88(BattleArcade *param0, u8 param1); +u16 ov104_02239014(BattleArcade *param0); void ov104_02239054(Party *param0, Party *param1, int param2, int param3); #endif // POKEPLATINUM_OV104_02237DD8_H diff --git a/include/overlay104/ov104_0223A7F4.h b/include/overlay104/ov104_0223A7F4.h index 0260565c7c..4d76571072 100644 --- a/include/overlay104/ov104_0223A7F4.h +++ b/include/overlay104/ov104_0223A7F4.h @@ -2,8 +2,8 @@ #define POKEPLATINUM_OV104_0223A7F4_H #include "overlay104/frontier_data_transfer.h" +#include "overlay104/struct_battle_factory.h" #include "overlay104/struct_ov104_02230BE4.h" -#include "overlay104/struct_ov104_0223ADA0.h" #include "overlay104/struct_ov104_0224028C.h" #include "field_battle_data_transfer.h" @@ -15,11 +15,11 @@ u8 BattleFactory_GetPartySize(u8 param0); u8 ov104_0223AA74(u8 param0, BOOL param1); void ov104_0223AAA0(u16 param0, u8 param1, u16 *param2, FrontierPokemonDataDTO *param3, u8 *param4, u32 *param5, u16 param6, u16 *param7, u16 *param8); void ov104_0223AB0C(u8 param0, u16 param1, u8 param2, FrontierPokemonDataDTO *param3, u16 *param4, FrontierPokemonDataDTO *param5, u8 *param6, u32 *param7, int param8); -FieldBattleDTO *ov104_0223ABA0(UnkStruct_ov104_0223ADA0 *param0, UnkStruct_ov104_02230BE4 *param1); -u8 ov104_0223ADA0(UnkStruct_ov104_0223ADA0 *param0); -void ov104_0223ADB0(UnkStruct_ov104_0223ADA0 *param0); -void ov104_0223AE30(UnkStruct_ov104_0223ADA0 *param0); +FieldBattleDTO *ov104_0223ABA0(BattleFactory *param0, UnkStruct_ov104_02230BE4 *param1); +u8 ov104_0223ADA0(BattleFactory *param0); +void ov104_0223ADB0(BattleFactory *param0); +void ov104_0223AE30(BattleFactory *param0); BOOL BattleFactory_IsMultiplayerChallenge(u8 challengeType); -u16 ov104_0223AF34(UnkStruct_ov104_0223ADA0 *param0); +u16 ov104_0223AF34(BattleFactory *param0); #endif // POKEPLATINUM_OV104_0223A7F4_H diff --git a/include/overlay104/ov104_0223B6F4.h b/include/overlay104/ov104_0223B6F4.h index 042e28a747..6786122a4b 100644 --- a/include/overlay104/ov104_0223B6F4.h +++ b/include/overlay104/ov104_0223B6F4.h @@ -3,8 +3,8 @@ #include "struct_defs/battle_frontier.h" +#include "overlay104/struct_battle_castle.h" #include "overlay104/struct_ov104_02230BE4.h" -#include "overlay104/struct_ov104_0223BA10.h" #include "bg_window.h" #include "field_battle_data_transfer.h" @@ -14,15 +14,15 @@ void ov104_0223B760(u8 param0, int param1, u16 param2[], u8 param3); u8 BattleCastle_GetPartySize(u8 challengeType, BOOL includePartnersMons); u8 ov104_0223B7DC(u8 param0, BOOL param1); -FieldBattleDTO *ov104_0223B810(UnkStruct_ov104_0223BA10 *param0, UnkStruct_ov104_02230BE4 *param1); -u8 ov104_0223BA10(UnkStruct_ov104_0223BA10 *param0); +FieldBattleDTO *ov104_0223B810(BattleCastle *param0, UnkStruct_ov104_02230BE4 *param1); +u8 ov104_0223BA10(BattleCastle *param0); BOOL BattleCastle_IsMultiPlayerChallenge(u8 challengeType); void ov104_0223BA24(Party *param0); -void ov104_0223BA7C(UnkStruct_ov104_0223BA10 *param0, Pokemon *param1); -void ov104_0223BAA0(UnkStruct_ov104_0223BA10 *param0, Party *param1, Pokemon *param2); -void ov104_0223BAB8(UnkStruct_ov104_0223BA10 *param0); -u16 ov104_0223BB60(UnkStruct_ov104_0223BA10 *param0); -void ov104_0223BB84(BgConfig *param0, UnkStruct_ov104_0223BA10 *param1, u32 param2); +void ov104_0223BA7C(BattleCastle *param0, Pokemon *param1); +void ov104_0223BAA0(BattleCastle *param0, Party *param1, Pokemon *param2); +void ov104_0223BAB8(BattleCastle *param0); +u16 ov104_0223BB60(BattleCastle *param0); +void ov104_0223BB84(BgConfig *param0, BattleCastle *param1, u32 param2); u16 ov104_0223BC24(u16 param0); void ov104_0223BC2C(BattleFrontier *frontier, u8 challengeType, int castlePoints); diff --git a/include/overlay104/ov104_0223BCBC.h b/include/overlay104/ov104_0223BCBC.h index 3aa711dd33..bcde614fc5 100644 --- a/include/overlay104/ov104_0223BCBC.h +++ b/include/overlay104/ov104_0223BCBC.h @@ -1,8 +1,8 @@ #ifndef POKEPLATINUM_OV104_0223BCBC_H #define POKEPLATINUM_OV104_0223BCBC_H +#include "overlay104/struct_battle_arcade.h" #include "overlay104/struct_ov104_02230BE4.h" -#include "overlay104/struct_ov104_0223BFFC.h" #include "field_battle_data_transfer.h" #include "party.h" @@ -11,14 +11,14 @@ void ov104_0223BD28(u8 param0, int param1, u16 param2[], u8 param3); u8 BattleArcade_GetPartySize(u8 challengeType, BOOL includePartnerMons); u8 BattleArcade_GetOpponentPartySize(u8 challengeType, BOOL includeBothOpponents); -FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104_02230BE4 *param1); -u8 ov104_0223BFFC(UnkStruct_ov104_0223BFFC *param0); +FieldBattleDTO *ov104_0223BDD8(BattleArcade *param0, UnkStruct_ov104_02230BE4 *param1); +u8 ov104_0223BFFC(BattleArcade *param0); BOOL BattleArcade_IsMultiPlayerChallenge(u8 challengeType); -void ov104_0223C010(UnkStruct_ov104_0223BFFC *param0, Pokemon *param1); -void ov104_0223C034(UnkStruct_ov104_0223BFFC *param0, Party *param1, Pokemon *param2); -void ov104_0223C04C(UnkStruct_ov104_0223BFFC *param0); -u16 ov104_0223C0BC(UnkStruct_ov104_0223BFFC *param0, u8 param1); -u16 ov104_0223C124(UnkStruct_ov104_0223BFFC *param0); +void ov104_0223C010(BattleArcade *param0, Pokemon *param1); +void ov104_0223C034(BattleArcade *param0, Party *param1, Pokemon *param2); +void ov104_0223C04C(BattleArcade *param0); +u16 ov104_0223C0BC(BattleArcade *param0, u8 param1); +u16 ov104_0223C124(BattleArcade *param0); u8 BattleArcade_GetCategoryFromEffect(u8 effect); #endif // POKEPLATINUM_OV104_0223BCBC_H diff --git a/include/overlay104/struct_ov104_0223BFFC.h b/include/overlay104/struct_battle_arcade.h similarity index 69% rename from include/overlay104/struct_ov104_0223BFFC.h rename to include/overlay104/struct_battle_arcade.h index 62ad1cdd19..45432323bf 100644 --- a/include/overlay104/struct_ov104_0223BFFC.h +++ b/include/overlay104/struct_battle_arcade.h @@ -1,5 +1,5 @@ -#ifndef POKEPLATINUM_STRUCT_OV104_0223BFFC_H -#define POKEPLATINUM_STRUCT_OV104_0223BFFC_H +#ifndef POKEPLATINUM_STRUCT_BATTLE_ARCADE_H +#define POKEPLATINUM_STRUCT_BATTLE_ARCADE_H #include "struct_decls/struct_020304A0_decl.h" @@ -7,19 +7,19 @@ #include "party.h" #include "savedata.h" -#include "sprite_system.h" +#include "sprite.h" -typedef struct { +typedef struct BattleArcade { int unk_00; SaveData *saveData; UnkStruct_020304A0 *unk_08; - void *unk_0C; - u8 unk_10; + void *dto; + u8 challengeType; u8 unk_11; u8 unk_12; - u8 unk_13; + u8 activeEffect; int unk_14; - u16 unk_18; + u16 currentStreak; u16 unk_1A; u8 unk_1C; u8 unk_1D; @@ -28,7 +28,7 @@ typedef struct { u16 unk_20; u16 unk_22; u32 unk_24; - int unk_28; + int wonBattle; u8 unk_2C[3]; u8 unk_2F; ManagedSprite *unk_30[4]; @@ -38,12 +38,12 @@ typedef struct { Party *unk_70; Party *unk_74; u16 unk_78[14]; - u32 unk_94[4]; - u32 unk_A4[4]; - u32 unk_B4[4]; - u32 unk_C4[4]; - u32 unk_D4[4]; - u32 unk_E4[4]; + u32 monHP[4]; + u32 monAtk[4]; + u32 monDef[4]; + u32 monSpeed[4]; + u32 monSpAtk[4]; + u32 monSpDef[4]; FrontierDataDTO unk_F4[2]; u16 unk_314[4]; u8 unk_31C[4]; @@ -51,7 +51,7 @@ typedef struct { FrontierPokemonDataDTO unk_330[4]; u16 unk_410; u16 unk_412[3]; - u16 unk_418[6]; + u16 appCursorPos[6]; u16 unk_424[40]; u8 unk_474[512]; u8 unk_674[2][512]; @@ -65,6 +65,6 @@ typedef struct { u8 unk_A7D; u16 *unk_A80; u32 unk_A84; -} UnkStruct_ov104_0223BFFC; +} BattleArcade; -#endif // POKEPLATINUM_STRUCT_OV104_0223BFFC_H +#endif // POKEPLATINUM_STRUCT_BATTLE_ARCADE_H diff --git a/include/overlay104/struct_ov104_0223BA10.h b/include/overlay104/struct_battle_castle.h similarity index 70% rename from include/overlay104/struct_ov104_0223BA10.h rename to include/overlay104/struct_battle_castle.h index f9adba1f00..6988b0e863 100644 --- a/include/overlay104/struct_ov104_0223BA10.h +++ b/include/overlay104/struct_battle_castle.h @@ -1,5 +1,5 @@ -#ifndef POKEPLATINUM_STRUCT_OV104_0223BA10_H -#define POKEPLATINUM_STRUCT_OV104_0223BA10_H +#ifndef POKEPLATINUM_STRUCT_BATTLE_CASTLE_H +#define POKEPLATINUM_STRUCT_BATTLE_CASTLE_H #include "struct_decls/struct_020302DC_decl.h" @@ -8,19 +8,19 @@ #include "party.h" #include "savedata.h" -typedef struct { +typedef struct BattleCastle { int unk_00; SaveData *saveData; UnkStruct_020302DC *unk_08; void *unk_0C; - u8 unk_10; + u8 challengeType; u8 unk_11; u8 unk_12; u8 unk_13; - u16 unk_14; + u16 currentStreak; u16 unk_16; u32 unk_18; - int unk_1C; + int wonBattle; u16 unk_20; u16 unk_22; u8 unk_24[3]; @@ -35,10 +35,10 @@ typedef struct { FrontierPokemonDataDTO unk_288[4]; u16 unk_368; u16 unk_36A[3]; - u8 unk_370[4]; - u8 unk_374[4]; - u8 unk_378[4]; - u8 unk_37C[4]; + u8 appIdentityUnlocked[4]; + u8 appLevelAdjustmentsUnlocked[4]; + u8 appStatsUnlocked[4]; + u8 appMovesUnlocked[4]; u16 unk_380[6]; u16 unk_38C[4]; u16 unk_394[4][4]; @@ -56,9 +56,9 @@ typedef struct { u8 unk_A19; u8 unk_A1A; u8 unk_A1B; - u16 unk_A1C; + u16 partnersCP; u16 *unk_A20; u32 unk_A24; -} UnkStruct_ov104_0223BA10; +} BattleCastle; -#endif // POKEPLATINUM_STRUCT_OV104_0223BA10_H +#endif // POKEPLATINUM_STRUCT_BATTLE_CASTLE_H diff --git a/include/overlay104/struct_ov104_0223ADA0.h b/include/overlay104/struct_battle_factory.h similarity index 80% rename from include/overlay104/struct_ov104_0223ADA0.h rename to include/overlay104/struct_battle_factory.h index c2071961b7..16427e82dc 100644 --- a/include/overlay104/struct_ov104_0223ADA0.h +++ b/include/overlay104/struct_battle_factory.h @@ -1,5 +1,5 @@ -#ifndef POKEPLATINUM_STRUCT_OV104_0223ADA0_H -#define POKEPLATINUM_STRUCT_OV104_0223ADA0_H +#ifndef POKEPLATINUM_STRUCT_BATTLE_FACTORY_H +#define POKEPLATINUM_STRUCT_BATTLE_FACTORY_H #include "struct_defs/struct_0202FF58.h" @@ -9,19 +9,19 @@ #include "savedata.h" #include "sys_task_manager.h" -typedef struct { +typedef struct BattleFactory { int unk_00; - u8 unk_04; + u8 challengeType; u8 unk_05; u8 unk_06; u8 unk_07; u16 unk_08; u8 unk_0A; u8 unk_0B; - u16 unk_0C; + u16 currentStreak; u16 unk_0E; u32 unk_10; - int unk_14; + int wonBattle; u16 unk_18[14]; FrontierDataDTO unk_34[2]; u16 unk_254[6]; @@ -55,6 +55,6 @@ typedef struct { u16 unk_700; u8 unk_702; u32 unk_704; -} UnkStruct_ov104_0223ADA0; +} BattleFactory; -#endif // POKEPLATINUM_STRUCT_OV104_0223ADA0_H +#endif // POKEPLATINUM_STRUCT_BATTLE_FACTORY_H diff --git a/include/overlay104/struct_ov104_02234130.h b/include/overlay104/struct_ov104_02234130.h deleted file mode 100644 index c4c1757567..0000000000 --- a/include/overlay104/struct_ov104_02234130.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef POKEPLATINUM_STRUCT_OV104_02234130_H -#define POKEPLATINUM_STRUCT_OV104_02234130_H - -#include "party.h" -#include "savedata.h" - -typedef struct { - SaveData *saveData; - u8 unk_04; - u8 unk_05; - u8 unk_06; - u8 padding_07; - Party *unk_08; - Party *unk_0C; - u16 unk_10[6]; - void *unk_1C; - u8 padding_20[4]; -} UnkStruct_ov104_02234130; - -#endif // POKEPLATINUM_STRUCT_OV104_02234130_H diff --git a/include/overlay104/struct_ov104_0223597C.h b/include/overlay104/struct_ov104_0223597C.h deleted file mode 100644 index d35e2220cd..0000000000 --- a/include/overlay104/struct_ov104_0223597C.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef POKEPLATINUM_STRUCT_OV104_0223597C_H -#define POKEPLATINUM_STRUCT_OV104_0223597C_H - -#include "party.h" -#include "savedata.h" - -typedef struct { - SaveData *saveData; - u8 unk_04; - u8 unk_05; - u8 unk_06; - u8 unk_07; - u8 unk_08[4]; - u8 unk_0C[4]; - u8 unk_10[4]; - u8 unk_14[4]; - Party *unk_18; - Party *unk_1C; - u16 unk_20; - u8 padding[2]; - void *unk_24; - u16 unk_28; - u8 padding2[6]; -} UnkStruct_ov104_0223597C; - -#endif // POKEPLATINUM_STRUCT_OV104_0223597C_H diff --git a/include/overlay104/struct_ov104_02238240.h b/include/overlay104/struct_ov104_02238240.h deleted file mode 100644 index 6fc8cd6205..0000000000 --- a/include/overlay104/struct_ov104_02238240.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef POKEPLATINUM_STRUCT_OV104_02238240_H -#define POKEPLATINUM_STRUCT_OV104_02238240_H - -#include "party.h" -#include "savedata.h" - -typedef struct { - SaveData *saveData; - u8 unk_04; - u8 padding_05[2]; - u8 unk_07; - int *unk_08; - u8 *unk_0C; - u8 *unk_10; - u16 *unk_14; - u16 unk_18; - u8 padding_1A[2]; - u16 unk_1C; - u16 unk_1E; - u8 padding_20[16]; - Party *unk_30; - Party *unk_34; - u16 unk_38; - u8 padding_3A[2]; - void *unk_3C; - u8 padding_3E[2]; - u8 unk_40; - u8 padding_41[3]; -} UnkStruct_ov104_02238240; - -#endif // POKEPLATINUM_STRUCT_OV104_02238240_H diff --git a/include/struct_defs/battle_tower.h b/include/struct_defs/battle_tower.h index 29ed6de8a3..edcbbd1133 100644 --- a/include/struct_defs/battle_tower.h +++ b/include/struct_defs/battle_tower.h @@ -47,7 +47,7 @@ typedef struct BattleTower { u8 unk_838[BT_PARTNERS_COUNT]; u16 unk_83E[35]; u16 unk_884[35]; - int unk_8CC; + int wonBattle; void *unk_8D0; u8 unk_8D4; u8 unk_8D5; diff --git a/platinum.us/main.lsf b/platinum.us/main.lsf index 7bc75311ef..7621bf26e7 100644 --- a/platinum.us/main.lsf +++ b/platinum.us/main.lsf @@ -1541,16 +1541,16 @@ Overlay overlay104 Object main.nef.p/src_overlay104_ov104_0222ECE8.c.o Object main.nef.p/src_overlay104_frscrcmd.c.o Object main.nef.p/src_overlay104_ov104_02231F74.c.o - Object main.nef.p/src_overlay104_ov104_022332B4.c.o + Object main.nef.p/src_overlay104_frscrcmd_battle_factory.c.o Object main.nef.p/src_overlay104_ov104_022339B4.c.o Object main.nef.p/src_overlay104_frscrcmd_battle_hall.c.o Object main.nef.p/src_overlay104_ov104_02234DB4.c.o - Object main.nef.p/src_overlay104_ov104_022358E8.c.o + Object main.nef.p/src_overlay104_frscrcmd_battle_castle.c.o Object main.nef.p/src_overlay104_ov104_022361B4.c.o - Object main.nef.p/src_overlay104_ov104_02237378.c.o + Object main.nef.p/src_overlay104_frscrcmd_battle_arcade.c.o Object main.nef.p/src_overlay104_ov104_02237DD8.c.o Object main.nef.p/src_overlay104_frscrcmd_sound.c.o - Object main.nef.p/src_overlay104_ov104_02239130.c.o + Object main.nef.p/src_overlay104_frscrcmd_battle_tower.c.o Object main.nef.p/src_overlay104_ov104_022394A4.c.o Object main.nef.p/src_overlay104_ov104_022395F0.c.o Object main.nef.p/src_overlay104_ov104_02239C58.c.o diff --git a/res/field/frontier_scripts/frontier_scripts_battle_arcade.s b/res/field/frontier_scripts/frontier_scripts_battle_arcade.s index 5320346667..b3603fd3eb 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_arcade.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_arcade.s @@ -1,6 +1,7 @@ # include "macros/frscrcmd.inc" # include "res/graphics/frontier/particles/frontier_particles.naix" # include "res/text/bank/battle_arcade_scene.h" +# include "constants/battle_arcade_functions.h" # include "constants/battle_frontier_emitters.h" .data @@ -891,7 +892,7 @@ _0662: 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 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _06BE SetVar FR_VAR_0x800F, 231 Call _333A @@ -909,7 +910,7 @@ _06BE: _06DC: Call _32C0 FadeScreenIn - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0742 ApplyMovement 20, _0274 ApplyMovement 4, _0238 @@ -942,7 +943,7 @@ _0742: _0788: FrontierScrCmd_03 16 SetVar VAR_0x800D, 0 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _07BC SetVar FR_VAR_0x800F, 231 Call _3383 @@ -950,7 +951,7 @@ _0788: End _07BC: - FrontierScrCmd_BF 37, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_37, 0, 0, VAR_0x8008 SetVar FR_VAR_0x800F, 232 Call _33A3 GoTo _07D9 @@ -963,7 +964,7 @@ _07D9: Call _3246 Call _32CB FadeScreenIn - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0821 GoTo _0883 End @@ -995,7 +996,7 @@ _0860: _0883: FrontierScrCmd_B9 VAR_0x8003 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _08A5 GoTo _091F End @@ -1035,7 +1036,7 @@ _08EA: _091F: SetVar VAR_0x8003, 0 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0975 ApplyMovement 0, _0290 ApplyMovement 4, _0298 @@ -1063,7 +1064,7 @@ _09B7: FrontierScrCmd_25 20 FrontierScrCmd_23 FR_VAR_0x800F Call _3198 - FrontierScrCmd_BF 23, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_23, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _09F9 Call _0A07 ApplyMovement 3, _05E8 @@ -1079,14 +1080,14 @@ _09F9: _0A07: WaitTime 1, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0A2D FrontierScrCmd_BD Call _2EB2 Return _0A2D: - FrontierScrCmd_BF 52, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_52, 0, 0, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 205 ClearReceivedTempDataAllPlayers @@ -1102,9 +1103,9 @@ _0A46: ClearReceivedTempDataAllPlayers SyncConnectedPlayers 206 ClearReceivedTempDataAllPlayers - FrontierScrCmd_BF 49, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_49, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 - FrontierScrCmd_BF 50, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_50, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 Return @@ -1113,9 +1114,9 @@ _0A8F: WaitMovement Message BattleArcadeScene_Text_Welcome PlaySoundEffect SEQ_SE_DP_DENDOU - FrontierScrCmd_BF 23, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_23, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 0, _0B1A - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0AD5 GoTo _0B20 End @@ -1134,7 +1135,7 @@ _0AE1: _0AF1: InitParticleSystem 0, battle_arcade_1_spa - FrontierScrCmd_BF 39, VAR_0x8005, VAR_0x8006, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_39, VAR_0x8005, VAR_0x8006, VAR_0x8008 WaitTime 120, VAR_0x8008 FreeParticleSystem 0 WaitTime 60, VAR_0x8008 @@ -1148,13 +1149,13 @@ _0B1A: _0B20: Call _32A0 BufferNumber 0, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _0B50 GoToIfEq VAR_0x8008, 1, _0B8A End _0B50: - FrontierScrCmd_BF 23, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_23, 0, 0, VAR_0x8008 AddVar VAR_0x8008, 1 BufferNumber 0, VAR_0x8008 Message BattleArcadeScene_Text_GameStart @@ -1169,7 +1170,7 @@ _0B50: End _0B8A: - FrontierScrCmd_BF 23, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_23, 0, 0, VAR_0x8008 AddVar VAR_0x8008, 1 BufferNumber 0, VAR_0x8008 MessageNoSkip BattleArcadeScene_Text_GameStart @@ -1189,24 +1190,24 @@ _0B8A: _0BD4: FadeScreenOut CloseMessage - FrontierScrCmd_BF 48, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_48, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0C9E CallIfEq VAR_0x8008, 2, _0C9E Call _32A0 Call _2F24 Call _2F4A Call _3272 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0CA4 - FrontierScrCmd_C3 + OpenBattleArcadeApp FrontierScrCmd_2A _01E8 Call _3246 Call _2EEC - FrontierScrCmd_BF 11, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_11, 0, 0, VAR_0x8008 FrontierScrCmd_C5 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _227E - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0860 Call _32CB Call _32EA @@ -1244,7 +1245,7 @@ _0CD0: _0CD6: InitParticleSystem 0, battle_arcade_1_spa - FrontierScrCmd_BF 16, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_16, 0, 0, VAR_0x8008 PlaySoundEffect SEQ_SE_DP_DENDOU SetVar FR_VAR_0x8010, VAR_0x8008 GoToIfEq FR_VAR_0x8010, 0, _0E93 @@ -1285,7 +1286,7 @@ _0E93: Message BattleArcadeScene_Text_CurrentEvent Call _3288 Call _20AA - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 GoToIfEq VAR_0x8006, 0, _0F1F GoToIfEq VAR_0x8006, 1, _0F39 End @@ -1293,11 +1294,11 @@ _0E93: _0EC8: Call _32D6 Call _21C5 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 ApplyMovement 3, _05E0 WaitMovement - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _0F53 CallIfEq VAR_0x8006, 1, _0F59 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1334,9 +1335,9 @@ _0F5F: SetVar VAR_0x8005, 34 SetVar VAR_0x8006, 35 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _0FC8 CallIfEq VAR_0x8006, 1, _0FE4 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1344,13 +1345,13 @@ _0F5F: End _0FC8: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1000 Message BattleArcadeScene_Text_SoloPoisoned Return _0FE4: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1006 Message BattleArcadeScene_Text_MultiPoisoned Return @@ -1371,11 +1372,11 @@ _100C: SetVar VAR_0x8005, 46 SetVar VAR_0x8006, 47 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 ApplyMovement 3, _05E0 WaitMovement - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _107F CallIfEq VAR_0x8006, 1, _109B PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1383,13 +1384,13 @@ _100C: End _107F: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _10B7 Message BattleArcadeScene_Text_SoloParalyzed Return _109B: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _10BD Message BattleArcadeScene_Text_MultiParalyzed Return @@ -1410,9 +1411,9 @@ _10C3: SetVar VAR_0x8005, 38 SetVar VAR_0x8006, 39 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _112C CallIfEq VAR_0x8006, 1, _1148 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1420,13 +1421,13 @@ _10C3: End _112C: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1164 Message BattleArcadeScene_Text_SoloBurned Return _1148: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _116A Message BattleArcadeScene_Text_MultiBurned Return @@ -1447,11 +1448,11 @@ _1170: SetVar VAR_0x8005, 42 SetVar VAR_0x8006, 43 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 ApplyMovement 3, _05E0 WaitMovement - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _11E3 CallIfEq VAR_0x8006, 1, _11FF PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1459,13 +1460,13 @@ _1170: End _11E3: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _121B Message BattleArcadeScene_Text_SoloAsleep Return _11FF: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1221 Message BattleArcadeScene_Text_MultiAsleep Return @@ -1486,9 +1487,9 @@ _1227: SetVar VAR_0x8005, 30 SetVar VAR_0x8006, 31 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _1290 CallIfEq VAR_0x8006, 1, _12AC PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1496,13 +1497,13 @@ _1227: End _1290: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _12C8 Message BattleArcadeScene_Text_SoloFrozen Return _12AC: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _12CE Message BattleArcadeScene_Text_MultiFrozen Return @@ -1520,8 +1521,8 @@ _12D4: Call _20AA CloseMessage Call _2211 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 15, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_15, 1, 0, VAR_0x8008 BufferItemName 2, VAR_0x8008 FrontierScrCmd_C6 1, 0, 1 FrontierScrCmd_C6 1, 1, 1 @@ -1530,7 +1531,7 @@ _12D4: Message BattleArcadeScene_Text_HereYouGo CloseMessage Call _221D - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _1358 CallIfEq VAR_0x8006, 1, _135E PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1542,7 +1543,7 @@ _1358: Return _135E: - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 Message BattleArcadeScene_Text_MultiLoanItem Return @@ -1551,8 +1552,8 @@ _136D: Call _20AA CloseMessage Call _2211 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 15, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_15, 1, 0, VAR_0x8008 BufferItemName 2, VAR_0x8008 FrontierScrCmd_C6 1, 0, 1 FrontierScrCmd_C6 1, 1, 1 @@ -1561,7 +1562,7 @@ _136D: Message BattleArcadeScene_Text_HereYouGo CloseMessage Call _221D - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _13F1 CallIfEq VAR_0x8006, 1, _13F7 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1573,7 +1574,7 @@ _13F1: Return _13F7: - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 Message BattleArcadeScene_Text_MultiLoanItem Return @@ -1581,7 +1582,7 @@ _1406: Message BattleArcadeScene_Text_CurrentEvent Call _3288 Call _20AA - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 GoToIfEq VAR_0x8006, 0, _1488 GoToIfEq VAR_0x8006, 1, _14A2 End @@ -1589,9 +1590,9 @@ _1406: _143B: Call _32D6 Call _21C5 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _14BC CallIfEq VAR_0x8006, 1, _14C2 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1624,7 +1625,7 @@ _14C8: Message BattleArcadeScene_Text_CurrentEvent Call _3294 Call _2092 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 GoToIfEq VAR_0x8006, 0, _154A GoToIfEq VAR_0x8006, 1, _1564 End @@ -1632,9 +1633,9 @@ _14C8: _14FD: Call _32D6 Call _21C5 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _157E CallIfEq VAR_0x8006, 1, _1584 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1671,11 +1672,11 @@ _158A: SetVar VAR_0x8005, 32 SetVar VAR_0x8006, 33 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 ApplyMovement 3, _05E0 WaitMovement - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _15FD CallIfEq VAR_0x8006, 1, _1619 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1683,13 +1684,13 @@ _158A: End _15FD: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1635 Message BattleArcadeScene_Text_SoloPoisoned Return _1619: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _163B Message BattleArcadeScene_Text_MultiPoisoned Return @@ -1710,9 +1711,9 @@ _1641: SetVar VAR_0x8005, 44 SetVar VAR_0x8006, 45 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _16AA CallIfEq VAR_0x8006, 1, _16C6 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1720,13 +1721,13 @@ _1641: End _16AA: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _16E2 Message BattleArcadeScene_Text_SoloParalyzed Return _16C6: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _16E8 Message BattleArcadeScene_Text_MultiParalyzed Return @@ -1747,11 +1748,11 @@ _16EE: SetVar VAR_0x8005, 36 SetVar VAR_0x8006, 37 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 ApplyMovement 3, _05E0 WaitMovement - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _1761 CallIfEq VAR_0x8006, 1, _177D PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1759,13 +1760,13 @@ _16EE: End _1761: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1799 Message BattleArcadeScene_Text_SoloBurned Return _177D: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _179F Message BattleArcadeScene_Text_MultiBurned Return @@ -1786,9 +1787,9 @@ _17A5: SetVar VAR_0x8005, 40 SetVar VAR_0x8006, 41 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _180E CallIfEq VAR_0x8006, 1, _182A PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1796,13 +1797,13 @@ _17A5: End _180E: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1846 Message BattleArcadeScene_Text_SoloAsleep Return _182A: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _184C Message BattleArcadeScene_Text_MultiAsleep Return @@ -1823,11 +1824,11 @@ _1852: SetVar VAR_0x8005, 28 SetVar VAR_0x8006, 29 Call _21A9 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 ApplyMovement 3, _05E0 WaitMovement - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _18C5 CallIfEq VAR_0x8006, 1, _18E1 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1835,13 +1836,13 @@ _1852: End _18C5: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _18FD Message BattleArcadeScene_Text_SoloFrozen Return _18E1: - FrontierScrCmd_BF 47, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_47, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1903 Message BattleArcadeScene_Text_MultiFrozen Return @@ -1859,8 +1860,8 @@ _1909: Call _2092 CloseMessage Call _21ED - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 15, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_15, 0, 0, VAR_0x8008 BufferItemName 2, VAR_0x8008 FrontierScrCmd_C6 0, 0, 1 FrontierScrCmd_C6 0, 1, 1 @@ -1869,7 +1870,7 @@ _1909: Message BattleArcadeScene_Text_HereYouGo CloseMessage Call _21F9 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _198D CallIfEq VAR_0x8006, 1, _1993 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1881,7 +1882,7 @@ _198D: Return _1993: - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 Message BattleArcadeScene_Text_MultiLoanItem Return @@ -1890,8 +1891,8 @@ _19A2: Call _2092 CloseMessage Call _21ED - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 15, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_15, 0, 0, VAR_0x8008 BufferItemName 2, VAR_0x8008 FrontierScrCmd_C6 0, 0, 1 FrontierScrCmd_C6 0, 1, 1 @@ -1900,7 +1901,7 @@ _19A2: Message BattleArcadeScene_Text_HereYouGo CloseMessage Call _21F9 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _1A26 CallIfEq VAR_0x8006, 1, _1A2C PlaySoundEffect SEQ_SE_DP_DENDOU @@ -1912,7 +1913,7 @@ _1A26: Return _1A2C: - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 Message BattleArcadeScene_Text_MultiLoanItem Return @@ -1920,7 +1921,7 @@ _1A3B: Message BattleArcadeScene_Text_CurrentEvent Call _3294 Call _2092 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 GoToIfEq VAR_0x8006, 0, _1AC7 GoToIfEq VAR_0x8006, 1, _1AE1 End @@ -1928,11 +1929,11 @@ _1A3B: _1A70: Call _32D6 Call _21C5 - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 ApplyMovement 3, _05E0 WaitMovement - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _1AFB CallIfEq VAR_0x8006, 1, _1B01 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -2033,7 +2034,7 @@ _1BEB: _1C15: Message BattleArcadeScene_Text_CurrentEvent Call _20D4 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _1DEC CallIfEq VAR_0x8006, 1, _1E00 FrontierScrCmd_31 4, 2 @@ -2041,45 +2042,45 @@ _1C15: FrontierScrCmd_31 6, 3 FrontierScrCmd_31 7, 7 PlaySoundEffect SEQ_SE_DP_Z_SEARCH - FrontierScrCmd_BF 41, 0, 3, VAR_0x8008 - FrontierScrCmd_BF 42, 0, 3, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_41, 0, 3, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_42, 0, 3, VAR_0x8008 FrontierScrCmd_C6 0, 3, 0 FrontierScrCmd_C6 1, 3, 0 WaitTime 14, VAR_0x8008 - FrontierScrCmd_BF 41, 0, 2, VAR_0x8008 - FrontierScrCmd_BF 42, 0, 2, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_41, 0, 2, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_42, 0, 2, VAR_0x8008 FrontierScrCmd_C6 0, 2, 0 FrontierScrCmd_C6 1, 2, 0 WaitTime 14, VAR_0x8008 - FrontierScrCmd_BF 41, 0, 1, VAR_0x8008 - FrontierScrCmd_BF 42, 0, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_41, 0, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_42, 0, 1, VAR_0x8008 FrontierScrCmd_C6 0, 1, 0 FrontierScrCmd_C6 1, 1, 0 WaitTime 14, VAR_0x8008 - FrontierScrCmd_BF 41, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 42, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_41, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_42, 0, 0, VAR_0x8008 FrontierScrCmd_C6 0, 0, 0 FrontierScrCmd_C6 1, 0, 0 WaitTime 14, VAR_0x8008 - FrontierScrCmd_BF 25, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_25, 0, 0, VAR_0x8008 PlaySoundEffect SEQ_SE_DP_Z_SEARCH - FrontierScrCmd_BF 41, 1, 0, VAR_0x8008 - FrontierScrCmd_BF 42, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_41, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_42, 1, 0, VAR_0x8008 FrontierScrCmd_C6 0, 0, 1 FrontierScrCmd_C6 1, 0, 1 WaitTime 14, VAR_0x8008 - FrontierScrCmd_BF 41, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 42, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_41, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_42, 1, 1, VAR_0x8008 FrontierScrCmd_C6 0, 1, 1 FrontierScrCmd_C6 1, 1, 1 WaitTime 14, VAR_0x8008 - FrontierScrCmd_BF 41, 1, 2, VAR_0x8008 - FrontierScrCmd_BF 42, 1, 2, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_41, 1, 2, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_42, 1, 2, VAR_0x8008 FrontierScrCmd_C6 0, 2, 1 FrontierScrCmd_C6 1, 2, 1 WaitTime 14, VAR_0x8008 - FrontierScrCmd_BF 41, 1, 3, VAR_0x8008 - FrontierScrCmd_BF 42, 1, 3, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_41, 1, 3, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_42, 1, 3, VAR_0x8008 FrontierScrCmd_C6 0, 3, 1 FrontierScrCmd_C6 1, 3, 1 WaitTime 14, VAR_0x8008 @@ -2087,7 +2088,7 @@ _1C15: WaitMovement Message BattleArcadeScene_Text_PokemonSwap StopSoundEffect SEQ_SE_DP_Z_SEARCH - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _1E24 CallIfEq VAR_0x8006, 1, _1E38 PlaySoundEffect SEQ_SE_DP_DENDOU @@ -2160,15 +2161,15 @@ _1EDA: Call _2092 CloseMessage Call _21ED - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 12, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_12, 0, 0, VAR_0x8008 AddToRecordValue RECORD_UNK_067, VAR_0x8008 GiveBattlePoints VAR_0x8008 BufferNumber 2, VAR_0x8008 StopSoundEffect SEQ_SE_DP_DENDOU PlayFanfare SEQ_PL_DON2 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _1F65 CallIfEq VAR_0x8006, 1, _1F6B WaitFanfare @@ -2194,15 +2195,15 @@ _1F71: Call _2092 CloseMessage Call _21ED - FrontierScrCmd_BF 38, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 38, 1, 1, VAR_0x8008 - FrontierScrCmd_BF 12, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_38, 1, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_12, 0, 0, VAR_0x8008 AddToRecordValue RECORD_UNK_067, VAR_0x8008 GiveBattlePoints VAR_0x8008 BufferNumber 2, VAR_0x8008 StopSoundEffect SEQ_SE_DP_DENDOU PlayFanfare SEQ_PL_DON2 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8006 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8006 CallIfEq VAR_0x8006, 0, _1F65 CallIfEq VAR_0x8006, 1, _1F6B WaitFanfare @@ -2224,7 +2225,7 @@ _1FFC: Call _2668 Call _3288 Message BattleArcadeScene_Text_SkipBattle - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _2049 GoToIfEq VAR_0x8008, 1, _2053 End @@ -2246,7 +2247,7 @@ _2069: CloseMessage ApplyMovement 3, _05B4 WaitMovement - FrontierScrCmd_BF 46, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_46, 0, 0, VAR_0x8008 GoTo _26BC End @@ -2263,16 +2264,16 @@ _2092: Return _20AA: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8005 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8005 Call _0CBC PlaySoundEffect SEQ_SE_PL_FR05 WaitTime 45, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8005 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8005 Call _0CD0 Return _20D4: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8005 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8005 Call _0CAE Call _0CBC PlaySoundEffect SEQ_SE_PL_FR05 @@ -2376,7 +2377,7 @@ _221D: Return _2229: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _224F GoTo _2247 End @@ -2394,7 +2395,7 @@ _224F: _225F: WaitTime 1, VAR_0x8008 - FrontierScrCmd_BF 6, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_6, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 180 @@ -2403,7 +2404,7 @@ _225F: _227E: WaitTime 1, VAR_0x8008 - FrontierScrCmd_BF 6, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_6, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 181 @@ -2412,7 +2413,7 @@ _227E: _229D: WaitTime 1, VAR_0x8008 - FrontierScrCmd_BF 6, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_6, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 182 @@ -2421,7 +2422,7 @@ _229D: _22BC: WaitTime 1, VAR_0x8008 - FrontierScrCmd_BF 6, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_6, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 183 @@ -2429,9 +2430,9 @@ _22BC: Return _22DB: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2337 - FrontierScrCmd_BF 48, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_48, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2FC0 GoToIfEq VAR_0x8008, 2, _2FD9 Call _32A0 @@ -2451,7 +2452,7 @@ _2337: Return _2357: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _237C GoToIfEq VAR_0x8008, 1, _23CC End @@ -2467,7 +2468,7 @@ _237C: WaitTime 15, VAR_0x8008 ApplyMovement 98, _0288 WaitMovement - FrontierScrCmd_BF 40, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_40, 0, 0, VAR_0x8008 FrontierScrCmd_C4 0 WaitABPress CloseMessage @@ -2492,13 +2493,13 @@ _23CC: WaitTime 15, VAR_0x8008 ApplyMovement 98, _0288 WaitMovement - FrontierScrCmd_BF 40, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_40, 0, 0, VAR_0x8008 FrontierScrCmd_C4 0 WaitTime 30, VAR_0x8008 CloseMessage ApplyMovement 99, _0288 WaitMovement - FrontierScrCmd_BF 40, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_40, 0, 0, VAR_0x8008 FrontierScrCmd_C4 1 WaitTime 30, VAR_0x8008 CloseMessage @@ -2512,15 +2513,15 @@ _23CC: End _2462: - FrontierScrCmd_BF 20, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_20, 0, 0, VAR_0x8008 SetVar VAR_0x800B, VAR_0x8008 Call _3466 Return _2479: - FrontierScrCmd_BF 20, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_20, 0, 0, VAR_0x8008 SetVar VAR_0x800B, VAR_0x8008 - FrontierScrCmd_BF 20, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_20, 1, 0, VAR_0x8008 SetVar VAR_0x800C, VAR_0x8008 Call _347D Return @@ -2531,9 +2532,9 @@ _249F: Return _24AD: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2506 - FrontierScrCmd_BF 48, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_48, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _24F2 GoToIfEq VAR_0x8008, 2, _24F2 FrontierScrCmd_3F 2 @@ -2561,7 +2562,7 @@ _251C: BufferNumber 0, VAR_0x8008 Call _2F24 Call _2F4A - FrontierScrCmd_BF 48, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_48, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2562 GoToIfEq VAR_0x8008, 2, _2562 FreeParticleSystem 0 @@ -2572,18 +2573,18 @@ _2562: Call _32A0 FrontierScrCmd_2B 2 Call _3272 - FrontierScrCmd_BC - FrontierScrCmd_BB + BattleArcade_StartBattle + BattleArcade_CleanupBattle Call _2EB2 - FrontierScrCmd_BF 37, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_37, 0, 0, VAR_0x8008 Call _3246 Call _32CB Call _32EA FadeScreenIn - FrontierScrCmd_C0 VAR_0x8008 + BattleArcade_CheckWonBattle VAR_0x8008 GoToIfEq VAR_0x8008, 0, _2D52 IncrementRecordValue RECORD_BATTLE_ARCADE_VICTORIES - FrontierScrCmd_BF 48, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_48, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _31DE GoToIfEq VAR_0x8008, 2, _3212 Call _32A0 @@ -2597,7 +2598,7 @@ _25EE: End _25FC: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _262E ApplyMovement 98, _03F0 ApplyMovement 4, _0414 @@ -2620,7 +2621,7 @@ _262E: Return _2668: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2692 ApplyMovement 98, _0408 WaitMovement @@ -2654,17 +2655,17 @@ _26CC: End _26E0: - FrontierScrCmd_BF 14, 1, 0, VAR_0x8008 - FrontierScrCmd_BF 5, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_14, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_INCREMENT_CURRENT_STREAK 0, 0, VAR_0x8008 Return _26F4: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0860 Return _270C: - FrontierScrCmd_BF 23, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_23, 0, 0, VAR_0x8008 GoToIfNe VAR_0x8008, 7, _27DC GoTo _272A End @@ -2692,11 +2693,11 @@ _278C: End _279A: - FrontierScrCmd_BF 22, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_22, 0, 0, VAR_0x8008 FrontierScrCmd_3D VAR_BATTLE_ARCADE_LOBBY_LOAD_ACTION, 1 Message BattleArcadeScene_Text_BPEarned BufferPlayerName 0 - FrontierScrCmd_BF 45, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_45, 0, 0, VAR_0x8008 BufferNumber 1, VAR_0x8008 GiveBattlePoints VAR_0x8008 Message BattleArcadeScene_Text_ReceiveBP @@ -2714,7 +2715,7 @@ _27DC: Call _349D ApplyMovement 97, _0640 WaitMovement - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2821 ApplyMovement 4, _0654 WaitMovement @@ -2734,7 +2735,7 @@ _283B: WaitFanfare CloseMessage HealParty - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2879 ApplyMovement 97, _064C ApplyMovement 4, _065C @@ -2761,7 +2762,7 @@ _28AB: End _28B3: - FrontierScrCmd_BF 48, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_48, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2F86 GoToIfEq VAR_0x8008, 2, _2F86 GoTo _28DE @@ -2776,7 +2777,7 @@ _28DE: _28F1: Call _32A0 BufferNumber 0, VAR_0x8008 - FrontierScrCmd_BF 23, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_23, 0, 0, VAR_0x8008 AddVar VAR_0x8008, 1 BufferNumber 0, VAR_0x8008 Message BattleArcadeScene_Text_AreYouReady @@ -2784,7 +2785,7 @@ _28F1: End _291C: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2954 GoToIfEq VAR_0x800D, 1, _29A3 GoToIfEq VAR_0x8003, 0, _29B1 @@ -2874,7 +2875,7 @@ _2A93: _2ACF: SetVar VAR_0x800D, 0 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2AF3 GoTo _2B5E End @@ -2891,7 +2892,7 @@ _2B02: GoToIfEq VAR_0x8008, 0, _2B02 FrontierScrCmd_C2 VAR_0x8002 ClearReceivedTempDataAllPlayers - FrontierScrCmd_BF 24, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_24, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2B49 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 142 @@ -2910,7 +2911,7 @@ _2B5E: SetVar VAR_0x8003, 0 FrontierScrCmd_BE WaitTime 1, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0A2D GoTo _0B20 End @@ -2945,7 +2946,7 @@ _2BE6: End _2BFA: - FrontierScrCmd_BF 4, 0, 0, VAR_0x8009 + CallBattleArcadeFunction BA_FUNC_UNK_4, 0, 0, VAR_0x8009 Return _2C05: @@ -2955,7 +2956,7 @@ _2C05: _2C0D: SetVar VAR_0x8003, 1 MessageInstant BattleArcadeScene_Text_Saving - FrontierScrCmd_BF 17, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 ShowSavingIcon FrontierScrCmd_6D 6, VAR_0x8008, VAR_0x8009, VAR_0x8009 HideSavingIcon @@ -2986,13 +2987,13 @@ _2C5A: _2C78: FrontierScrCmd_3D VAR_BATTLE_ARCADE_LOBBY_LOAD_ACTION, 2 - FrontierScrCmd_BF 10, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_10, 0, 0, VAR_0x8008 FreeBattleRecording FrontierScrCmd_BA Call _2E9C FadeScreenOut CloseMessage - FrontierScrCmd_BF 7, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_RESET_SYSTEM, 0, 0, VAR_0x8008 End _2CAA: @@ -3003,7 +3004,7 @@ _2CB2: Message BattleArcadeScene_Text_RetireQuestion ShowYesNoMenu VAR_0x8008, MENU_NO GoToIfEq VAR_0x8008, 1, _2D4A - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2CEA Message BattleArcadeScene_Text_ReturnItems GoTo _2D31 @@ -3031,7 +3032,7 @@ _2D19: End _2D31: - FrontierScrCmd_BF 21, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_21, 0, 0, VAR_0x8008 FrontierScrCmd_3D VAR_BATTLE_ARCADE_LOBBY_LOAD_ACTION, 3 GoTo _2E0A End @@ -3069,14 +3070,14 @@ _2DB5: End _2DBD: - FrontierScrCmd_BF 21, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_21, 0, 0, VAR_0x8008 FrontierScrCmd_3D VAR_BATTLE_ARCADE_LOBBY_LOAD_ACTION, 3 GoTo _2DD4 End _2DD4: Message BattleArcadeScene_Text_ReturnItems - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _2DF6 GoTo _2E0A End @@ -3096,15 +3097,15 @@ _2E0A: End _2E1A: - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _2E86 FadeScreenOut Call _2F5E Call _2F4A Call _3272 - FrontierScrCmd_BF 17, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 2, _2E80 - FrontierScrCmd_BF 17, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 3, _2E90 FreeBattleRecording FrontierScrCmd_BA @@ -3136,51 +3137,51 @@ _2E9C: Return _2EB2: - FrontierScrCmd_BF 29, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 33, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 35, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 31, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_29, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_33, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_35, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_31, 0, 0, VAR_0x8008 Return _2ED8: - FrontierScrCmd_BF 35, 1, 0, VAR_0x8008 - FrontierScrCmd_BF 31, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_35, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_31, 1, 0, VAR_0x8008 Return _2EEC: - FrontierScrCmd_BF 29, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 33, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 35, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 35, 1, 0, VAR_0x8008 - FrontierScrCmd_BF 31, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 31, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_29, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_33, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_35, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_35, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_31, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_31, 1, 0, VAR_0x8008 Return _2F24: - FrontierScrCmd_BF 36, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 36, 1, 0, VAR_0x8008 - FrontierScrCmd_BF 32, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 32, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_36, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_36, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_32, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_32, 1, 0, VAR_0x8008 Return _2F4A: - FrontierScrCmd_BF 30, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 34, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_30, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_34, 0, 0, VAR_0x8008 Return _2F5E: - FrontierScrCmd_BF 36, 0, 0, VAR_0x8008 - FrontierScrCmd_BF 32, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_36, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_32, 0, 0, VAR_0x8008 Return _2F72: - FrontierScrCmd_BF 36, 1, 0, VAR_0x8008 - FrontierScrCmd_BF 32, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_36, 1, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_32, 1, 0, VAR_0x8008 Return _2F86: GoToIfEq VAR_0x8003, 1, _28DE - FrontierScrCmd_BF 51, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_51, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _28DE Call _32A0 BufferNumber 0, VAR_0x8008 @@ -3344,7 +3345,7 @@ _3294: Return _32A0: - FrontierScrCmd_BF 4, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_4, 0, 0, VAR_0x8008 GoToIfGe VAR_0x8008, 9999, _32BE AddVar VAR_0x8008, 1 Return @@ -3353,103 +3354,103 @@ _32BE: Return _32C0: - FrontierScrCmd_BF 43, 8, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_43, 8, 0, VAR_0x8008 Return _32CB: - FrontierScrCmd_BF 43, 8, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_43, 8, 1, VAR_0x8008 Return _32D6: - FrontierScrCmd_BF 43, 0, 1, VAR_0x8008 - FrontierScrCmd_BF 44, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_43, 0, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 0, 0, VAR_0x8008 Return _32EA: - FrontierScrCmd_BF 44, 8, 3, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 98, VAR_0x8008 - FrontierScrCmd_BF 28, 0, 0, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 3, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 98, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _331D - FrontierScrCmd_BF 44, 8, 4, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 4, VAR_0x8008 Return _331D: - FrontierScrCmd_BF 44, 8, 1, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 2, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 99, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 2, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 99, VAR_0x8008 Return _333A: FrontierScrCmd_22 _0008 FrontierScrCmd_24 _001C - FrontierScrCmd_BF 44, 8, 20, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 4, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 20, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 4, VAR_0x8008 Return _335A: FrontierScrCmd_22 _0010 FrontierScrCmd_24 _0040 - FrontierScrCmd_BF 44, 8, 20, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 1, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 2, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 20, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 2, VAR_0x8008 Return _3383: FrontierScrCmd_22 _0070 FrontierScrCmd_24 _00A0 - FrontierScrCmd_BF 44, 8, 4, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 3, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 4, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 3, VAR_0x8008 Return _33A3: FrontierScrCmd_22 _0078 FrontierScrCmd_24 _00C4 - FrontierScrCmd_BF 44, 8, 3, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 1, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 2, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 3, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 1, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 2, VAR_0x8008 Return _33CC: FrontierScrCmd_22 _0098 FrontierScrCmd_24 _00F4 - FrontierScrCmd_BF 44, 8, 20, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 20, VAR_0x8008 Return _33E3: FrontierScrCmd_22 _0088 FrontierScrCmd_24 _0104 - FrontierScrCmd_BF 44, 8, 5, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 6, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 7, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 8, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 9, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 11, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 12, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 13, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 14, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 15, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 16, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 17, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 18, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 5, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 6, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 7, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 8, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 9, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 11, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 12, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 13, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 14, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 15, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 16, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 17, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 18, VAR_0x8008 Return _3466: FrontierScrCmd_22 _0198 FrontierScrCmd_24 _01A8 - FrontierScrCmd_BF 44, 8, 98, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 98, VAR_0x8008 Return _347D: FrontierScrCmd_22 _01A0 FrontierScrCmd_24 _01B8 - FrontierScrCmd_BF 44, 8, 98, VAR_0x8008 - FrontierScrCmd_BF 44, 8, 99, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 98, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 99, VAR_0x8008 Return _349D: FrontierScrCmd_22 _01D0 FrontierScrCmd_24 _01D8 - FrontierScrCmd_BF 44, 8, 97, VAR_0x8008 + CallBattleArcadeFunction BA_FUNC_UNK_44, 8, 97, VAR_0x8008 Return .balign 4, 0 diff --git a/res/field/frontier_scripts/frontier_scripts_battle_castle.s b/res/field/frontier_scripts/frontier_scripts_battle_castle.s index d543410334..f50de3aa29 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_castle.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_castle.s @@ -1,6 +1,7 @@ # include "macros/frscrcmd.inc" # include "res/graphics/frontier/particles/frontier_particles.naix" # include "res/text/bank/battle_castle_scene.h" +# include "constants/battle_castle_functions.h" # include "constants/battle_frontier.h" # include "constants/battle_frontier_emitters.h" @@ -594,7 +595,7 @@ _043C: FadeScreenIn InitNewBattleRecording FrontierScrCmd_97 VAR_0x8003, VAR_0x8001, VAR_0x8004, VAR_0x8005, VAR_0x8006, VAR_0x8008 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0480 GoTo _04F0 End @@ -631,7 +632,7 @@ _04CD: _04F0: FrontierScrCmd_98 VAR_0x8003 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0510 GoTo _058A End @@ -671,7 +672,7 @@ _0555: _058A: SetVar VAR_0x8003, 0 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _05C6 ApplyMovement 0, _01F0 ApplyMovement 4, _01F0 @@ -690,14 +691,14 @@ _05C6: End _05F0: - FrontierScrCmd_A0 23, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_23, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _0612 SetVar VAR_0x8003, 1 GoTo _1349 End _0612: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0630 FrontierScrCmd_9E GoTo _0679 @@ -719,12 +720,12 @@ _0640: ClearReceivedTempDataAllPlayers SyncConnectedPlayers 214 ClearReceivedTempDataAllPlayers - FrontierScrCmd_A0 41, 0, 0, VAR_0x8008 - FrontierScrCmd_A0 42, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_41, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_42, 0, 0, VAR_0x8008 Return _0679: - FrontierScrCmd_A0 39, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_39, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _0695 GoTo _06A1 End @@ -741,10 +742,10 @@ _06A1: End _06B0: - FrontierScrCmd_A0 19, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_19, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 3, _06E4 Message BattleCastleScene_Text_Choose - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _06EA GoTo _0706 End @@ -772,14 +773,14 @@ _0706: End _0714: - FrontierScrCmd_A0 19, 0, 0, VAR_0x8006 + CallBattleCastleFunction BC_FUNC_UNK_19, 0, 0, VAR_0x8006 CallIfLt VAR_0x8006, 3, _07A2 CallIfGe VAR_0x8006, 3, _07AC SetMenuXOriginSide 1 AddListMenuEntry BattleCastleScene_Text_SelfOption, BattleCastleScene_Text_HealOrRentItem, 1 AddListMenuEntry BattleCastleScene_Text_OpponentOption, BattleCastleScene_Text_CheckOpponentsMons, 2 AddListMenuEntry BattleCastleScene_Text_BattleOption, BattleCastleScene_Text_BattleTrainer, 4 - FrontierScrCmd_A0 19, 0, 0, VAR_0x8006 + CallBattleCastleFunction BC_FUNC_UNK_19, 0, 0, VAR_0x8006 CallIfGe VAR_0x8006, 3, _07D7 ShowListMenu GoToIfEq VAR_0x8008, 1, _0804 @@ -794,14 +795,14 @@ _07A2: Return _07AC: - FrontierScrCmd_A0 40, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_40, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _07A2 GoToIfEq VAR_0x8008, 2, _07A2 InitLocalTextListMenu 31, 9, 0, 0, VAR_0x8008 Return _07D7: - FrontierScrCmd_A0 40, 0, 0, VAR_0x800D + CallBattleCastleFunction BC_FUNC_UNK_40, 0, 0, VAR_0x800D GoToIfEq VAR_0x800D, 1, _0802 GoToIfEq VAR_0x800D, 2, _0802 AddListMenuEntry BattleCastleScene_Text_PassOption, BattleCastleScene_Text_PassOnBattle, 5 @@ -811,8 +812,8 @@ _0802: Return _0804: - FrontierScrCmd_A0 32, 1, 0, VAR_0x8008 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_32, 1, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0827 GoTo _0833 End @@ -823,17 +824,17 @@ _0827: End _0833: - FrontierScrCmd_A0 34, 0, 0, VAR_0x8008 - FrontierScrCmd_A0 31, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_34, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_31, 0, 0, VAR_0x8008 FadeScreenOut CloseMessage FrontierScrCmd_51 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _08AC - FrontierScrCmd_9A - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + OpenBattleCastleSelfApp + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _09C5 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _04C5 FadeScreenIn GoTo _0706 @@ -851,8 +852,8 @@ _08AC: Return _08B6: - FrontierScrCmd_A0 32, 2, 0, VAR_0x8008 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_32, 2, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _08D9 GoTo _08E5 End @@ -863,17 +864,17 @@ _08D9: End _08E5: - FrontierScrCmd_A0 34, 0, 0, VAR_0x8008 - FrontierScrCmd_A0 31, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_34, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_31, 0, 0, VAR_0x8008 FadeScreenOut CloseMessage FrontierScrCmd_51 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _095A - FrontierScrCmd_9D - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + OpenBattleCastleOpponentApp + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _09E2 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _04C5 FadeScreenIn GoTo _0706 @@ -890,15 +891,15 @@ _095A: Return _0964: - FrontierScrCmd_A0 32, 4, 0, VAR_0x8008 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_32, 4, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _099C GoTo _0987 End _0987: SetVar VAR_0x8005, 0 - FrontierScrCmd_A0 31, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_31, 0, 0, VAR_0x8008 GoTo _0C47 End @@ -909,7 +910,7 @@ _099C: _09A8: WaitTime 1, VAR_0x8008 - FrontierScrCmd_A0 29, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_29, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 190 @@ -918,7 +919,7 @@ _09A8: _09C5: WaitTime 1, VAR_0x8008 - FrontierScrCmd_A0 29, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_29, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 191 @@ -927,7 +928,7 @@ _09C5: _09E2: WaitTime 1, VAR_0x8008 - FrontierScrCmd_A0 29, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_29, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 192 @@ -936,7 +937,7 @@ _09E2: _09FF: WaitTime 1, VAR_0x8008 - FrontierScrCmd_A0 29, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_29, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 193 @@ -950,8 +951,8 @@ _0A1C: GoToIfEq VAR_0x8008, 1, _0714 FrontierScrCmd_A6 VAR_0x8001, VAR_0x8008 GoToIfLt VAR_0x8008, 50, _0A6D - FrontierScrCmd_A0 32, 5, 0, VAR_0x8008 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_32, 5, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1974 GoTo _0A79 End @@ -963,20 +964,20 @@ _0A6D: _0A79: SetVar VAR_0x8005, 1 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0A9B GoTo _0AB8 End _0A9B: - FrontierScrCmd_A0 34, 0, 0, VAR_0x8008 - FrontierScrCmd_A0 33, 0, 0, VAR_0x8008 - FrontierScrCmd_A0 31, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_34, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_33, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_31, 0, 0, VAR_0x8008 GoTo _0C47 End _0AB8: - FrontierScrCmd_A0 17, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 FrontierScrCmd_A7 VAR_0x8008, 50 GoTo _0C47 End @@ -984,7 +985,7 @@ _0AB8: _0ACD: CloseMessage FrontierScrCmd_51 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0B0C ApplyMovement 0, _0248 ApplyMovement 3, _0274 @@ -1010,7 +1011,7 @@ _0B36: PlaySoundEffect SEQ_SE_DP_KAIDAN2 WaitSoundEffect SEQ_SE_DP_KAIDAN2 FadeScreenOut - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0BBA FrontierScrCmd_25 0 FrontierScrCmd_25 3 @@ -1052,15 +1053,15 @@ _0BBA: _0C1E: Call _10CA - FrontierScrCmd_A0 28, 0, 0, VAR_0x8008 - FrontierScrCmd_A0 23, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_28, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_23, 0, 0, VAR_0x8008 GoToIfNe VAR_0x8008, 7, _1349 GoTo _12D3 End _0C47: FrontierScrCmd_51 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0C7F Message BattleCastleScene_Text_Proceed WaitABPress @@ -1087,7 +1088,7 @@ _0CAD: WaitSoundEffect SEQ_SE_DP_KAIDAN2 FadeScreenOut CallIfEq FR_VAR_0x800E, 0, _0E64 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0DA3 FrontierScrCmd_25 0 FrontierScrCmd_25 3 @@ -1103,7 +1104,7 @@ _0CAD: WaitMovement CreateParticleSystemEmitter 0, CASTLE_EMITTER_TWINKLE GoToIfEq VAR_0x8005, 1, _0E89 - FrontierScrCmd_A0 40, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_40, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1A9B GoToIfEq VAR_0x8008, 2, _1ABA Call _1B75 @@ -1114,7 +1115,7 @@ _0CAD: WaitTime 15, VAR_0x8008 ApplyMovement 98, _0284 WaitMovement - FrontierScrCmd_A0 37, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_37, 0, 0, VAR_0x8008 FrontierScrCmd_A9 0 WaitABPress CloseMessage @@ -1148,13 +1149,13 @@ _0DA3: WaitTime 15, VAR_0x8008 ApplyMovement 98, _0284 WaitMovement - FrontierScrCmd_A0 37, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_37, 0, 0, VAR_0x8008 FrontierScrCmd_A9 0 WaitTime 30, VAR_0x8008 CloseMessage ApplyMovement 99, _0284 WaitMovement - FrontierScrCmd_A0 37, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_37, 0, 0, VAR_0x8008 FrontierScrCmd_A9 1 WaitTime 30, VAR_0x8008 CloseMessage @@ -1170,12 +1171,12 @@ _0E64: _0E74: InitParticleSystem 0, battle_castle_spa - FrontierScrCmd_A0 36, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_36, 0, 0, VAR_0x8008 GetPlayerObjEventGfx VAR_0x8007 Return _0E89: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0EAD Message BattleCastleScene_Text_UsingPass WaitABPress @@ -1194,17 +1195,17 @@ _0EAD: End _0ED1: - FrontierScrCmd_A0 20, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_20, 0, 0, VAR_0x8008 SetVar VAR_0x800B, VAR_0x8008 FrontierScrCmd_22 _0154 FrontierScrCmd_24 _0164 Return _0EEC: - FrontierScrCmd_A0 20, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_20, 0, 0, VAR_0x8008 SetVar VAR_0x800B, VAR_0x8008 FrontierScrCmd_22 _0154 - FrontierScrCmd_A0 20, 1, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_20, 1, 0, VAR_0x8008 SetVar VAR_0x800C, VAR_0x8008 FrontierScrCmd_22 _015C FrontierScrCmd_24 _0174 @@ -1218,9 +1219,9 @@ _0F1A: _0F2E: FreeParticleSystem 0 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0F83 - FrontierScrCmd_A0 40, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_40, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0F73 GoToIfEq VAR_0x8008, 2, _0F73 FrontierScrCmd_3F 4 @@ -1245,18 +1246,18 @@ _0F83: _0F99: Call _1B75 BufferNumber 0, VAR_0x8008 - FrontierScrCmd_9C - FrontierScrCmd_9B + BattleCastle_StartBattle + BattleCastle_CleanupBattle InitParticleSystem 0, battle_castle_spa CreateParticleSystemEmitter 0, CASTLE_EMITTER_TWINKLE - FrontierScrCmd_A0 36, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_36, 0, 0, VAR_0x8008 FadeScreenIn - FrontierScrCmd_A1 VAR_0x8008 + BattleCastle_CheckWonBattle VAR_0x8008 GoToIfEq VAR_0x8008, 0, _180E IncrementRecordValue RECORD_BATTLE_CASTLE_VICTORIES - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1040 - FrontierScrCmd_A0 40, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_40, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1AF8 GoToIfEq VAR_0x8008, 2, _1B2F Call _1B75 @@ -1311,24 +1312,24 @@ _10C2: End _10CA: - FrontierScrCmd_A0 14, 1, 0, VAR_0x8008 - FrontierScrCmd_A0 5, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_14, 1, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_INCREMENT_CURRENT_STREAK, 0, 0, VAR_0x8008 Return _10DA: BufferPlayerName 1 - FrontierScrCmd_A0 27, 0, 0, VAR_0x800D + CallBattleCastleFunction BC_FUNC_UNK_27, 0, 0, VAR_0x800D BufferNumber 0, VAR_0x800D ApplyMovement 5, _03BC WaitMovement - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1BA1 GoTo _1B93 End _110F: CloseMessage - FrontierScrCmd_A0 28, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_28, 0, 0, VAR_0x8008 FrontierScrCmd_22 _00F8 FrontierScrCmd_24 _018C ApplyMovement 6, _03A4 @@ -1341,31 +1342,31 @@ _110F: End _1160: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1BBF GoTo _1BB3 End _117C: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1BDD GoTo _1BD1 End _1198: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1BFB GoTo _1BEF End _11B4: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1C19 GoTo _1C0D End _11D0: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1C37 GoTo _1C2B End @@ -1378,7 +1379,7 @@ _11EC: WaitMovement FrontierScrCmd_25 6 FrontierScrCmd_23 217 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _121C Return @@ -1389,13 +1390,13 @@ _121C: Return _122A: - FrontierScrCmd_A0 28, 0, 0, VAR_0x8008 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_28, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _04C5 Return _1247: - FrontierScrCmd_A0 23, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_23, 0, 0, VAR_0x8008 GoToIfNe VAR_0x8008, 7, _1314 GoTo _1263 End @@ -1423,12 +1424,12 @@ _12C5: End _12D3: - FrontierScrCmd_A0 22, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_22, 0, 0, VAR_0x8008 FrontierScrCmd_3D VAR_BATTLE_CASTLE_LOBBY_LOAD_ACTION, 1 BufferPlayerName 0 Message BattleCastleScene_Text_BPEarned BufferPlayerName 0 - FrontierScrCmd_A0 38, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_38, 0, 0, VAR_0x8008 BufferNumber 1, VAR_0x8008 GiveBattlePoints VAR_0x8008 Message BattleCastleScene_Text_ReceiveBP @@ -1443,7 +1444,7 @@ _130C: _1314: GoToIfEq VAR_0x8005, 1, _1349 - FrontierScrCmd_A0 25, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_25, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _1349 Message BattleCastleScene_Text_RevivePokemon PlaySoundEffect SEQ_SE_DP_UG_020 @@ -1452,7 +1453,7 @@ _1314: End _1349: - FrontierScrCmd_A0 40, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_40, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1A60 GoToIfEq VAR_0x8008, 2, _1A60 GoTo _1372 @@ -1461,9 +1462,9 @@ _1349: _1372: Call _1B75 BufferNumber 0, VAR_0x8008 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _13AF - FrontierScrCmd_A0 23, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_23, 0, 0, VAR_0x8008 AddVar VAR_0x8008, 1 BufferNumber 0, VAR_0x8008 Message BattleCastleScene_Text_AreYouReady @@ -1477,7 +1478,7 @@ _13AF: ClearReceivedTempDataAllPlayers Call _1B75 BufferNumber 0, VAR_0x8008 - FrontierScrCmd_A0 23, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_23, 0, 0, VAR_0x8008 AddVar VAR_0x8008, 1 BufferNumber 0, VAR_0x8008 MessageInstant BattleCastleScene_Text_AreYouReady @@ -1489,7 +1490,7 @@ _13E4: End _13EC: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1422 GoToIfEq VAR_0x8005, 1, _1471 GoToIfEq VAR_0x8003, 0, _147F @@ -1578,7 +1579,7 @@ _1561: End _159D: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _15B9 GoTo _1622 End @@ -1595,7 +1596,7 @@ _15C8: GoToIfEq VAR_0x8008, 0, _15C8 FrontierScrCmd_A3 VAR_0x8002 ClearReceivedTempDataAllPlayers - FrontierScrCmd_A0 24, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_24, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _160D ClearReceivedTempDataAllPlayers SyncConnectedPlayers 122 @@ -1613,7 +1614,7 @@ _160D: _1622: SetVar VAR_0x8003, 0 FrontierScrCmd_9F - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0630 GoTo _0706 End @@ -1648,7 +1649,7 @@ _16A2: End _16B6: - FrontierScrCmd_A0 4, 0, 0, VAR_0x8009 + CallBattleCastleFunction BC_FUNC_GET_CURRENT_STREAK, 0, 0, VAR_0x8009 Return _16BF: @@ -1657,13 +1658,13 @@ _16BF: _16C7: SetVar VAR_0x8003, 1 - FrontierScrCmd_A0 44, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_44, 0, 0, VAR_0x8008 MessageInstant BattleCastleScene_Text_Saving - FrontierScrCmd_A0 17, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 ShowSavingIcon FrontierScrCmd_6D 4, VAR_0x8008, VAR_0x8009, VAR_0x8009 HideSavingIcon - FrontierScrCmd_A0 44, 1, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_44, 1, 0, VAR_0x8008 GoToIfEq VAR_0x8009, 1, _1707 Message BattleCastleScene_Text_VideoSaveFailed Return @@ -1691,13 +1692,13 @@ _1720: _173E: FrontierScrCmd_3D VAR_BATTLE_CASTLE_LOBBY_LOAD_ACTION, 2 - FrontierScrCmd_A0 10, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_10, 0, 0, VAR_0x8008 FreeBattleRecording FrontierScrCmd_99 Call _195E FadeScreenOut CloseMessage - FrontierScrCmd_A0 7, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_RESET_SYSTEM, 0, 0, VAR_0x8008 End _176C: @@ -1708,7 +1709,7 @@ _1774: Message BattleCastleScene_Text_RetireQuestion ShowYesNoMenu VAR_0x8008, MENU_NO GoToIfEq VAR_0x8008, 1, _1806 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _17AA Message BattleCastleScene_Text_ReturnItems GoTo _17F1 @@ -1736,7 +1737,7 @@ _17D9: End _17F1: - FrontierScrCmd_A0 21, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_21, 0, 0, VAR_0x8008 FrontierScrCmd_3D VAR_BATTLE_CASTLE_LOBBY_LOAD_ACTION, 3 GoTo _18E4 End @@ -1777,14 +1778,14 @@ _1893: End _189B: - FrontierScrCmd_A0 21, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_21, 0, 0, VAR_0x8008 FrontierScrCmd_3D VAR_BATTLE_CASTLE_LOBBY_LOAD_ACTION, 3 GoTo _18B0 End _18B0: Message BattleCastleScene_Text_ReturnItems - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _18D0 GoTo _18E4 End @@ -1804,12 +1805,12 @@ _18E4: End _18F4: - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _1948 FadeScreenOut - FrontierScrCmd_A0 17, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 2, _1942 - FrontierScrCmd_A0 17, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 3, _1952 FreeBattleRecording FrontierScrCmd_99 @@ -1853,7 +1854,7 @@ _199D: ClearReceivedTempDataAllPlayers SyncConnectedPlayers 126 ClearReceivedTempDataAllPlayers - FrontierScrCmd_A0 30, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_30, 0, 0, VAR_0x8008 SetVar FR_VAR_0x8010, VAR_0x8008 GoToIfEq FR_VAR_0x8010, 1, _0833 GoToIfEq FR_VAR_0x8010, 2, _08E5 @@ -1863,7 +1864,7 @@ _199D: _19E8: FreeParticleSystem 0 - FrontierScrCmd_A0 35, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1A30 FrontierScrCmd_25 0 FrontierScrCmd_25 4 @@ -1888,7 +1889,7 @@ _1A30: _1A60: GoToIfEq VAR_0x8003, 1, _1372 - FrontierScrCmd_A0 43, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_UNK_43, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1372 Call _1B75 BufferNumber 0, VAR_0x8008 @@ -1960,7 +1961,7 @@ _1B63: End _1B75: - FrontierScrCmd_A0 4, 0, 0, VAR_0x8008 + CallBattleCastleFunction BC_FUNC_GET_CURRENT_STREAK, 0, 0, VAR_0x8008 GoToIfGe VAR_0x8008, 9999, _1B91 AddVar VAR_0x8008, 1 Return diff --git a/res/field/frontier_scripts/frontier_scripts_battle_factory.s b/res/field/frontier_scripts/frontier_scripts_battle_factory.s index a209ff6027..19768dc955 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_factory.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_factory.s @@ -1,6 +1,7 @@ # include "macros/frscrcmd.inc" # include "res/graphics/frontier/particles/frontier_particles.naix" # include "res/text/bank/battle_factory_scene.h" +# include "constants/battle_factory_functions.h" # include "constants/battle_frontier.h" # include "constants/battle_frontier_emitters.h" @@ -451,8 +452,8 @@ _033E: FrontierScrCmd_24 _0088 InitNewBattleRecording FrontierScrCmd_5C VAR_0x8003, VAR_0x8001, VAR_0x8002 - FrontierScrCmd_67 31, 0, 0, VAR_0x8008 - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_31, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0377 GoTo _03B6 End @@ -476,7 +477,7 @@ _0385: _03B6: FrontierScrCmd_5D VAR_0x8003 - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _03D6 GoTo _0407 End @@ -496,7 +497,7 @@ _03D6: _0407: FadeScreenIn SetVar VAR_0x8003, 0 - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0447 ApplyMovement 4, _0188 ApplyMovement 5, _0198 @@ -516,7 +517,7 @@ _0447: _0471: FrontierScrCmd_25 5 FrontierScrCmd_23 FR_VAR_0x800F - FrontierScrCmd_67 23, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_23, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _049B SetVar VAR_0x8003, 1 GoTo _0C29 @@ -528,7 +529,7 @@ _049B: End _04A9: - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _04C5 GoTo _05F3 End @@ -549,8 +550,8 @@ _04D5: ClearReceivedTempDataAllPlayers SyncConnectedPlayers 232 ClearReceivedTempDataAllPlayers - FrontierScrCmd_67 39, 0, 0, VAR_0x8008 - FrontierScrCmd_67 19, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_39, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_19, 0, 0, VAR_0x8008 SetVar VAR_0x8009, VAR_0x8008 CallIfEq VAR_0x8009, 0, _0555 CallIfEq VAR_0x8009, 1, _0597 @@ -560,35 +561,35 @@ _04D5: Return _0555: - FrontierScrCmd_67 15, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 0, 0, VAR_0x8008 BufferSpeciesName 1, VAR_0x8008 - FrontierScrCmd_67 15, 1, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 1, 0, VAR_0x8008 BufferSpeciesName 2, VAR_0x8008 - FrontierScrCmd_67 15, 2, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 2, 0, VAR_0x8008 BufferSpeciesName 3, VAR_0x8008 - FrontierScrCmd_67 15, 3, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 3, 0, VAR_0x8008 BufferSpeciesName 4, VAR_0x8008 Message BattleFactoryScene_Text_MultiOpponentInfo4Mon Return _0597: - FrontierScrCmd_67 15, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 0, 0, VAR_0x8008 BufferSpeciesName 1, VAR_0x8008 - FrontierScrCmd_67 15, 2, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 2, 0, VAR_0x8008 BufferSpeciesName 2, VAR_0x8008 Message BattleFactoryScene_Text_MultiOpponentInfo2Mon Return _05BB: - FrontierScrCmd_67 16, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_16, 0, 0, VAR_0x8008 BufferMoveName 0, VAR_0x8008 - FrontierScrCmd_67 16, 2, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_16, 2, 0, VAR_0x8008 BufferMoveName 1, VAR_0x8008 Message BattleFactoryScene_Text_MultiOpponentInfoFirstMoves Return _05D9: - FrontierScrCmd_67 16, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_16, 0, 0, VAR_0x8008 BufferMoveName 0, VAR_0x8008 Message BattleFactoryScene_Text_MultiOpponentInfoCommonType Return @@ -598,7 +599,7 @@ _05EB: End _05F3: - FrontierScrCmd_67 19, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_19, 0, 0, VAR_0x8008 SetVar VAR_0x8009, VAR_0x8008 CallIfEq VAR_0x8009, 0, _0643 CallIfEq VAR_0x8009, 1, _0676 @@ -608,39 +609,39 @@ _05F3: Return _0643: - FrontierScrCmd_67 15, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 0, 0, VAR_0x8008 BufferSpeciesName 1, VAR_0x8008 - FrontierScrCmd_67 15, 1, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 1, 0, VAR_0x8008 BufferSpeciesName 3, VAR_0x8008 - FrontierScrCmd_67 15, 2, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 2, 0, VAR_0x8008 BufferSpeciesName 5, VAR_0x8008 Message BattleFactoryScene_Text_OpponentInfo3Mon Return _0676: - FrontierScrCmd_67 15, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 0, 0, VAR_0x8008 BufferSpeciesName 1, VAR_0x8008 - FrontierScrCmd_67 15, 1, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 1, 0, VAR_0x8008 BufferSpeciesName 3, VAR_0x8008 Message BattleFactoryScene_Text_OpponentInfo2Mon Return _069A: - FrontierScrCmd_67 16, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_16, 0, 0, VAR_0x8008 BufferMoveName 0, VAR_0x8008 - FrontierScrCmd_67 15, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_15, 0, 0, VAR_0x8008 BufferSpeciesName 1, VAR_0x8008 Message BattleFactoryScene_Text_OpponentInfo1Mon Return _06BB: - FrontierScrCmd_67 16, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_16, 0, 0, VAR_0x8008 BufferMoveName 0, VAR_0x8008 Message BattleFactoryScene_Text_OpponentInfoFirstMove Return _06CD: - FrontierScrCmd_67 18, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_18, 0, 0, VAR_0x8008 CallIfNe VAR_0x8008, 255, _06F0 CallIfEq VAR_0x8008, 255, _06FB Return @@ -656,7 +657,7 @@ _06FB: _0701: Message BattleFactoryScene_Text_ChoosePokemon - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0721 GoTo _0765 End @@ -672,7 +673,7 @@ _072D: GoToIfEq VAR_0x8008, 0, _072D FrontierScrCmd_6A VAR_0x8002 ClearReceivedTempDataAllPlayers - FrontierScrCmd_67 40, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_40, 0, 0, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 160 ClearReceivedTempDataAllPlayers @@ -682,14 +683,14 @@ _072D: _0765: FadeScreenOut CloseMessage - FrontierScrCmd_67 32, 0, 0, VAR_0x8008 - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_32, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _07D2 - FrontierScrCmd_5F - FrontierScrCmd_67 36, 0, 0, VAR_0x8008 + OpenBattleFactoryAppInitial + CallBattleFactoryFunction BF_FUNC_UNK_36, 0, 0, VAR_0x8008 FrontierScrCmd_63 - FrontierScrCmd_67 31, 0, 0, VAR_0x8008 - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_31, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _07C8 FadeScreenIn GoTo _07DC @@ -708,7 +709,7 @@ _07D2: Return _07DC: - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0812 Message BattleFactoryScene_Text_GoIn WaitABPress @@ -736,13 +737,13 @@ _084E: PlaySoundEffect SEQ_SE_DP_KAIDAN2 WaitSoundEffect SEQ_SE_DP_KAIDAN2 FadeScreenOut - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0927 FrontierScrCmd_25 0 FrontierScrCmd_25 3 FrontierScrCmd_25 4 FrontierScrCmd_23 30 - FrontierScrCmd_67 32, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_32, 0, 0, VAR_0x8008 FrontierScrCmd_03 4 GetPlayerObjEventGfx VAR_0x8007 FrontierScrCmd_22 _00F8 @@ -751,7 +752,7 @@ _084E: ApplyMovement 4, _01F4 WaitMovement Call _1471 - FrontierScrCmd_67 37, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_37, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _14E6 GoToIfEq VAR_0x8008, 2, _150B Call _1612 @@ -762,7 +763,7 @@ _084E: WaitTime 15, VAR_0x8008 ApplyMovement 98, _01EC WaitMovement - FrontierScrCmd_67 33, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_33, 0, 0, VAR_0x8008 FrontierScrCmd_6B 0 WaitABPress CloseMessage @@ -779,7 +780,7 @@ _0927: FrontierScrCmd_25 3 FrontierScrCmd_25 4 FrontierScrCmd_23 30 - FrontierScrCmd_67 32, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_32, 0, 0, VAR_0x8008 FrontierScrCmd_03 4 GetPlayerObjEventGfx VAR_0x8007 FrontierScrCmd_22 _0100 @@ -797,13 +798,13 @@ _0927: WaitTime 15, VAR_0x8008 ApplyMovement 98, _01EC WaitMovement - FrontierScrCmd_67 33, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_33, 0, 0, VAR_0x8008 FrontierScrCmd_6B 0 WaitTime 30, VAR_0x8008 CloseMessage ApplyMovement 99, _01EC WaitMovement - FrontierScrCmd_67 33, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_33, 0, 0, VAR_0x8008 FrontierScrCmd_6B 1 WaitTime 30, VAR_0x8008 CloseMessage @@ -812,17 +813,17 @@ _0927: End _09E4: - FrontierScrCmd_67 20, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_20, 0, 0, VAR_0x8008 SetVar VAR_0x800B, VAR_0x8008 FrontierScrCmd_22 _0150 FrontierScrCmd_24 _0160 Return _09FF: - FrontierScrCmd_67 20, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_20, 0, 0, VAR_0x8008 SetVar VAR_0x800B, VAR_0x8008 FrontierScrCmd_22 _0150 - FrontierScrCmd_67 20, 1, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_20, 1, 0, VAR_0x8008 SetVar VAR_0x800C, VAR_0x8008 FrontierScrCmd_22 _0158 FrontierScrCmd_24 _0170 @@ -835,9 +836,9 @@ _0A2D: Return _0A41: - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0A92 - FrontierScrCmd_67 37, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_37, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0A82 GoToIfEq VAR_0x8008, 2, _0A82 FrontierScrCmd_3F 3 @@ -856,7 +857,7 @@ _0A92: GoToIfEq VAR_0x8008, 0, _0A92 FrontierScrCmd_6A VAR_0x8002 ClearReceivedTempDataAllPlayers - FrontierScrCmd_67 38, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_38, 0, 0, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 161 ClearReceivedTempDataAllPlayers @@ -866,14 +867,14 @@ _0A92: End _0AD0: - FrontierScrCmd_61 - FrontierScrCmd_60 - FrontierScrCmd_67 30, 4, 0, VAR_0x8008 + BattleFactory_StartBattle + BattleFactory_CleanupBattle + CallBattleFactoryFunction BF_FUNC_UNK_30, 4, 0, VAR_0x8008 FadeScreenIn - FrontierScrCmd_68 VAR_0x8008 + BattleFactory_CheckWonBattle VAR_0x8008 GoToIfEq VAR_0x8008, 0, _1233 IncrementRecordValue RECORD_BATTLE_FACTORY_VICTORIES - FrontierScrCmd_67 37, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_37, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _15AA GoToIfEq VAR_0x8008, 2, _15DE Call _1612 @@ -892,9 +893,9 @@ _0B3E: End _0B4C: - FrontierScrCmd_67 14, 1, 0, VAR_0x8008 - FrontierScrCmd_67 5, 0, 0, VAR_0x8008 - FrontierScrCmd_67 23, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_14, 1, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_INCREMENT_CURRENT_STREAK, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_23, 0, 0, VAR_0x8008 GoToIfNe VAR_0x8008, 7, _0C17 GoTo _0B76 End @@ -921,11 +922,11 @@ _0BCB: End _0BD9: - FrontierScrCmd_67 22, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_22, 0, 0, VAR_0x8008 FrontierScrCmd_3D VAR_BATTLE_FACTORY_LOBBY_LOAD_ACTION, 1 Message BattleFactoryScene_Text_BPEarned BufferPlayerName 0 - FrontierScrCmd_67 35, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_35, 0, 0, VAR_0x8008 BufferNumber 1, VAR_0x8008 GiveBattlePoints VAR_0x8008 Message BattleFactoryScene_Text_ReceiveBP @@ -946,7 +947,7 @@ _0C17: End _0C29: - FrontierScrCmd_67 37, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_37, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _14AE GoToIfEq VAR_0x8008, 2, _14AE GoTo _0C52 @@ -959,7 +960,7 @@ _0C52: End _0C65: - FrontierScrCmd_67 23, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_23, 0, 0, VAR_0x8008 AddVar VAR_0x8008, 1 BufferNumber 0, VAR_0x8008 Message BattleFactoryScene_Text_AreYouReady @@ -967,7 +968,7 @@ _0C65: End _0C83: - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0CAC GoToIfEq VAR_0x8003, 0, _0CFC GoTo _0CEE @@ -1054,7 +1055,7 @@ _0DDE: End _0E1A: - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0E36 GoTo _0E9F End @@ -1071,7 +1072,7 @@ _0E45: GoToIfEq VAR_0x8008, 0, _0E45 FrontierScrCmd_6A VAR_0x8002 ClearReceivedTempDataAllPlayers - FrontierScrCmd_67 24, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_24, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0E8A ClearReceivedTempDataAllPlayers SyncConnectedPlayers 162 @@ -1090,7 +1091,7 @@ _0E9F: SetVar VAR_0x8003, 0 FrontierScrCmd_64 Call _04A9 - FrontierScrCmd_67 0, 1, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_0, 1, 0, VAR_0x8008 Message BattleFactoryScene_Text_TradeQuestion ShowYesNoMenu VAR_0x8008, MENU_YES GoToIfEq VAR_0x8008, 1, _0FBF @@ -1098,7 +1099,7 @@ _0E9F: End _0ED2: - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0EEE GoTo _0F23 End @@ -1120,7 +1121,7 @@ _0EFA: _0F23: FadeScreenOut CloseMessage - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0F4D GoTo _0F5D End @@ -1133,13 +1134,13 @@ _0F4D: End _0F5D: - FrontierScrCmd_67 32, 0, 0, VAR_0x8008 - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_32, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0FAB - FrontierScrCmd_62 + OpenBattleFactoryAppForTrade FrontierScrCmd_65 - FrontierScrCmd_67 31, 0, 0, VAR_0x8008 - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_31, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _0FB5 FadeScreenIn GoTo _102C @@ -1158,7 +1159,7 @@ _0FB5: Return _0FBF: - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0FDB GoTo _1022 End @@ -1173,7 +1174,7 @@ _0FE5: GoToIfEq VAR_0x8008, 0, _0FE5 FrontierScrCmd_6A VAR_0x8002 ClearReceivedTempDataAllPlayers - FrontierScrCmd_67 26, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_26, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 0, _0F23 GoTo _1022 End @@ -1218,7 +1219,7 @@ _1092: End _10A6: - FrontierScrCmd_67 4, 0, 0, VAR_0x8005 + CallBattleFactoryFunction BF_FUNC_GET_CURRENT_STREAK, 0, 0, VAR_0x8005 Return _10AF: @@ -1235,13 +1236,13 @@ _10B7: End _10DE: - FrontierScrCmd_67 29, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 FrontierScrCmd_6D 2, VAR_0x8008, VAR_0x8005, VAR_0x8005 GoTo _1110 End _10F7: - FrontierScrCmd_67 29, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 FrontierScrCmd_6D 3, VAR_0x8008, VAR_0x8005, VAR_0x8005 GoTo _1110 End @@ -1275,14 +1276,14 @@ _113E: _115C: FrontierScrCmd_3D VAR_BATTLE_FACTORY_LOBBY_LOAD_ACTION, 2 - FrontierScrCmd_67 10, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_10, 0, 0, VAR_0x8008 Call _137B CloseMessage FadeScreenOut - FrontierScrCmd_67 32, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_32, 0, 0, VAR_0x8008 FreeBattleRecording FrontierScrCmd_5E - FrontierScrCmd_67 7, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_RESET_SYSTEM, 0, 0, VAR_0x8008 End _1191: @@ -1293,7 +1294,7 @@ _1199: Message BattleFactoryScene_Text_RetireQuestion ShowYesNoMenu VAR_0x8008, MENU_NO GoToIfEq VAR_0x8008, 1, _122B - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _11CF Message BattleFactoryScene_Text_ReturnPokemon GoTo _1216 @@ -1321,7 +1322,7 @@ _11FE: End _1216: - FrontierScrCmd_67 21, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_21, 0, 0, VAR_0x8008 FrontierScrCmd_3D VAR_BATTLE_FACTORY_LOBBY_LOAD_ACTION, 3 GoTo _12F3 End @@ -1358,14 +1359,14 @@ _12A2: End _12AA: - FrontierScrCmd_67 21, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_21, 0, 0, VAR_0x8008 FrontierScrCmd_3D VAR_BATTLE_FACTORY_LOBBY_LOAD_ACTION, 3 GoTo _12BF End _12BF: Message BattleFactoryScene_Text_ReturnPokemon - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _12DF GoTo _12F3 End @@ -1385,14 +1386,14 @@ _12F3: End _1303: - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 1, _135E FadeScreenOut - FrontierScrCmd_67 29, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 CallIfEq VAR_0x8008, 2, _1358 - FrontierScrCmd_67 29, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_GET_CHALLENGE_TYPE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 3, _1368 - FrontierScrCmd_67 32, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_32, 0, 0, VAR_0x8008 FreeBattleRecording FrontierScrCmd_5E FrontierScrCmd_02 @@ -1408,7 +1409,7 @@ _135E: Return _1368: - FrontierScrCmd_67 32, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_32, 0, 0, VAR_0x8008 FreeBattleRecording FrontierScrCmd_5E FrontierScrCmd_04 14, 1 @@ -1427,12 +1428,12 @@ _1391: PlaySoundEffect SEQ_SE_DP_KAIDAN2 WaitSoundEffect SEQ_SE_DP_KAIDAN2 FadeScreenOut - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _13EA FrontierScrCmd_25 0 FrontierScrCmd_25 4 FrontierScrCmd_03 3 - FrontierScrCmd_67 31, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_31, 0, 0, VAR_0x8008 GetPlayerObjEventGfx VAR_0x8007 FrontierScrCmd_22 _0008 FrontierScrCmd_24 _0098 @@ -1444,7 +1445,7 @@ _13EA: FrontierScrCmd_25 2 FrontierScrCmd_25 4 FrontierScrCmd_03 3 - FrontierScrCmd_67 31, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_31, 0, 0, VAR_0x8008 GetPlayerObjEventGfx VAR_0x8007 FrontierScrCmd_22 _0014 FrontierScrCmd_24 _00BC @@ -1452,7 +1453,7 @@ _13EA: Return _141F: - FrontierScrCmd_67 28, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_IS_MULTIPLAYER_CHALLENGE, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _1447 ApplyMovement 98, _0278 WaitMovement @@ -1472,20 +1473,20 @@ _1447: Return _1471: - FrontierScrCmd_67 30, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_30, 0, 0, VAR_0x8008 WaitTime 3, VAR_0x8008 - FrontierScrCmd_67 30, 1, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_30, 1, 0, VAR_0x8008 WaitTime 3, VAR_0x8008 - FrontierScrCmd_67 30, 2, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_30, 2, 0, VAR_0x8008 WaitTime 3, VAR_0x8008 - FrontierScrCmd_67 30, 3, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_30, 3, 0, VAR_0x8008 WaitTime 3, VAR_0x8008 - FrontierScrCmd_67 30, 4, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_30, 4, 0, VAR_0x8008 Return _14AE: GoToIfEq VAR_0x8003, 1, _0C52 - FrontierScrCmd_67 41, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_41, 0, 0, VAR_0x8008 GoToIfEq VAR_0x8008, 1, _0C52 Call _1612 BufferNumber 0, VAR_0x8008 @@ -1514,7 +1515,7 @@ _150B: End _1530: - FrontierScrCmd_67 34, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_34, 0, 0, VAR_0x8008 GetRandom VAR_0x8008, 90 AddVar VAR_0x8008, 10 BufferNumber 3, VAR_0x8008 @@ -1569,7 +1570,7 @@ _160A: Return _1612: - FrontierScrCmd_67 4, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_GET_CURRENT_STREAK, 0, 0, VAR_0x8008 GoToIfGe VAR_0x8008, 9999, _162E AddVar VAR_0x8008, 1 Return @@ -1579,7 +1580,7 @@ _162E: _1630: WaitTime 1, VAR_0x8008 - FrontierScrCmd_67 27, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_27, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 195 @@ -1588,7 +1589,7 @@ _1630: _164D: WaitTime 1, VAR_0x8008 - FrontierScrCmd_67 27, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_27, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 196 @@ -1597,7 +1598,7 @@ _164D: _166A: WaitTime 1, VAR_0x8008 - FrontierScrCmd_67 27, 0, 0, VAR_0x8008 + CallBattleFactoryFunction BF_FUNC_UNK_27, 0, 0, VAR_0x8008 WaitTime 1, VAR_0x8008 ClearReceivedTempDataAllPlayers SyncConnectedPlayers 197 diff --git a/res/field/frontier_scripts/frontier_scripts_battle_hall.s b/res/field/frontier_scripts/frontier_scripts_battle_hall.s index ffd00eadf3..2118521ed6 100644 --- a/res/field/frontier_scripts/frontier_scripts_battle_hall.s +++ b/res/field/frontier_scripts/frontier_scripts_battle_hall.s @@ -786,11 +786,11 @@ _08F1: _0907: BattleHall_StartBattle - BattleHall_CheckWonBattle + BattleHall_CleanupBattle CallBattleHallFunction BH_FUNC_UPDATE_HELD_ITEMS, 0, 0, VAR_0x8008 CallBattleHallFunction BH_FUNC_TOGGLE_ENGINE_LAYER, 0, 0, VAR_0x8008 FadeScreenIn - BattleHall_GetBattleResult VAR_0x8008 + BattleHall_CheckWonBattle VAR_0x8008 GoToIfEq VAR_0x8008, 0, _0F5D IncrementRecordValue RECORD_BATTLE_HALL_VICTORIES CallBattleHallFunction BH_FUNC_UNK_28, 0, 0, VAR_0x8008 @@ -851,7 +851,7 @@ _0A41: _0A49: CallBattleHallFunction BH_FUNC_UNK_14, 1, 0, VAR_0x8008 - CallBattleHallFunction BH_FUNC_INCREMENT_CURRENT_STEAK, 0, 0, VAR_0x8008 + CallBattleHallFunction BH_FUNC_INCREMENT_CURRENT_STREAK, 0, 0, VAR_0x8008 CallBattleHallFunction BH_FUNC_UNK_23, 0, 0, VAR_0x8008 GoToIfNe VAR_0x8008, 10, _0B25 GoTo _0A73 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 720841281a..99368dab5a 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 @@ -349,8 +349,8 @@ _046D: Call _04C8 FrontierScrCmd_3F 0 CallBattleTowerFunction BT_FUNC_UNK_59, 0, VAR_0x8008 - FrontierScrCmd_87 - CheckWonTowerBattle VAR_0x800C + BattleTower_StartBattle + BattleTower_CheckWonBattle VAR_0x800C FadeScreenIn Return @@ -573,8 +573,8 @@ _086E: Call _04C8 IncrementRecordValue RECORD_UNK_059 FrontierScrCmd_47 1 - FrontierScrCmd_87 - CheckWonTowerBattle VAR_0x800C + BattleTower_StartBattle + BattleTower_CheckWonBattle 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_multi_battle_room.s b/res/field/frontier_scripts/frontier_scripts_battle_tower_multi_battle_room.s index 6b25683efc..b603ee738e 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 @@ -722,8 +722,8 @@ _0A1B: CloseMessage Call _0A91 FrontierScrCmd_3F 0 - FrontierScrCmd_87 - CheckWonTowerBattle VAR_0x8003 + BattleTower_StartBattle + BattleTower_CheckWonBattle VAR_0x8003 FadeScreenIn Return @@ -772,8 +772,8 @@ _0ACD: SyncConnectedPlayers 4 CloseMessage FrontierScrCmd_3F 0 - FrontierScrCmd_87 - CheckWonTowerBattle VAR_0x8003 + BattleTower_StartBattle + BattleTower_CheckWonBattle VAR_0x8003 FadeScreenIn Return diff --git a/src/applications/frontier/battle_arcade/main.c b/src/applications/frontier/battle_arcade/main.c index 18b59d5598..0eca20f22a 100644 --- a/src/applications/frontier/battle_arcade/main.c +++ b/src/applications/frontier/battle_arcade/main.c @@ -14,7 +14,6 @@ #include "applications/frontier/battle_arcade/sprites.h" #include "applications/frontier/battle_arcade/windows.h" #include "overlay104/ov104_0223BCBC.h" -#include "overlay104/struct_ov104_02238240.h" #include "battle_frontier_stats.h" #include "bg_window.h" @@ -108,7 +107,7 @@ static const struct { [ARCADE_EFFECT_FREEZE_FOE] = { 0, 0, 0, 0, 1, 1, 1 }, [ARCADE_EFFECT_FOE_GET_BERRY] = { 1, 1, 1, 0, 0, 0, 1 }, [ARCADE_EFFECT_FOE_GET_ITEM] = { 0, 0, 0, 1, 1, 1, 1 }, - [ARCADE_EFFECT_FOE_GET_LEVELS] = { 0, 1, 1, 1, 1, 1, 1 }, + [ARCADE_EFFECT_FOE_LEVEL_UP] = { 0, 1, 1, 1, 1, 1, 1 }, [ARCADE_EFFECT_LOWER_ALLY_HP] = { 0, 1, 1, 1, 1, 1, 1 }, [ARCADE_EFFECT_POISON_ALLY] = { 1, 0, 1, 0, 0, 0, 1 }, [ARCADE_EFFECT_PARALYZE_ALLY] = { 1, 0, 1, 0, 0, 0, 1 }, @@ -117,17 +116,17 @@ static const struct { [ARCADE_EFFECT_FREEZE_ALLY] = { 0, 0, 0, 0, 1, 1, 1 }, [ARCADE_EFFECT_ALLY_GET_BERRY] = { 1, 1, 1, 0, 0, 0, 1 }, [ARCADE_EFFECT_ALLY_GET_ITEM] = { 0, 0, 0, 1, 1, 1, 1 }, - [ARCADE_EFFECT_ALLY_GET_LEVELS] = { 0, 1, 1, 1, 1, 1, 1 }, + [ARCADE_EFFECT_ALLY_LEVEL_UP] = { 0, 1, 1, 1, 1, 1, 1 }, [ARCADE_EFFECT_SUNNY_BATTLE] = { 0, 1, 1, 0, 0, 0, 1 }, [ARCADE_EFFECT_RAINY_BATTLE] = { 0, 1, 1, 0, 0, 0, 1 }, [ARCADE_EFFECT_SANDY_BATTLE] = { 0, 1, 1, 0, 0, 0, 1 }, [ARCADE_EFFECT_HAIL_BATTLE] = { 0, 1, 1, 0, 0, 0, 1 }, [ARCADE_EFFECT_FOGGY_BATTLE] = { 0, 0, 0, 1, 0, 1, 1 }, [ARCADE_EFFECT_TRICK_ROOM] = { 0, 0, 0, 1, 0, 1, 1 }, - [ARCADE_EFFECT_SWAP_MONS] = { 1, 1, 1, 1, 1, 1, 1 }, - [ARCADE_EFFECT_SPEED_UP] = { 1, 1, 1, 0, 0, 0, 1 }, - [ARCADE_EFFECT_SLOW_DOWN] = { 1, 1, 1, 1, 1, 1, 1 }, - [ARCADE_EFFECT_RANDOMIZE_CURSOR] = { 0, 0, 0, 0, 1, 1, 1 }, + [ARCADE_EFFECT_SPEED_UP] = { 1, 1, 1, 1, 1, 1, 1 }, + [ARCADE_EFFECT_SLOW_DOWN] = { 1, 1, 1, 0, 0, 0, 1 }, + [ARCADE_EFFECT_RANDOMIZE_CURSOR] = { 1, 1, 1, 1, 1, 1, 1 }, + [ARCADE_EFFECT_SWAP_MONS] = { 0, 0, 0, 0, 1, 1, 1 }, [ARCADE_EFFECT_GET_1_BP] = { 0, 0, 0, 1, 1, 1, 1 }, [ARCADE_EFFECT_NO_BATTLE] = { 0, 0, 0, 0, 1, 1, 1 }, [ARCADE_EFFECT_NO_EVENT] = { 1, 1, 1, 1, 1, 1, 1 }, @@ -144,10 +143,10 @@ static const struct { u8 battle6 : 1; u8 battle7 : 1; } sEffectAvailabilityByBattle[BATTLES_PER_ROUND_ARCADE] = { - { 1, 1, 1, 1, 1, 1, 0 }, // ARCADE_EFFECT_RANDOMIZE_CURSOR { 1, 1, 1, 1, 1, 1, 0 }, // ARCADE_EFFECT_SWAP_MONS { 1, 1, 1, 1, 1, 1, 0 }, // ARCADE_EFFECT_SPEED_UP { 1, 1, 1, 1, 1, 1, 0 }, // ARCADE_EFFECT_SLOW_DOWN + { 1, 1, 1, 1, 1, 1, 0 }, // ARCADE_EFFECT_RANDOMIZE_CURSOR { 1, 0, 1, 0, 1, 0, 0 }, // ARCADE_EFFECT_GET_1_BP { 0, 1, 0, 1, 0, 1, 0 }, // ARCADE_EFFECT_NO_BATTLE { 0, 1, 0, 1, 0, 1, 0 }, // ARCADE_EFFECT_GET_3_BP @@ -294,28 +293,28 @@ BOOL BattleArcadeApp_Init(ApplicationManager *appMan, int *state) app->bgConfig = BgConfig_New(HEAP_ID_BATTLE_ARCADE_APP); app->appMan = appMan; - UnkStruct_ov104_02238240 *v2 = ApplicationManager_Args(appMan); + BattleArcadeAppArgs *args = ApplicationManager_Args(appMan); - app->saveData = v2->saveData; + app->saveData = args->saveData; app->unk_E0 = sub_020304A0(app->saveData); app->unk_E4 = sub_020305B8(app->saveData); - app->challengeType = v2->unk_04; - app->round = v2->unk_1E; - app->battleStreak = v2->unk_1C; - app->partnerBattleStreak = v2->unk_18; - app->unk_12 = v2->unk_07; - app->cursorPosPtr = &v2->unk_38; + app->challengeType = args->challengeType; + app->round = args->round; + app->battleStreak = args->currentStreak; + app->partnerBattleStreak = args->partnersStreak; + app->unk_12 = args->unk_07; + app->cursorPosPtr = &args->cursorPos; app->options = SaveData_GetOptions(app->saveData); - app->party = v2->unk_30; - app->opponentsParty = v2->unk_34; + app->party = args->party; + app->opponentsParty = args->opponentsParty; app->cursorPosID = 0xff; app->frontier = SaveData_GetBattleFrontier(app->saveData); - app->unused6 = v2->unk_08; - app->rouletteSpeed = v2->unk_0C; - app->selectedEffect = v2->unk_10; - app->unk_24 = v2->unk_14; + app->unused6 = args->unk_08; + app->rouletteSpeed = args->rouletteSpeed; + app->selectedEffect = args->selectedEffect; + app->unk_24 = args->unk_14; app->rouletteTimer = 30 * 30; // 30 Seconds at 30FPS - app->randomizeCursorMovement = v2->unk_40; + app->randomizeCursorMovement = args->randomizeCursorMovement; for (int i = 0; i < NUM_ARCADE_EFFECTS; i++) { app->availableEffects[i] = NUM_ARCADE_EFFECTS; @@ -1252,16 +1251,16 @@ static void GetAvailableEffects(BattleArcadeApp *app) u8 effectIndex = 0xff; switch (effect) { - case ARCADE_EFFECT_RANDOMIZE_CURSOR: + case ARCADE_EFFECT_SWAP_MONS: effectIndex = 0; break; - case ARCADE_EFFECT_SWAP_MONS: + case ARCADE_EFFECT_SPEED_UP: effectIndex = 1; break; - case ARCADE_EFFECT_SPEED_UP: + case ARCADE_EFFECT_SLOW_DOWN: effectIndex = 2; break; - case ARCADE_EFFECT_SLOW_DOWN: + case ARCADE_EFFECT_RANDOMIZE_CURSOR: effectIndex = 3; break; case ARCADE_EFFECT_GET_1_BP: diff --git a/src/applications/frontier/battle_castle/opponent_app.c b/src/applications/frontier/battle_castle/opponent_app.c index 8f645cd3ab..776d582057 100644 --- a/src/applications/frontier/battle_castle/opponent_app.c +++ b/src/applications/frontier/battle_castle/opponent_app.c @@ -9,13 +9,13 @@ #include "struct_decls/struct_0203041C_decl.h" #include "struct_defs/battle_frontier.h" +#include "applications/frontier/battle_castle/args.h" #include "applications/frontier/battle_castle/helpers.h" #include "applications/frontier/battle_castle/sprite_manager.h" #include "applications/frontier/battle_castle/sprites.h" #include "applications/frontier/battle_castle/windows.h" #include "overlay104/ov104_0222DCE0.h" #include "overlay104/ov104_0223B6F4.h" -#include "overlay104/struct_ov104_0223597C.h" #include "battle_frontier_stats.h" #include "bg_window.h" @@ -299,21 +299,21 @@ BOOL BattleCastleOpponentApp_Init(ApplicationManager *appMan, int *state) app->bgConfig = BgConfig_New(HEAP_ID_BATTLE_CASTLE_APP); app->appMan = appMan; - UnkStruct_ov104_0223597C *v2 = ApplicationManager_Args(appMan); + BattleCastleAppArgs *args = ApplicationManager_Args(appMan); - app->saveData = v2->saveData; + app->saveData = args->saveData; app->unk_150 = sub_020302DC(app->saveData); app->unk_154 = sub_0203041C(app->saveData); - app->challengeType = v2->unk_04; - app->selectedMonSlotPtr = &v2->unk_20; + app->challengeType = args->challengeType; + app->selectedMonSlotPtr = &args->selectedMonSlot; app->options = SaveData_GetOptions(app->saveData); - app->opponentsParty = v2->unk_1C; - app->identityUnlockedForSlot = &v2->unk_08[0]; - app->levelAdjustmentForSlot = &v2->unk_0C[0]; - app->statsUnlockedForSlot = &v2->unk_10[0]; - app->movesUnlockedForSlot = &v2->unk_14[0]; + app->opponentsParty = args->opponentsParty; + app->identityUnlockedForSlot = &args->identityUnlocked[0]; + app->levelAdjustmentForSlot = &args->levelAdjustmentUnlocked[0]; + app->statsUnlockedForSlot = &args->statsUnlocked[0]; + app->movesUnlockedForSlot = &args->movesUnlocked[0]; app->slotID = 0xff; - app->partnersCP = v2->unk_28; + app->partnersCP = args->partnersCP; app->frontier = SaveData_GetBattleFrontier(app->saveData); for (int i = 0; i < BATTLE_CASTLE_NUM_RANK_TYPES; i++) { diff --git a/src/applications/frontier/battle_castle/self_app.c b/src/applications/frontier/battle_castle/self_app.c index 6d56e21030..a2287d7ead 100644 --- a/src/applications/frontier/battle_castle/self_app.c +++ b/src/applications/frontier/battle_castle/self_app.c @@ -7,13 +7,13 @@ #include "struct_decls/struct_0203041C_decl.h" #include "struct_defs/battle_frontier.h" +#include "applications/frontier/battle_castle/args.h" #include "applications/frontier/battle_castle/helpers.h" #include "applications/frontier/battle_castle/sprite_manager.h" #include "applications/frontier/battle_castle/sprites.h" #include "applications/frontier/battle_castle/windows.h" #include "overlay104/ov104_0222DCE0.h" #include "overlay104/ov104_0223B6F4.h" -#include "overlay104/struct_ov104_0223597C.h" #include "battle_frontier_stats.h" #include "bg_window.h" @@ -505,17 +505,17 @@ BOOL BattleCastleSelfApp_Init(ApplicationManager *appMan, int *state) app->bgConfig = BgConfig_New(HEAP_ID_BATTLE_CASTLE_APP); app->appMan = appMan; - UnkStruct_ov104_0223597C *v2 = ApplicationManager_Args(appMan); + BattleCastleAppArgs *args = ApplicationManager_Args(appMan); - app->saveData = v2->saveData; + app->saveData = args->saveData; app->unk_1D0 = sub_020302DC(app->saveData); app->unk_1D4 = sub_0203041C(app->saveData); - app->challengeType = v2->unk_04; - app->selectedMonSlotPtr = &v2->unk_20; + app->challengeType = args->challengeType; + app->selectedMonSlotPtr = &args->selectedMonSlot; app->options = SaveData_GetOptions(app->saveData); - app->party = v2->unk_18; + app->party = args->party; app->slotID = 0xff; - app->partnersCP = v2->unk_28; + app->partnersCP = args->partnersCP; app->frontier = SaveData_GetBattleFrontier(app->saveData); for (int i = 0; i < BATTLE_CASTLE_NUM_RANK_TYPES; i++) { diff --git a/src/applications/frontier/battle_factory/main.c b/src/applications/frontier/battle_factory/main.c index 90610b63c3..aafc9d3607 100644 --- a/src/applications/frontier/battle_factory/main.c +++ b/src/applications/frontier/battle_factory/main.c @@ -15,7 +15,6 @@ #include "applications/pokemon_summary_screen/main.h" #include "overlay104/ov104_0222DCE0.h" #include "overlay104/ov104_0223A7F4.h" -#include "overlay104/struct_ov104_02234130.h" #include "bg_window.h" #include "communication_information.h" @@ -386,15 +385,15 @@ int BattleFactoryApp_Init(ApplicationManager *appMan, int *state) app->bgConfig = BgConfig_New(HEAP_ID_BATTLE_FACTORY_APP); app->appMan = appMan; - UnkStruct_ov104_02234130 *v2 = ApplicationManager_Args(appMan); + BattleFactoryAppArgs *args = ApplicationManager_Args(appMan); - app->saveData = v2->saveData; - app->challengeType = v2->unk_04; - app->unk_0A = v2->unk_05; - app->isExchangeMode = v2->unk_06; - app->personalParty = v2->unk_08; - app->receivableParty = v2->unk_0C; - app->selectedIndicesFinal = &v2->unk_10[0]; + app->saveData = args->saveData; + app->challengeType = args->challengeType; + app->unk_0A = args->unk_05; + app->isExchangeMode = args->isExchangeMode; + app->personalParty = args->personalParty; + app->receivableParty = args->receivableParty; + app->selectedIndicesFinal = &args->selectedIndices[0]; app->options = SaveData_GetOptions(app->saveData); app->wheelPaletteCounter = 8; diff --git a/src/meson.build b/src/meson.build index e8fc57cc81..ea86472d0e 100644 --- a/src/meson.build +++ b/src/meson.build @@ -925,16 +925,16 @@ pokeplatinum_c = files( 'overlay104/ov104_0222ECE8.c', 'overlay104/frscrcmd.c', 'overlay104/ov104_02231F74.c', - 'overlay104/ov104_022332B4.c', + 'overlay104/frscrcmd_battle_factory.c', 'overlay104/ov104_022339B4.c', 'overlay104/frscrcmd_battle_hall.c', 'overlay104/ov104_02234DB4.c', - 'overlay104/ov104_022358E8.c', + 'overlay104/frscrcmd_battle_castle.c', 'overlay104/ov104_022361B4.c', - 'overlay104/ov104_02237378.c', + 'overlay104/frscrcmd_battle_arcade.c', 'overlay104/ov104_02237DD8.c', 'overlay104/frscrcmd_sound.c', - 'overlay104/ov104_02239130.c', + 'overlay104/frscrcmd_battle_tower.c', 'overlay104/ov104_022394A4.c', 'overlay104/ov104_022395F0.c', 'overlay104/ov104_02239C58.c', diff --git a/src/overlay104/frscrcmd.c b/src/overlay104/frscrcmd.c index b5d8251e41..66fe8fb07e 100644 --- a/src/overlay104/frscrcmd.c +++ b/src/overlay104/frscrcmd.c @@ -24,14 +24,14 @@ #include "overlay104/frontier_particle_system.h" #include "overlay104/frontier_script_context.h" #include "overlay104/frontier_script_manager.h" +#include "overlay104/frscrcmd_battle_arcade.h" +#include "overlay104/frscrcmd_battle_castle.h" +#include "overlay104/frscrcmd_battle_factory.h" #include "overlay104/frscrcmd_battle_hall.h" +#include "overlay104/frscrcmd_battle_tower.h" #include "overlay104/frscrcmd_sound.h" #include "overlay104/ov104_0222DCE0.h" #include "overlay104/ov104_02231F74.h" -#include "overlay104/ov104_022332B4.h" -#include "overlay104/ov104_022358E8.h" -#include "overlay104/ov104_02237378.h" -#include "overlay104/ov104_02239130.h" #include "overlay104/ov104_022395F0.h" #include "overlay104/ov104_0223D768.h" #include "overlay104/ov104_0223D860.h" diff --git a/src/overlay104/frscrcmd_battle_arcade.c b/src/overlay104/frscrcmd_battle_arcade.c new file mode 100644 index 0000000000..f5d3cbad68 --- /dev/null +++ b/src/overlay104/frscrcmd_battle_arcade.c @@ -0,0 +1,623 @@ +#include "overlay104/frscrcmd_battle_arcade.h" + +#include + +#include "constants/battle_arcade_functions.h" +#include "constants/battle_frontier.h" + +#include "applications/frontier/battle_arcade/main.h" +#include "overlay063/ov63_0222CCE4.h" +#include "overlay104/defs.h" +#include "overlay104/frontier_graphics.h" +#include "overlay104/frontier_particle_system.h" +#include "overlay104/frontier_script_context.h" +#include "overlay104/frontier_script_manager.h" +#include "overlay104/frscrcmd.h" +#include "overlay104/ov104_0222DCE0.h" +#include "overlay104/ov104_02231F74.h" +#include "overlay104/ov104_02237DD8.h" +#include "overlay104/ov104_0223B6F4.h" +#include "overlay104/ov104_0223BCBC.h" +#include "overlay104/struct_battle_arcade.h" +#include "overlay104/struct_ov104_02230BE4.h" +#include "overlay104/struct_ov104_0223C634.h" + +#include "communication_information.h" +#include "field_battle_data_transfer.h" +#include "gx_layers.h" +#include "heap.h" +#include "palette.h" +#include "particle_system.h" +#include "party.h" +#include "pokemon.h" +#include "save_player.h" +#include "sprite.h" +#include "string_template.h" +#include "trainer_info.h" +#include "unk_02030494.h" +#include "unk_0209B6F8.h" +#include "unk_0209BA80.h" + +#include "constdata/const_020EA358.h" + +FS_EXTERN_OVERLAY(battle_arcade_app); + +#include + +static BOOL ov104_02237D18(FrontierScriptContext *param0); +static void SetupBattleArcadeAppArgs(BattleArcadeAppArgs *args, BattleArcade *battleArcade); +static void ov104_02237C30(SPLEmitter *param0); +static void ov104_02237C0C(FrontierScriptContext *param0, BattleArcade *param1, u16 param2); +static void StoreBattleArcadeAppResults(void *data); + +BOOL FrontierScrCmd_B8(FrontierScriptContext *param0) +{ + BattleArcade *v0; + UnkStruct_ov104_02230BE4 *v1; + u16 v2 = FrontierScriptContext_GetVar(param0); + u16 v3 = FrontierScriptContext_GetVar(param0); + u16 v4 = FrontierScriptContext_GetVar(param0); + u16 v5 = FrontierScriptContext_GetVar(param0); + u16 v6 = FrontierScriptContext_GetVar(param0); + u16 *v7 = FrontierScriptContext_TryGetVarPointer(param0); + + v1 = sub_0209B970(param0->scriptMan->unk_00); + v0 = ov104_02237DD8(v1->saveData, v2, v3, v4, v5, v6, v7); + + sub_0209B980(param0->scriptMan->unk_00, v0); + return 0; +} + +BOOL FrontierScrCmd_B9(FrontierScriptContext *param0) +{ + BattleArcade *v0; + u16 v1 = FrontierScriptContext_GetVar(param0); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_0223806C(v0, v1); + + return 0; +} + +BOOL FrontierScrCmd_BA(FrontierScriptContext *param0) +{ + BattleArcade *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_02238210(v0); + + return 0; +} + +BOOL FrontierScrCmd_OpenBattleArcadeApp(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(ctx->scriptMan->unk_00); + + FS_EXTERN_OVERLAY(battle_arcade_app); + + static const ApplicationManagerTemplate sBattleArcadeAppTemplate = { + BattleArcadeApp_Init, + BattleArcadeApp_Main, + BattleArcadeApp_Exit, + FS_OVERLAY_ID(battle_arcade_app) + }; + + BattleArcade *battleArcade = sub_0209B978(ctx->scriptMan->unk_00); + BattleArcadeAppArgs *args = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleArcadeAppArgs)); + + MI_CpuClear8(args, sizeof(BattleArcadeAppArgs)); + args->saveData = v3->saveData; + + SetupBattleArcadeAppArgs(args, battleArcade); + sub_0209B988(ctx->scriptMan->unk_00, &sBattleArcadeAppTemplate, args, 0, StoreBattleArcadeAppResults); + + return TRUE; +} + +BOOL FrontierScrCmd_BattleArcade_CleanupBattle(FrontierScriptContext *ctx) +{ + int i, partyIdx1, partyIdx2, numMons, stat; + + BattleArcade *battleArcade = sub_0209B978(ctx->scriptMan->unk_00); + FieldBattleDTO *dto = battleArcade->dto; + + battleArcade->unk_1D = ov104_02238538(battleArcade, dto->parties[0], dto->parties[2], dto->totalTurnsElapsed); + battleArcade->wonBattle = CheckPlayerWonBattle(dto->resultMask); + + if (battleArcade->activeEffect == ARCADE_EFFECT_SWAP_MONS) { + partyIdx1 = BATTLER_ENEMY_1; + partyIdx2 = BATTLER_ENEMY_2; + } else { + partyIdx1 = BATTLER_PLAYER_1; + partyIdx2 = BATTLER_PLAYER_2; + } + + ov104_02239054(dto->parties[partyIdx1], battleArcade->unk_70, 0, 0); + ov104_02239054(dto->parties[partyIdx1], battleArcade->unk_70, 1, 1); + + if (!BattleCastle_IsMultiPlayerChallenge(battleArcade->challengeType)) { + ov104_02239054(dto->parties[partyIdx1], battleArcade->unk_70, 2, 2); + } else { + ov104_02239054(dto->parties[partyIdx2], battleArcade->unk_70, 0, 2); + ov104_02239054(dto->parties[partyIdx2], battleArcade->unk_70, 1, 3); + } + + if (battleArcade->activeEffect == ARCADE_EFFECT_ALLY_LEVEL_UP) { + u8 numMons = BattleArcade_GetPartySize(battleArcade->challengeType, FRONTIER_CHALLENGE_DOUBLE); + + for (i = 0; i < numMons; i++) { + Pokemon *mon = Party_GetPokemonBySlotIndex(battleArcade->unk_70, i); + u32 level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); + level -= 3; + + u32 exp = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL), level); + Pokemon_SetValue(mon, MON_DATA_EXPERIENCE, &exp); + Pokemon_CalcLevelAndStats(mon); + } + } + + numMons = Party_GetCurrentCount(battleArcade->unk_70); + for (i = 0; i < numMons; i++) { + Pokemon *mon = Party_GetPokemonBySlotIndex(battleArcade->unk_70, i); + + stat = battleArcade->monHP[i]; + Pokemon_SetValue(mon, MON_DATA_MAX_HP, &stat); + Pokemon_SetValue(mon, MON_DATA_HP, &stat); + + stat = battleArcade->monAtk[i]; + Pokemon_SetValue(mon, MON_DATA_ATK, &stat); + + stat = battleArcade->monDef[i]; + Pokemon_SetValue(mon, MON_DATA_DEF, &stat); + + stat = battleArcade->monSpeed[i]; + Pokemon_SetValue(mon, MON_DATA_SPEED, &stat); + + stat = battleArcade->monSpAtk[i]; + Pokemon_SetValue(mon, MON_DATA_SP_ATK, &stat); + + stat = battleArcade->monSpDef[i]; + Pokemon_SetValue(mon, MON_DATA_SP_DEF, &stat); + } + + FieldBattleDTO_Free(dto); + return FALSE; +} + +BOOL FrontierScrCmd_BattleArcade_StartBattle(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(ctx->scriptMan->unk_00); + BattleArcade *battleArcade = sub_0209B978(ctx->scriptMan->unk_00); + + FieldBattleDTO *dto = ov104_0223BDD8(battleArcade, v2); + battleArcade->dto = dto; + + sub_0209B988(ctx->scriptMan->unk_00, &gBattleApplicationTemplate, dto, 0, NULL); + return TRUE; +} + +static void SetupBattleArcadeAppArgs(BattleArcadeAppArgs *args, BattleArcade *battleArcade) +{ + args->challengeType = battleArcade->challengeType; + args->round = ov104_0223C124(battleArcade); + args->unk_14 = &battleArcade->unk_20; + args->selectedEffect = &battleArcade->activeEffect; + args->unk_07 = battleArcade->unk_1D; + args->currentStreak = battleArcade->currentStreak; + args->partnersStreak = battleArcade->unk_A78; + args->rouletteSpeed = &battleArcade->unk_1C; + args->party = battleArcade->unk_70; + args->opponentsParty = battleArcade->unk_74; + args->battleArcade = battleArcade; + battleArcade->unk_14 = 0; + args->unk_08 = &battleArcade->unk_14; + args->randomizeCursorMovement = battleArcade->unk_12; + battleArcade->unk_12 = 0; + battleArcade->unk_1F = 0; + + int numMons = Party_GetCurrentCount(battleArcade->unk_70); + for (int i = 0; i < numMons; i++) { + Pokemon *mon = Party_GetPokemonBySlotIndex(battleArcade->unk_70, i); + + battleArcade->monHP[i] = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); + battleArcade->monAtk[i] = Pokemon_GetValue(mon, MON_DATA_ATK, NULL); + battleArcade->monDef[i] = Pokemon_GetValue(mon, MON_DATA_DEF, NULL); + battleArcade->monSpeed[i] = Pokemon_GetValue(mon, MON_DATA_SPEED, NULL); + battleArcade->monSpAtk[i] = Pokemon_GetValue(mon, MON_DATA_SP_ATK, NULL); + battleArcade->monSpDef[i] = Pokemon_GetValue(mon, MON_DATA_SP_DEF, NULL); + } +} + +static void StoreBattleArcadeAppResults(void *data) +{ + BattleArcadeAppArgs *args = data; + + BattleArcade_StoreAppResults(args->battleArcade, data); + Heap_Free(data); +} + +BOOL FrontierScrCmd_BD(FrontierScriptContext *param0) +{ + BattleArcade *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_022384D4(v0); + + return 0; +} + +BOOL FrontierScrCmd_BE(FrontierScriptContext *param0) +{ + BattleArcade *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_022384DC(v0); + + return 0; +} + +BOOL FrontierScrCmd_CallBattleArcadeFunction(FrontierScriptContext *ctx) +{ + Pokemon *v1; + int v11; + u8 command = FrontierScriptContext_ReadByte(ctx); + u8 arg1 = FrontierScriptContext_GetVar(ctx); + u8 arg2 = FrontierScriptContext_GetVar(ctx); + u16 *destVar = FrontierScriptContext_TryGetVarPointer(ctx); + + BattleArcade *battleArcade = sub_0209B978(ctx->scriptMan->unk_00); + UnkStruct_ov104_02230BE4 *v14 = sub_0209B970(ctx->scriptMan->unk_00); + FrontierGraphics *graphics = FrontierScriptManager_GetGraphics(ctx->scriptMan); + + switch (command) { + case BA_FUNC_SET_CHALLENGE_TYPE: + battleArcade->challengeType = arg1; + break; + case BA_FUNC_UNK_3: + *destVar = battleArcade->appCursorPos[arg1]; + break; + case BA_FUNC_UNK_4: + *destVar = battleArcade->currentStreak; + break; + case BA_FUNC_INCREMENT_CURRENT_STREAK: + if (battleArcade->currentStreak < 9999) { + battleArcade->currentStreak++; + } + break; + case BA_FUNC_RESET_SYSTEM: + OS_ResetSystem(0); + break; + case BA_FUNC_UNK_9: + *destVar = sub_020304B0(battleArcade->unk_08); + break; + case BA_FUNC_UNK_10: + ov104_02238278(battleArcade, 2); + break; + case BA_FUNC_UNK_12: + *destVar = ov104_0223C0BC(battleArcade, battleArcade->activeEffect); + break; + case BA_FUNC_UNK_14: + *destVar = ov104_02238454(battleArcade); + break; + case BA_FUNC_UNK_15: + if (arg1 == 0) { + v1 = Party_GetPokemonBySlotIndex(battleArcade->unk_70, 0); + } else { + v1 = Party_GetPokemonBySlotIndex(battleArcade->unk_74, 0); + } + + *destVar = Pokemon_GetValue(v1, MON_DATA_HELD_ITEM, NULL); + break; + case BA_FUNC_UNK_16: + *destVar = battleArcade->activeEffect; + break; + case BA_FUNC_UNK_18: { + Party *v2 = SaveData_GetParty(v14->saveData); + + for (v11 = 0; v11 < 3; v11++) { + v1 = Party_GetPokemonBySlotIndex(v2, battleArcade->unk_2C[v11]); + Pokemon_SetValue(v1, MON_DATA_HELD_ITEM, &battleArcade->unk_412[v11]); + } + } break; + case BA_FUNC_UNK_19: + *destVar = ov104_0223C124(battleArcade); + break; + case BA_FUNC_UNK_20: + *destVar = ov104_02238464(battleArcade, arg1); + break; + case BA_FUNC_UNK_21: + ov104_022384A8(battleArcade); + break; + case BA_FUNC_UNK_22: + ov104_022384B4(battleArcade); + break; + case BA_FUNC_UNK_23: + *destVar = ov104_02238460(battleArcade); + break; + case BA_FUNC_UNK_24: + *destVar = battleArcade->unk_A74; + break; + case BA_FUNC_UNK_25: + if (battleArcade->activeEffect == 27) { + u8 v4 = BattleArcade_GetPartySize(battleArcade->challengeType, 1); + u8 v5 = BattleArcade_GetOpponentPartySize(battleArcade->challengeType, 1); + + { + VecFx32 v21; + VecFx32 v22; + Sprite *v23; + Sprite *v24; + + for (v11 = 0; v11 < v4; v11++) { + v23 = battleArcade->unk_30[v11]->sprite; + v21 = *(Sprite_GetPosition((const Sprite *)v23)); + + v24 = battleArcade->unk_40[v11]->sprite; + v22 = *(Sprite_GetPosition((const Sprite *)v24)); + + Sprite_SetPosition(v23, &v22); + Sprite_SetPosition(v24, &v21); + + v23 = battleArcade->unk_50[v11]->sprite; + v21 = *(Sprite_GetPosition((const Sprite *)v23)); + + v24 = battleArcade->unk_60[v11]->sprite; + v22 = *(Sprite_GetPosition((const Sprite *)v24)); + + Sprite_SetPosition(v23, &v22); + Sprite_SetPosition(v24, &v21); + } + } + } + break; + case BA_FUNC_UNK_6: + sub_0209BA80(battleArcade); + break; + case BA_FUNC_IS_MULTIPLAYER_CHALLENGE: + *destVar = BattleArcade_IsMultiPlayerChallenge(battleArcade->challengeType); + break; + case BA_FUNC_GET_CHALLENGE_TYPE: + *destVar = battleArcade->challengeType; + break; + case BA_FUNC_UNK_29: + ov104_02232EC0(graphics); + break; + case BA_FUNC_UNK_30: + ov104_02232F28(graphics); + break; + case BA_FUNC_UNK_31: + ov104_02238764(battleArcade, graphics, arg1); + + u8 v4 = BattleArcade_GetPartySize(battleArcade->challengeType, 1); + u8 v5 = BattleArcade_GetOpponentPartySize(battleArcade->challengeType, 1); + + if (arg1 == 0) { + for (v11 = 0; v11 < v4; v11++) { + Sprite_SetExplicitPriority(battleArcade->unk_30[v11]->sprite, 2); + } + } else { + for (v11 = 0; v11 < v5; v11++) { + Sprite_SetExplicitPriority(battleArcade->unk_40[v11]->sprite, 2); + } + } + break; + case BA_FUNC_UNK_32: + ov104_02238814(battleArcade, graphics, arg1); + break; + case BA_FUNC_UNK_33: + ov104_02232FEC(graphics); + break; + case BA_FUNC_UNK_34: + ov104_0223307C(graphics); + break; + case BA_FUNC_UNK_35: + ov104_022388DC(battleArcade, graphics, arg1); + break; + case BA_FUNC_UNK_36: + ov104_022389A0(battleArcade, graphics, arg1); + break; + case BA_FUNC_UNK_11: + ov104_02238658(battleArcade, graphics); + break; + case BA_FUNC_UNK_37: + if (BattleArcade_IsMultiPlayerChallenge(battleArcade->challengeType) == 1) { + ov104_02238728(battleArcade, graphics); + } + break; + case BA_FUNC_UNK_38: { + u8 v6 = BattleArcade_GetCategoryFromEffect(battleArcade->activeEffect); + + TrainerInfo *v16; + if (v6 == 0) { + StringTemplate_SetFrontierTrainerName(ctx->scriptMan->strTemplate, arg1, battleArcade->unk_78[ov104_02238498(battleArcade, arg2)]); + } else { + if (BattleArcade_IsMultiPlayerChallenge(battleArcade->challengeType) == 0) { + v16 = SaveData_GetTrainerInfo(v14->saveData); + } else { + v16 = CommInfo_TrainerInfo(arg2); + } + + StringTemplate_SetPlayerName(ctx->scriptMan->strTemplate, arg1, v16); + } + } break; + case BA_FUNC_UNK_39: + battleArcade->unk_A7A = arg2; + ov104_02237C0C(ctx, battleArcade, arg1); + break; + case BA_FUNC_UNK_40: + ov104_0222E278(&(battleArcade->unk_F4[0]), battleArcade->unk_78[battleArcade->unk_11], HEAP_ID_FIELD2, 178); + ov104_0222E278(&(battleArcade->unk_F4[1]), battleArcade->unk_78[battleArcade->unk_11 + 7], HEAP_ID_FIELD2, 178); + break; + case BA_FUNC_UNK_41: + ov104_0223886C(battleArcade, graphics, arg1, arg2); + break; + case BA_FUNC_UNK_42: + ov104_022388A4(battleArcade, graphics, arg1, arg2); + break; + case BA_FUNC_UNK_43: + ov104_02238AB4(arg1, arg2); + break; + case BA_FUNC_UNK_44: + if (arg1 == 0) { + PaletteData_Blend(graphics->plttData, 2, 0, 16 * 16, arg1, 0x0); + } else { + { + u32 v25; + UnkStruct_ov104_0223C634 *v26; + Sprite *v27; + + v26 = ov104_0223D5A8(ctx->scriptMan->unk_00, arg2); + v25 = ov63_0222D050(v26->sprite); + + PaletteData_Blend(graphics->plttData, 2, v25 * 16, 16, arg1, 0x0); + } + } + break; + case BA_FUNC_UNK_45: + *destVar = ov104_02239014(battleArcade); + break; + case BA_FUNC_UNK_46: + GXLayers_EngineAToggleLayers(GX_PLANEMASK_BG2, FALSE); + break; + case BA_FUNC_UNK_47: + *destVar = battleArcade->unk_1F; + break; + case BA_FUNC_UNK_48: + *destVar = 0; + + if (battleArcade->challengeType == 0) { + if ((battleArcade->currentStreak + 1) == 21) { + *destVar = 1; + } else if ((battleArcade->currentStreak + 1) == 49) { + *destVar = 2; + } + } + break; + case BA_FUNC_UNK_49: + ov104_0222E330(battleArcade->unk_330, battleArcade->unk_314, battleArcade->unk_31C, battleArcade->unk_320, NULL, 4, 11, 179); + break; + case BA_FUNC_UNK_50: + ov104_0223C04C(battleArcade); + break; + case BA_FUNC_UNK_51: + *destVar = battleArcade->unk_1E; + battleArcade->unk_1E = 1; + break; + case BA_FUNC_UNK_52: + battleArcade->unk_A7C = 0; + break; + } + + return FALSE; +} + +static void ov104_02237C0C(FrontierScriptContext *param0, BattleArcade *param1, u16 param2) +{ + FrontierScriptManager *v0 = param0->scriptMan; + FrontierGraphics *v1 = FrontierScriptManager_GetGraphics(param0->scriptMan); + ParticleSystem *v2 = FrontierParticleSystem_GetParticleSystem(v1->particleSys, 0); + ParticleSystem_CreateEmitterWithCallback(v2, param2, ov104_02237C30, param1); + + return; +} + +static void ov104_02237C30(SPLEmitter *param0) +{ + VecFx32 v0; + VecFx16 v1; + BattleArcade *v2 = ParticleSystem_GetEmitterCallbackParam(); + const VecFx32 v3[] = { FX32_ONE * -1, 0, 0 }; + + if (v2->unk_A7A == 1) { + ParticleSystem_GetEmitterAxis(param0, &v1); + v1.x *= -1; + + SPLEmitter_SetAxis(param0, &v1); + SPLEmitter_SetPos(param0, v3); + } + + return; +} + +BOOL FrontierScrCmd_BattleArcade_CheckWonBattle(FrontierScriptContext *ctx) +{ + u16 *destVar = FrontierScriptContext_TryGetVarPointer(ctx); + + BattleArcade *battleArcade = sub_0209B978(ctx->scriptMan->unk_00); + *destVar = battleArcade->wonBattle; + + return FALSE; +} + +BOOL FrontierScrCmd_C1(FrontierScriptContext *param0) +{ + BattleArcade *v0; + u16 v1 = FrontierScriptContext_GetVar(param0); + u16 v2 = FrontierScriptContext_GetVar(param0); + u16 *v3 = FrontierScriptContext_TryGetVarPointer(param0); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + *v3 = ov104_02238B40(v0, v1, v2); + + return 1; +} + +BOOL FrontierScrCmd_C2(FrontierScriptContext *param0) +{ + u16 v0 = FrontierScriptContext_ReadHalfWord(param0); + + param0->data[0] = v0; + FrontierScriptContext_Pause(param0, ov104_02237D18); + + return 1; +} + +static BOOL ov104_02237D18(FrontierScriptContext *param0) +{ + BattleArcade *v0; + u16 v1 = FrontierScriptContext_TryGetVar(param0, param0->data[0]); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + + if (v0->unk_A7C >= 2) { + v0->unk_A7C = 0; + return 1; + } + + return 0; +} + +BOOL FrontierScrCmd_C4(FrontierScriptContext *param0) +{ + u16 *v0; + BattleArcade *v1; + UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); + u16 v3 = FrontierScriptContext_ReadByte(param0); + + v1 = sub_0209B978(param0->scriptMan->unk_00); + + if (v1 == NULL) { + return 0; + } + + v0 = v1->unk_F4[v3].trDataDTO.unk_18; + ov104_022330FC(param0, v0); + + return 1; +} + +BOOL FrontierScrCmd_C5(FrontierScriptContext *param0) +{ + BattleArcade *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_02238B88(v0, v0->activeEffect); + + return 1; +} + +BOOL FrontierScrCmd_C6(FrontierScriptContext *param0) +{ + BattleArcade *v0; + FrontierGraphics *v1 = FrontierScriptManager_GetGraphics(param0->scriptMan); + u16 v2 = FrontierScriptContext_GetVar(param0); + u16 v3 = FrontierScriptContext_GetVar(param0); + u16 v4 = FrontierScriptContext_GetVar(param0); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_022389F4(v0, v1, v2, v3, v4); + + return 0; +} diff --git a/src/overlay104/frscrcmd_battle_castle.c b/src/overlay104/frscrcmd_battle_castle.c new file mode 100644 index 0000000000..67cf49d889 --- /dev/null +++ b/src/overlay104/frscrcmd_battle_castle.c @@ -0,0 +1,579 @@ +#include "overlay104/frscrcmd_battle_castle.h" + +#include + +#include "constants/battle_castle_functions.h" + +#include "applications/frontier/battle_castle/args.h" +#include "applications/frontier/battle_castle/opponent_app.h" +#include "applications/frontier/battle_castle/self_app.h" +#include "overlay104/frontier_script_context.h" +#include "overlay104/frontier_script_manager.h" +#include "overlay104/frscrcmd.h" +#include "overlay104/ov104_0222DCE0.h" +#include "overlay104/ov104_02231F74.h" +#include "overlay104/ov104_022361B4.h" +#include "overlay104/ov104_0223B6F4.h" +#include "overlay104/struct_battle_castle.h" +#include "overlay104/struct_ov104_02230BE4.h" + +#include "battle_frontier_stats.h" +#include "communication_system.h" +#include "field_battle_data_transfer.h" +#include "heap.h" +#include "party.h" +#include "pokemon.h" +#include "unk_020302D0.h" +#include "unk_0205DFC4.h" +#include "unk_0209B6F8.h" +#include "unk_0209BA80.h" + +#include "constdata/const_020EA358.h" + +FS_EXTERN_OVERLAY(battle_castle_app); + +#include + +static BOOL ov104_02236008(FrontierScriptContext *param0); +static void SetupBattleCastleAppArgs(BattleCastleAppArgs *args, BattleCastle *battleCastle); +static BOOL ov104_02236058(FrontierScriptContext *param0); +static void StoreBattleCastleAppResult(void *data); + +BOOL FrontierScrCmd_97(FrontierScriptContext *param0) +{ + BattleCastle *v0; + UnkStruct_ov104_02230BE4 *v1; + u16 v2 = FrontierScriptContext_GetVar(param0); + u16 v3 = FrontierScriptContext_GetVar(param0); + u16 v4 = FrontierScriptContext_GetVar(param0); + u16 v5 = FrontierScriptContext_GetVar(param0); + u16 v6 = FrontierScriptContext_GetVar(param0); + u16 *v7 = FrontierScriptContext_TryGetVarPointer(param0); + + v1 = sub_0209B970(param0->scriptMan->unk_00); + v0 = ov104_022361B4(v1->saveData, v2, v3, v4, v5, v6, v7); + + sub_0209B980(param0->scriptMan->unk_00, v0); + + return 0; +} + +BOOL FrontierScrCmd_98(FrontierScriptContext *param0) +{ + BattleCastle *v0; + u16 v1 = FrontierScriptContext_GetVar(param0); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_02236514(v0, v1); + + return 0; +} + +BOOL FrontierScrCmd_99(FrontierScriptContext *param0) +{ + BattleCastle *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_022367AC(v0); + + return 0; +} + +BOOL FrontierScrCmd_OpenBattleCastleSelfApp(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(ctx->scriptMan->unk_00); + + FS_EXTERN_OVERLAY(battle_castle_app); + + static const ApplicationManagerTemplate sBattleCastleSelfAppTemplate = { + BattleCastleSelfApp_Init, + BattleCastleSelfApp_Main, + BattleCastleSelfApp_Exit, + FS_OVERLAY_ID(battle_castle_app) + }; + + BattleCastle *battleCastle = sub_0209B978(ctx->scriptMan->unk_00); + BattleCastleAppArgs *args = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleCastleAppArgs)); + + MI_CpuClear8(args, sizeof(BattleCastleAppArgs)); + args->saveData = v3->saveData; + + SetupBattleCastleAppArgs(args, battleCastle); + sub_0209B988(ctx->scriptMan->unk_00, &sBattleCastleSelfAppTemplate, args, 0, StoreBattleCastleAppResult); + return TRUE; +} + +BOOL FrontierScrCmd_A4(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(ctx->scriptMan->unk_00); + + FS_EXTERN_OVERLAY(battle_castle_app); + + static const ApplicationManagerTemplate sBattleCastleNullTemplate = { + NULL, + NULL, + NULL, + FS_OVERLAY_ID(battle_castle_app) + }; + + BattleCastle *battleCastle = sub_0209B978(ctx->scriptMan->unk_00); + BattleCastleAppArgs *args = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleCastleAppArgs)); + + MI_CpuClear8(args, sizeof(BattleCastleAppArgs)); + args->saveData = v3->saveData; + + SetupBattleCastleAppArgs(args, battleCastle); + sub_0209B988(ctx->scriptMan->unk_00, &sBattleCastleNullTemplate, args, 0, StoreBattleCastleAppResult); + + return TRUE; +} + +BOOL FrontierScrCmd_BattleCastle_CleanupBattle(FrontierScriptContext *ctx) +{ + BattleCastle *battleCastle = sub_0209B978(ctx->scriptMan->unk_00); + FieldBattleDTO *dto = battleCastle->unk_0C; + + Pokemon *mon = Party_GetPokemonBySlotIndex(dto->parties[BATTLER_PLAYER_1], 0); + Party_AddPokemonBySlotIndex(battleCastle->unk_28, 0, mon); + + mon = Party_GetPokemonBySlotIndex(dto->parties[BATTLER_PLAYER_1], 1); + Party_AddPokemonBySlotIndex(battleCastle->unk_28, 1, mon); + + if (!BattleCastle_IsMultiPlayerChallenge(battleCastle->challengeType)) { + mon = Party_GetPokemonBySlotIndex(dto->parties[BATTLER_PLAYER_1], 2); + Party_AddPokemonBySlotIndex(battleCastle->unk_28, 2, mon); + } else { + mon = Party_GetPokemonBySlotIndex(dto->parties[BATTLER_PLAYER_2], 0); + Party_AddPokemonBySlotIndex(battleCastle->unk_28, 2, mon); + + mon = Party_GetPokemonBySlotIndex(dto->parties[BATTLER_PLAYER_2], 1); + Party_AddPokemonBySlotIndex(battleCastle->unk_28, 3, mon); + } + + battleCastle->wonBattle = CheckPlayerWonBattle(dto->resultMask); + FieldBattleDTO_Free(dto); + return FALSE; +} + +BOOL FrontierScrCmd_BattleCastle_StartBattle(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(ctx->scriptMan->unk_00); + BattleCastle *battleCastle = sub_0209B978(ctx->scriptMan->unk_00); + + FieldBattleDTO *dto = ov104_0223B810(battleCastle, v2); + battleCastle->unk_0C = dto; + + sub_0209B988(ctx->scriptMan->unk_00, &gBattleApplicationTemplate, dto, 0, NULL); + return TRUE; +} + +BOOL FrontierScrCmd_OpenBattleCastleOpponentApp(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(ctx->scriptMan->unk_00); + + FS_EXTERN_OVERLAY(battle_castle_app); + + static const ApplicationManagerTemplate sBattleCastleOpponentAppTemplate = { + BattleCastleOpponentApp_Init, + BattleCastleOpponentApp_Main, + BattleCastleOpponentApp_Exit, + FS_OVERLAY_ID(battle_castle_app) + }; + + BattleCastle *battleCastle = sub_0209B978(ctx->scriptMan->unk_00); + BattleCastleAppArgs *args = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleCastleAppArgs)); + + MI_CpuClear8(args, sizeof(BattleCastleAppArgs)); + args->saveData = v3->saveData; + + SetupBattleCastleAppArgs(args, battleCastle); + sub_0209B988(ctx->scriptMan->unk_00, &sBattleCastleOpponentAppTemplate, args, 0, StoreBattleCastleAppResult); + return TRUE; +} + +static void SetupBattleCastleAppArgs(BattleCastleAppArgs *args, BattleCastle *battleCastle) +{ + args->challengeType = battleCastle->challengeType; + args->party = battleCastle->unk_28; + args->opponentsParty = battleCastle->unk_2C; + args->battleCastle = battleCastle; + args->partnersCP = battleCastle->partnersCP; + + for (int i = 0; i < 4; i++) { + args->identityUnlocked[i] = battleCastle->appIdentityUnlocked[i]; + args->levelAdjustmentUnlocked[i] = battleCastle->appLevelAdjustmentsUnlocked[i]; + args->statsUnlocked[i] = battleCastle->appStatsUnlocked[i]; + args->movesUnlocked[i] = battleCastle->appMovesUnlocked[i]; + } +} + +static void StoreBattleCastleAppResult(void *data) +{ + BattleCastleAppArgs *args = data; + BattleCastle_StoreAppResults(args->battleCastle, data); + Heap_Free(data); +} + +BOOL FrontierScrCmd_9E(FrontierScriptContext *param0) +{ + BattleCastle *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_02236BF0(v0); + + return 0; +} + +BOOL FrontierScrCmd_9F(FrontierScriptContext *param0) +{ + BattleCastle *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_02236BF8(v0); + + return 0; +} + +BOOL FrontierScrCmd_CallBattleCastleFunction(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v11; + u8 command = FrontierScriptContext_ReadByte(ctx); + u8 arg1 = FrontierScriptContext_ReadByte(ctx); + u8 arg2 = FrontierScriptContext_ReadByte(ctx); + u16 *returnVar = FrontierScriptContext_TryGetVarPointer(ctx); + + BattleCastle *battleCastle = sub_0209B978(ctx->scriptMan->unk_00); + v11 = sub_0209B970(ctx->scriptMan->unk_00); + + switch (command) { + case BC_FUNC_SET_CHALLENGE_TYPE: + battleCastle->challengeType = arg1; + break; + case BC_FUNC_UNK_3: + *returnVar = battleCastle->unk_380[arg1]; + break; + case BC_FUNC_GET_CURRENT_STREAK: + *returnVar = battleCastle->currentStreak; + break; + case BC_FUNC_INCREMENT_CURRENT_STREAK: + if (battleCastle->currentStreak < 9999) { + battleCastle->currentStreak++; + } + break; + case BC_FUNC_RESET_SYSTEM: + OS_ResetSystem(0); + break; + case BC_FUNC_UNK_9: + *returnVar = sub_020302EC(battleCastle->unk_08); + break; + case BC_FUNC_UNK_10: + ov104_02236848(battleCastle, 2); + break; + case BC_FUNC_UNK_14: + *returnVar = ov104_02236B48(battleCastle); + break; + case BC_FUNC_UNK_15: + *returnVar = battleCastle->unk_288[arg1].species; + break; + case BC_FUNC_UNK_16: + *returnVar = battleCastle->unk_288[arg1].moves[arg2]; + break; + case BC_FUNC_UNK_18: { + Party *v2 = SaveData_GetParty(v11->saveData); + + for (int v8 = 0; v8 < 3; v8++) { + Pokemon *v1 = Party_GetPokemonBySlotIndex(v2, battleCastle->unk_24[v8]); + Pokemon_SetValue(v1, MON_DATA_HELD_ITEM, &battleCastle->unk_36A[v8]); + } + } break; + case BC_FUNC_UNK_19: + *returnVar = ov104_0223BB60(battleCastle); + break; + case BC_FUNC_UNK_20: + *returnVar = ov104_02236B58(battleCastle, arg1); + break; + case BC_FUNC_UNK_21: + ov104_02236B8C(battleCastle); + break; + case BC_FUNC_UNK_22: + ov104_02236BD0(battleCastle); + break; + case BC_FUNC_UNK_23: + *returnVar = ov104_02236B54(battleCastle); + break; + case BC_FUNC_UNK_24: + *returnVar = battleCastle->unk_A10; + break; + case BC_FUNC_UNK_26: + *returnVar = battleCastle->unk_A11; + break; + case BC_FUNC_UNK_27: + *returnVar = ov104_02236D10(battleCastle); + ov104_02236ED8(battleCastle->saveData, battleCastle->challengeType, *returnVar); + break; + case BC_FUNC_UNK_28: + ov104_02236C50(battleCastle); + break; + case BC_FUNC_UNK_29: + sub_0209BA80(battleCastle); + break; + case BC_FUNC_UNK_30: + if (battleCastle->unk_A1B >= 6) { + *returnVar = (battleCastle->unk_A1B - 6); + } else { + *returnVar = battleCastle->unk_A1B; + } + break; + case BC_FUNC_UNK_31: + battleCastle->unk_A1B = 0; + battleCastle->unk_A19 = 0; + battleCastle->unk_A18 = 0; + break; + case BC_FUNC_UNK_32: + battleCastle->unk_A18 = arg1; + break; + case BC_FUNC_UNK_33: { + int v10 = 0; + + if (battleCastle->unk_A1B >= 6) { + if (CommSys_CurNetId() != 0) { + v10 = 1; + } + } else { + if (CommSys_CurNetId() == 0) { + v10 = 1; + } + } + + if (v10 == 1) { + ov104_0223BC2C(SaveData_GetBattleFrontier(v11->saveData), battleCastle->challengeType, 50); + } else { + battleCastle->partnersCP -= 50; + } + } break; + case BC_FUNC_UNK_34: + *returnVar = 0; + + if (BattleCastle_IsMultiPlayerChallenge(battleCastle->challengeType) == 1) { + if (battleCastle->unk_A1B >= 6) { + if (CommSys_CurNetId() == 0) { + *returnVar = 1; + } + } else { + if (CommSys_CurNetId() != 0) { + *returnVar = 1; + } + } + } + break; + case BC_FUNC_IS_MULTIPLAYER_CHALLENGE: + *returnVar = BattleCastle_IsMultiPlayerChallenge(battleCastle->challengeType); + break; + case BC_FUNC_GET_CHALLENGE_TYPE: + *returnVar = battleCastle->challengeType; + break; + case BC_FUNC_UNK_25: + *returnVar = battleCastle->unk_12; + break; + case BC_FUNC_UNK_36: { + FrontierGraphics *v12 = FrontierScriptManager_GetGraphics(ctx->scriptMan); + ov104_0223BB84(v12->bgConfig, battleCastle, 3); + } break; + case BC_FUNC_UNK_37: + ov104_0222E278(&(battleCastle->unk_4C[0]), battleCastle->unk_30[battleCastle->unk_11], HEAP_ID_FIELD2, 178); + ov104_0222E278(&(battleCastle->unk_4C[1]), battleCastle->unk_30[battleCastle->unk_11 + 7], HEAP_ID_FIELD2, 178); + break; + case BC_FUNC_UNK_38: + *returnVar = ov104_02237338(battleCastle); + break; + case BC_FUNC_UNK_39: { + u8 v13[4]; + *returnVar = (u16)sub_02030470(sub_0203041C(v11->saveData), 10, 0, 0, NULL); + v13[0] = 1; + sub_02030430(sub_0203041C(v11->saveData), 10, 0, 0, v13); + } break; + case BC_FUNC_UNK_40: + *returnVar = 0; + + if (battleCastle->challengeType == 0) { + if ((battleCastle->currentStreak + 1) == 21) { + *returnVar = 1; + } else if ((battleCastle->currentStreak + 1) == 49) { + *returnVar = 2; + } + } + break; + case BC_FUNC_UNK_41: + ov104_0222E330(battleCastle->unk_288, battleCastle->unk_26C, battleCastle->unk_274, battleCastle->unk_278, NULL, 4, 11, 179); + break; + case BC_FUNC_UNK_42: + ov104_0223BAB8(battleCastle); + break; + case BC_FUNC_UNK_43: + *returnVar = battleCastle->unk_13; + battleCastle->unk_13 = 1; + break; + case BC_FUNC_UNK_44: + if (battleCastle->challengeType == 3) { + if (arg1 == 0) { + battleCastle->unk_22 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v11->saveData), BattleFrontierStats_GetCastleLatestCPIndex(battleCastle->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(battleCastle->challengeType))); + BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(v11->saveData), BattleFrontierStats_GetCastleLatestCPIndex(battleCastle->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(battleCastle->challengeType)), battleCastle->unk_20); + } else { + BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(v11->saveData), BattleFrontierStats_GetCastleLatestCPIndex(battleCastle->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(battleCastle->challengeType)), battleCastle->unk_22); + } + } + break; + } + + return FALSE; +} + +BOOL FrontierScrCmd_BattleCastle_CheckWonBattle(FrontierScriptContext *ctx) +{ + BattleCastle *battleCastle; + u16 *destVar = FrontierScriptContext_TryGetVarPointer(ctx); + + battleCastle = sub_0209B978(ctx->scriptMan->unk_00); + *destVar = battleCastle->wonBattle; + + return FALSE; +} + +BOOL FrontierScrCmd_A2(FrontierScriptContext *param0) +{ + BattleCastle *v0; + u16 v1 = FrontierScriptContext_GetVar(param0); + u16 v2 = FrontierScriptContext_GetVar(param0); + u16 *v3 = FrontierScriptContext_TryGetVarPointer(param0); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + *v3 = ov104_02236F70(v0, v1, v2); + + return 1; +} + +BOOL FrontierScrCmd_A3(FrontierScriptContext *param0) +{ + u16 v0 = FrontierScriptContext_ReadHalfWord(param0); + + param0->data[0] = v0; + FrontierScriptContext_Pause(param0, ov104_02236008); + + return 1; +} + +static BOOL ov104_02236008(FrontierScriptContext *param0) +{ + BattleCastle *v0; + u16 v1 = FrontierScriptContext_TryGetVar(param0, param0->data[0]); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + + if (v0->unk_A1A >= 2) { + v0->unk_A1A = 0; + return 1; + } + + return 0; +} + +BOOL FrontierScrCmd_A5(FrontierScriptContext *param0) +{ + u16 v0 = FrontierScriptContext_ReadHalfWord(param0); + + param0->data[0] = v0; + FrontierScriptContext_Pause(param0, ov104_02236058); + + return 1; +} + +static BOOL ov104_02236058(FrontierScriptContext *param0) +{ + BattleCastle *v0; + u16 *v1 = FrontierScriptContext_GetVarPointer(param0, param0->data[0]); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + + if (v0->unk_A1B == 0) { + return 0; + } + + v0->unk_A1A = 0; + *v1 = v0->unk_A1B; + + return 1; +} + +BOOL FrontierScrCmd_50(FrontierScriptContext *param0) +{ + BattleCastle *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_02236FC0(param0->scriptMan, v0); + + return 0; +} + +BOOL FrontierScrCmd_51(FrontierScriptContext *param0) +{ + BattleCastle *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_022370E0(param0->scriptMan, v0); + + return 0; +} + +BOOL FrontierScrCmd_52(FrontierScriptContext *param0) +{ + BattleCastle *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_02237180(param0->scriptMan, v0); + + return 0; +} + +BOOL FrontierScrCmd_A6(FrontierScriptContext *param0) +{ + UnkStruct_ov104_02230BE4 *v0; + u16 v1 = FrontierScriptContext_GetVar(param0); + u16 *v2 = FrontierScriptContext_TryGetVarPointer(param0); + + v0 = sub_0209B970(param0->scriptMan->unk_00); + *v2 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v0->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v1), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v1))); + + return 0; +} + +BOOL FrontierScrCmd_A7(FrontierScriptContext *param0) +{ + UnkStruct_ov104_02230BE4 *v0; + u16 v1 = FrontierScriptContext_GetVar(param0); + u16 v2 = FrontierScriptContext_GetVar(param0); + + v0 = sub_0209B970(param0->scriptMan->unk_00); + ov104_0223BC2C(SaveData_GetBattleFrontier(v0->saveData), v1, v2); + + return 0; +} + +BOOL FrontierScrCmd_A8(FrontierScriptContext *param0) +{ + u16 v0; + UnkStruct_ov104_02230BE4 *v1; + u16 v2 = FrontierScriptContext_GetVar(param0); + u16 v3 = FrontierScriptContext_GetVar(param0); + + v1 = sub_0209B970(param0->scriptMan->unk_00); + ov104_02236ED8(v1->saveData, v2, v3); + + return 0; +} + +BOOL FrontierScrCmd_A9(FrontierScriptContext *param0) +{ + u16 *v0; + BattleCastle *v1; + UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); + u16 v3 = FrontierScriptContext_ReadByte(param0); + + v1 = sub_0209B978(param0->scriptMan->unk_00); + + if (v1 == NULL) { + return 0; + } + + v0 = v1->unk_4C[v3].trDataDTO.unk_18; + + ov104_022330FC(param0, v0); + return 1; +} diff --git a/src/overlay104/frscrcmd_battle_factory.c b/src/overlay104/frscrcmd_battle_factory.c new file mode 100644 index 0000000000..6ed95be6eb --- /dev/null +++ b/src/overlay104/frscrcmd_battle_factory.c @@ -0,0 +1,473 @@ +#include "overlay104/frscrcmd_battle_factory.h" + +#include + +#include "constants/battle_factory_functions.h" +#include "constants/heap.h" + +#include "applications/frontier/battle_factory/main.h" +#include "overlay104/frontier_script_context.h" +#include "overlay104/frontier_script_manager.h" +#include "overlay104/frscrcmd.h" +#include "overlay104/ov104_0222DCE0.h" +#include "overlay104/ov104_02231F74.h" +#include "overlay104/ov104_022339B4.h" +#include "overlay104/ov104_0223A7F4.h" +#include "overlay104/struct_battle_factory.h" +#include "overlay104/struct_ov104_02230BE4.h" + +#include "bg_window.h" +#include "field_battle_data_transfer.h" +#include "heap.h" +#include "party.h" +#include "pokemon.h" +#include "string_template.h" +#include "sys_task.h" +#include "sys_task_manager.h" +#include "unk_0202FF4C.h" +#include "unk_0209B6F8.h" +#include "unk_0209BA80.h" + +#include "constdata/const_020EA358.h" + +FS_EXTERN_OVERLAY(battle_factory_app); + +#include + +static BOOL ov104_0223394C(FrontierScriptContext *param0); +static void ov104_022338B4(SysTask *param0, void *param1); +static void StoreBattleFactoryAppResult(void *data); + +BOOL FrontierScrCmd_5C(FrontierScriptContext *param0) +{ + BattleFactory *v0; + UnkStruct_ov104_02230BE4 *v1; + u16 v2 = FrontierScriptContext_GetVar(param0); + u16 v3 = FrontierScriptContext_GetVar(param0); + u16 v4 = FrontierScriptContext_GetVar(param0); + + v1 = sub_0209B970(param0->scriptMan->unk_00); + v0 = ov104_022339B4(v1->saveData, v2, v3, v4); + + sub_0209B980(param0->scriptMan->unk_00, v0); + + return 0; +} + +BOOL FrontierScrCmd_5D(FrontierScriptContext *param0) +{ + BattleFactory *v0; + u16 v1 = FrontierScriptContext_GetVar(param0); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_02233B98(v0, v1); + + return 0; +} + +BOOL FrontierScrCmd_5E(FrontierScriptContext *param0) +{ + BattleFactory *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_022340D0(v0); + + return 0; +} + +BOOL FrontierScrCmd_OpenBattleFactoryAppInitial(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(ctx->scriptMan->unk_00); + + FS_EXTERN_OVERLAY(battle_factory_app); + + static const ApplicationManagerTemplate sBattleFactoryAppTemplate = { + BattleFactoryApp_Init, + BattleFactoryApp_Main, + BattleFactoryApp_Exit, + FS_OVERLAY_ID(battle_factory_app) + }; + + BattleFactory *battleFactory = sub_0209B978(ctx->scriptMan->unk_00); + BattleFactoryAppArgs *args = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleFactoryAppArgs)); + + MI_CpuClear8(args, sizeof(BattleFactoryAppArgs)); + + args->saveData = v3->saveData; + args->challengeType = battleFactory->challengeType; + args->unk_05 = battleFactory->unk_05; + args->isExchangeMode = FALSE; + args->personalParty = battleFactory->unk_4D4; + args->receivableParty = battleFactory->unk_4D8; + args->battleFactory = battleFactory; + + sub_0209B988(ctx->scriptMan->unk_00, &sBattleFactoryAppTemplate, args, 0, StoreBattleFactoryAppResult); + return TRUE; +} + +BOOL FrontierScrCmd_BattleFactory_CleanupBattle(FrontierScriptContext *ctx) +{ + BattleFactory *battleFactory = sub_0209B978(ctx->scriptMan->unk_00); + FieldBattleDTO *dto = battleFactory->unk_4FC; + + battleFactory->wonBattle = CheckPlayerWonBattle(dto->resultMask); + + FieldBattleDTO_Free(dto); + return FALSE; +} + +BOOL FrontierScrCmd_BattleFactory_StartBattle(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(ctx->scriptMan->unk_00); + BattleFactory *battleFactory = sub_0209B978(ctx->scriptMan->unk_00); + + FieldBattleDTO *dto = ov104_0223ABA0(battleFactory, v2); + battleFactory->unk_4FC = dto; + + sub_0209B988(ctx->scriptMan->unk_00, &gBattleApplicationTemplate, dto, 0, NULL); + + return TRUE; +} + +BOOL FrontierScrCmd_OpenBattleFactoryAppForTrade(FrontierScriptContext *ctx) +{ + UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(ctx->scriptMan->unk_00); + + FS_EXTERN_OVERLAY(battle_factory_app); + + static const ApplicationManagerTemplate sBattleFactoryAppTradeTemplate = { + BattleFactoryApp_Init, + BattleFactoryApp_Main, + BattleFactoryApp_Exit, + FS_OVERLAY_ID(battle_factory_app) + }; + + BattleFactory *battleFactory = sub_0209B978(ctx->scriptMan->unk_00); + + for (int i = 0; i < 6; i++) { + battleFactory->unk_4DC[i] = 0; + } + + BattleFactoryAppArgs *args = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleFactoryAppArgs)); + MI_CpuClear8(args, sizeof(BattleFactoryAppArgs)); + + args->saveData = v3->saveData; + args->challengeType = battleFactory->challengeType; + args->unk_05 = battleFactory->unk_05; + args->isExchangeMode = TRUE; + args->personalParty = battleFactory->unk_4D4; + args->receivableParty = battleFactory->unk_4D8; + args->battleFactory = battleFactory; + + sub_0209B988(ctx->scriptMan->unk_00, &sBattleFactoryAppTradeTemplate, args, 0, StoreBattleFactoryAppResult); + return TRUE; +} + +static void StoreBattleFactoryAppResult(void *data) +{ + BattleFactoryAppArgs *args = data; + BattleFactory_GetMonSelectionAppResult(args->battleFactory, data); + Heap_Free(data); +} + +BOOL FrontierScrCmd_63(FrontierScriptContext *param0) +{ + BattleFactory *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_0223449C(v0); + + return 0; +} + +BOOL FrontierScrCmd_64(FrontierScriptContext *param0) +{ + BattleFactory *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_02234570(v0); + + return 0; +} + +BOOL FrontierScrCmd_65(FrontierScriptContext *param0) +{ + BattleFactory *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_022346A4(v0); + + return 0; +} + +BOOL FrontierScrCmd_66(FrontierScriptContext *param0) +{ + BattleFactory *v0 = sub_0209B978(param0->scriptMan->unk_00); + ov104_0223470C(v0); + + return 0; +} + +BOOL FrontierScrCmd_CallBattleFactoryFunction(FrontierScriptContext *ctx) +{ + int i; + u8 command = FrontierScriptContext_ReadByte(ctx); + u8 arg1 = FrontierScriptContext_ReadByte(ctx); + u8 arg2 = FrontierScriptContext_ReadByte(ctx); + u16 *returnVar = FrontierScriptContext_TryGetVarPointer(ctx); + + BattleFactory *battleFactory = sub_0209B978(ctx->scriptMan->unk_00); + FrontierGraphics *graphics = FrontierScriptManager_GetGraphics(ctx->scriptMan); + + switch (command) { + case BF_FUNC_UNK_0: + battleFactory->unk_07 = arg1; + break; + case BF_FUNC_UNK_1: + battleFactory->unk_05 = arg1; + break; + case BF_FUNC_SET_CHALLENGE_TYPE: + battleFactory->challengeType = arg1; + break; + case BF_FUNC_UNK_3: + *returnVar = battleFactory->unk_4DC[arg1]; + break; + case BF_FUNC_GET_CURRENT_STREAK: + *returnVar = battleFactory->currentStreak; + break; + case BF_FUNC_INCREMENT_CURRENT_STREAK: + if (battleFactory->currentStreak < 9999) { + battleFactory->currentStreak++; + } + break; + case BF_FUNC_RESET_SYSTEM: + OS_ResetSystem(0); + break; + case BF_FUNC_UNK_9: + *returnVar = sub_0202FF68(battleFactory->unk_4F4); + break; + case BF_FUNC_UNK_10: + ov104_02234148(battleFactory, 2); + break; + case BF_FUNC_UNK_14: + *returnVar = ov104_02234430(battleFactory); + break; + case BF_FUNC_UNK_15: + *returnVar = battleFactory->unk_3F0[arg1].species; + break; + case BF_FUNC_UNK_16: + *returnVar = battleFactory->unk_3F0[arg1].moves[arg2]; + break; + case BF_FUNC_UNK_17: { + Pokemon *v3 = Pokemon_New(HEAP_ID_FIELD2); + ov104_0222DF40(&battleFactory->unk_3F0[arg1], v3, ov104_0223ADA0(battleFactory)); + *returnVar = Pokemon_GetValue(v3, MON_DATA_TYPE_1, NULL); + Heap_Free(v3); + } break; + case BF_FUNC_UNK_18: { + int v0[18]; + u8 v5 = ov104_0223AA74(battleFactory->challengeType, 1); + + for (i = 0; i < (17 + 1); i++) { + v0[i] = 0; + } + + Pokemon *v3 = Pokemon_New(HEAP_ID_FIELD2); + + for (i = 0; i < v5; i++) { + ov104_0222DF40(&battleFactory->unk_3F0[i], v3, ov104_0223ADA0(battleFactory)); + + u32 v7 = Pokemon_GetValue(v3, MON_DATA_TYPE_1, NULL); + u32 v8 = Pokemon_GetValue(v3, MON_DATA_TYPE_2, NULL); + + if (v7 == v8) { + v8 = 0xff; + } + + v0[v7]++; + + if (v8 != 0xff) { + v0[v8]++; + } + } + + Heap_Free(v3); + + u32 v9 = 0; + + for (i = 0; i < (17 + 1); i++) { + if (v0[v9] < v0[i]) { + v9 = i; + } + } + + if (v0[v9] <= 1) { + *returnVar = 0xff; + } else { + *returnVar = v9; + } + } break; + case BF_FUNC_UNK_19: + *returnVar = ov104_0223AF34(battleFactory); + break; + case BF_FUNC_UNK_20: + *returnVar = ov104_02234440(battleFactory, arg1); + break; + case BF_FUNC_UNK_21: + ov104_02234474(battleFactory); + break; + case BF_FUNC_UNK_22: + ov104_02234480(battleFactory); + break; + case BF_FUNC_UNK_23: + *returnVar = ov104_0223443C(battleFactory); + break; + case BF_FUNC_UNK_24: + *returnVar = battleFactory->unk_57C; + break; + case BF_FUNC_UNK_26: + *returnVar = battleFactory->unk_57D; + break; + case BF_FUNC_UNK_27: + sub_0209BA80(battleFactory); + break; + case BF_FUNC_IS_MULTIPLAYER_CHALLENGE: + *returnVar = BattleFactory_IsMultiplayerChallenge(battleFactory->challengeType); + break; + case BF_FUNC_GET_CHALLENGE_TYPE: + *returnVar = battleFactory->challengeType; + break; + case BF_FUNC_UNK_30: + Bg_ChangeTilemapRectPalette(graphics->bgConfig, 3, 3, 10, 26, 11, arg1); + Bg_ScheduleTilemapTransfer(graphics->bgConfig, 3); + break; + case BF_FUNC_UNK_31: + battleFactory->unk_500 = SysTask_Start(ov104_022338B4, FrontierScriptManager_GetGraphics(ctx->scriptMan), 5); + break; + case BF_FUNC_UNK_32: + if (battleFactory->unk_500 != NULL) { + SysTask_Done(battleFactory->unk_500); + battleFactory->unk_500 = NULL; + } + break; + case BF_FUNC_UNK_33: + ov104_0222E278(&(battleFactory->unk_34[0]), battleFactory->unk_18[battleFactory->unk_06], HEAP_ID_FIELD2, 178); + ov104_0222E278(&(battleFactory->unk_34[1]), battleFactory->unk_18[battleFactory->unk_06 + 7], HEAP_ID_FIELD2, 178); + break; + case BF_FUNC_UNK_34: { + u8 v6 = BattleFactory_GetPartySize(battleFactory->challengeType); + + for (i = 0; i < v6; i++) { + Pokemon *v3 = Party_GetPokemonBySlotIndex(battleFactory->unk_4D4, i); + StringTemplate_SetSpeciesName(ctx->scriptMan->strTemplate, i, Pokemon_GetBoxPokemon(v3)); + } + } break; + case BF_FUNC_UNK_35: + *returnVar = ov104_022347F8(battleFactory); + break; + case BF_FUNC_UNK_36: + ov104_02234790(battleFactory); + break; + case BF_FUNC_UNK_37: + *returnVar = 0; + + if (battleFactory->challengeType == 0) { + if ((battleFactory->currentStreak + 1) == 21) { + *returnVar = 1; + } else if ((battleFactory->currentStreak + 1) == 49) { + *returnVar = 2; + } + } + break; + case BF_FUNC_UNK_38: + ov104_0223AE30(battleFactory); + break; + case BF_FUNC_UNK_39: + ov104_0222E330(battleFactory->unk_3F0, battleFactory->unk_3D2, battleFactory->unk_3DA, battleFactory->unk_3E0, NULL, 4, 11, 179); + break; + case BF_FUNC_UNK_40: + ov104_0223ADB0(battleFactory); + break; + case BF_FUNC_UNK_41: + *returnVar = battleFactory->unk_0B; + battleFactory->unk_0B = 1; + break; + } + + return FALSE; +} + +void ov104_022338B4(SysTask *param0, void *param1) +{ + int v0; + FrontierGraphics *v1 = param1; + + v0 = Bg_GetYOffset(v1->bgConfig, 2); + + if (v0 >= 255) { + Bg_ScheduleScroll(v1->bgConfig, 2, 3, 0); + } else { + Bg_ScheduleScroll(v1->bgConfig, 2, 4, 1); + } + + return; +} + +BOOL FrontierScrCmd_BattleFactory_CheckWonBattle(FrontierScriptContext *ctx) +{ + u16 *destVar = FrontierScriptContext_TryGetVarPointer(ctx); + + BattleFactory *battleFactory = sub_0209B978(ctx->scriptMan->unk_00); + *destVar = battleFactory->wonBattle; + + return FALSE; +} + +BOOL FrontierScrCmd_69(FrontierScriptContext *param0) +{ + BattleFactory *v0; + u16 v1 = FrontierScriptContext_GetVar(param0); + u16 v2 = FrontierScriptContext_GetVar(param0); + u16 *v3 = FrontierScriptContext_TryGetVarPointer(param0); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + *v3 = ov104_022347A4(v0, v1, v2); + + return 1; +} + +BOOL FrontierScrCmd_6A(FrontierScriptContext *param0) +{ + u16 v0 = FrontierScriptContext_ReadHalfWord(param0); + + param0->data[0] = v0; + FrontierScriptContext_Pause(param0, ov104_0223394C); + + return 1; +} + +static BOOL ov104_0223394C(FrontierScriptContext *param0) +{ + BattleFactory *v0; + u16 v1 = FrontierScriptContext_TryGetVar(param0, param0->data[0]); + + v0 = sub_0209B978(param0->scriptMan->unk_00); + + if (v0->unk_702 >= 2) { + v0->unk_702 = 0; + return 1; + } + + return 0; +} + +BOOL FrontierScrCmd_6B(FrontierScriptContext *param0) +{ + u16 *v0; + BattleFactory *v1; + UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); + u16 v3 = FrontierScriptContext_ReadByte(param0); + + v1 = sub_0209B978(param0->scriptMan->unk_00); + + if (v1 == NULL) { + return 0; + } + + v0 = v1->unk_34[v3].trDataDTO.unk_18; + + ov104_022330FC(param0, v0); + return 1; +} diff --git a/src/overlay104/frscrcmd_battle_hall.c b/src/overlay104/frscrcmd_battle_hall.c index 9be8d3f0ff..d0142e5406 100644 --- a/src/overlay104/frscrcmd_battle_hall.c +++ b/src/overlay104/frscrcmd_battle_hall.c @@ -120,7 +120,7 @@ BOOL FrontierScrCmd_OpenBattleHallApp(FrontierScriptContext *ctx) return TRUE; } -BOOL FrontierScrCmd_BattleHall_CheckWonBattle(FrontierScriptContext *ctx) +BOOL FrontierScrCmd_BattleHall_CleanupBattle(FrontierScriptContext *ctx) { BattleHall *battleHall = sub_0209B978(ctx->scriptMan->unk_00); FieldBattleDTO *dto = battleHall->unk_700; @@ -174,7 +174,7 @@ BOOL FrontierScrCmd_CallBattleHallFunction(FrontierScriptContext *ctx) case BH_FUNC_GET_CURRENT_STREAK: *returnVar = battleHall->currentStreak; break; - case BH_FUNC_INCREMENT_CURRENT_STEAK: + case BH_FUNC_INCREMENT_CURRENT_STREAK: if (battleHall->currentStreak < 9999) { battleHall->currentStreak++; } @@ -284,11 +284,11 @@ BOOL FrontierScrCmd_CallBattleHallFunction(FrontierScriptContext *ctx) return FALSE; } -BOOL FrontierScrCmd_BattleHall_GetBattleResult(FrontierScriptContext *param0) +BOOL FrontierScrCmd_BattleHall_CheckWonBattle(FrontierScriptContext *ctx) { - u16 *destVar = FrontierScriptContext_TryGetVarPointer(param0); + u16 *destVar = FrontierScriptContext_TryGetVarPointer(ctx); - BattleHall *battleHall = sub_0209B978(param0->scriptMan->unk_00); + BattleHall *battleHall = sub_0209B978(ctx->scriptMan->unk_00); *destVar = battleHall->wonBattle; return FALSE; diff --git a/src/overlay104/ov104_02239130.c b/src/overlay104/frscrcmd_battle_tower.c similarity index 88% rename from src/overlay104/ov104_02239130.c rename to src/overlay104/frscrcmd_battle_tower.c index 2788e8d49f..81354c615d 100644 --- a/src/overlay104/ov104_02239130.c +++ b/src/overlay104/frscrcmd_battle_tower.c @@ -1,9 +1,10 @@ +#include "overlay104/frscrcmd_battle_tower.h" + #include #include -#include #include "constants/battle_tower.h" -#include "generated/battle_tower_functions.h" +#include "constants/battle_tower_functions.h" #include "generated/battle_tower_modes.h" #include "generated/game_records.h" #include "generated/object_events_gfx.h" @@ -23,7 +24,6 @@ #include "communication_system.h" #include "field_battle_data_transfer.h" #include "game_records.h" -#include "pokemon.h" #include "savedata.h" #include "sound.h" #include "tv_segment.h" @@ -39,8 +39,6 @@ static BOOL ov104_02239464(FrontierScriptContext *param0, BattleTower *battleTow BOOL FrontierScrCmd_CallBattleTowerFunction(FrontierScriptContext *ctx) { - TVBroadcast *broadcast; - BattleTower *battleTower; u16 functionIndex, functionArgument; u16 *destVar; UnkStruct_ov104_02230BE4 *v8 = sub_0209B970(ctx->scriptMan->unk_00); @@ -48,7 +46,7 @@ BOOL FrontierScrCmd_CallBattleTowerFunction(FrontierScriptContext *ctx) functionIndex = FrontierScriptContext_ReadHalfWord(ctx); functionArgument = FrontierScriptContext_GetVar(ctx); destVar = FrontierScriptContext_TryGetVarPointer(ctx); - battleTower = sub_0209B978(ctx->scriptMan->unk_00); + BattleTower *battleTower = sub_0209B978(ctx->scriptMan->unk_00); switch (functionIndex) { case BT_FUNC_RESET_SYSTEM: @@ -56,7 +54,7 @@ BOOL FrontierScrCmd_CallBattleTowerFunction(FrontierScriptContext *ctx) break; case BT_FUNC_UNK_46: *destVar = BattleTower_GiveBattlePointsReward(battleTower); - broadcast = SaveData_GetTVBroadcast(v8->saveData); + TVBroadcast *broadcast = SaveData_GetTVBroadcast(v8->saveData); sub_0206D0C8(broadcast, *destVar); GameRecords_AddToRecordValue(SaveData_GetGameRecords(v8->saveData), RECORD_BATTLE_POINTS_RECEIVED, *destVar); break; @@ -170,39 +168,36 @@ BOOL FrontierScrCmd_85(FrontierScriptContext *param0) return 1; } -BOOL FrontierScrCmd_FreeTowerStruct(FrontierScriptContext *param0) +BOOL FrontierScrCmd_FreeTowerStruct(FrontierScriptContext *ctx) { - BattleTower *battleTower = sub_0209B978(param0->scriptMan->unk_00); + BattleTower *battleTower = sub_0209B978(ctx->scriptMan->unk_00); BattleTower_Free(battleTower); return FALSE; } -BOOL FrontierScrCmd_87(FrontierScriptContext *param0) +BOOL FrontierScrCmd_BattleTower_StartBattle(FrontierScriptContext *ctx) { - FieldBattleDTO *v0; - BattleTower *battleTower; - UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); + UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(ctx->scriptMan->unk_00); + BattleTower *battleTower = sub_0209B978(ctx->scriptMan->unk_00); - battleTower = sub_0209B978(param0->scriptMan->unk_00); - v0 = ov104_0223A580(battleTower, v2); - - battleTower->unk_8D0 = v0; + FieldBattleDTO *dto = ov104_0223A580(battleTower, v2); + battleTower->unk_8D0 = dto; Sound_SetSceneAndPlayBGM(SOUND_SCENE_BATTLE, SEQ_BATTLE_TRAINER, 1); - sub_0209B988(param0->scriptMan->unk_00, &gBattleApplicationTemplate, v0, 0, NULL); + sub_0209B988(ctx->scriptMan->unk_00, &gBattleApplicationTemplate, dto, 0, NULL); - return 1; + return TRUE; } -BOOL FrontierScrCmd_CheckWonTowerBattle(FrontierScriptContext *ctx) +BOOL FrontierScrCmd_BattleTower_CheckWonBattle(FrontierScriptContext *ctx) { BattleTower *battleTower = sub_0209B978(ctx->scriptMan->unk_00); u16 *destVar = FrontierScriptContext_TryGetVarPointer(ctx); FieldBattleDTO *dto = battleTower->unk_8D0; - battleTower->unk_8CC = CheckPlayerWonBattle(dto->resultMask); - *destVar = battleTower->unk_8CC; + battleTower->wonBattle = CheckPlayerWonBattle(dto->resultMask); + *destVar = battleTower->wonBattle; FieldBattleDTO_Free(dto); return FALSE; diff --git a/src/overlay104/ov104_0222ECE8.c b/src/overlay104/ov104_0222ECE8.c index cc7f0f71f1..8c0ffdc1d5 100644 --- a/src/overlay104/ov104_0222ECE8.c +++ b/src/overlay104/ov104_0222ECE8.c @@ -9,10 +9,10 @@ #include "overlay104/ov104_0223A7F4.h" #include "overlay104/ov104_0223B6F4.h" #include "overlay104/ov104_0223BCBC.h" +#include "overlay104/struct_battle_arcade.h" +#include "overlay104/struct_battle_castle.h" +#include "overlay104/struct_battle_factory.h" #include "overlay104/struct_battle_hall.h" -#include "overlay104/struct_ov104_0223ADA0.h" -#include "overlay104/struct_ov104_0223BA10.h" -#include "overlay104/struct_ov104_0223BFFC.h" #include "battle_frontier_stats.h" #include "communication_system.h" @@ -25,19 +25,19 @@ #include "unk_02030494.h" #include "unk_0205DFC4.h" -BOOL ov104_0222EEF8(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222EEF8(BattleFactory *param0); void ov104_0222EF30(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222EF64(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222EF64(BattleFactory *param0); void ov104_0222EF94(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222EFCC(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222EFCC(BattleFactory *param0); void ov104_0222F03C(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F0B4(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222F0B4(BattleFactory *param0); void ov104_0222F124(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F1A0(UnkStruct_ov104_0223ADA0 *param0, u8 param1); +BOOL ov104_0222F1A0(BattleFactory *param0, u8 param1); void ov104_0222F1C4(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F1EC(UnkStruct_ov104_0223ADA0 *param0, u8 param1); +BOOL ov104_0222F1EC(BattleFactory *param0, u8 param1); void ov104_0222F210(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F238(UnkStruct_ov104_0223ADA0 *param0); +BOOL ov104_0222F238(BattleFactory *param0); void ov104_0222F31C(int param0, int param1, void *param2, void *param3); void ov104_0222ECE8(int param0, int param1, void *param2, void *param3); BOOL ov104_0222ED00(BattleHall *param0); @@ -51,32 +51,32 @@ void ov104_0222EE38(int param0, int param1, void *param2, void *param3); BOOL ov104_0222EE60(BattleHall *param0); void ov104_0222EEA8(int param0, int param1, void *param2, void *param3); u8 *ov104_0222EED8(int param0, void *param1, int param2); -BOOL ov104_0222F3B8(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F3B8(BattleCastle *param0); void ov104_0222F418(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F44C(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F44C(BattleCastle *param0); void ov104_0222F480(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F4B8(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F4B8(BattleCastle *param0); void ov104_0222F530(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F5D4(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F5D4(BattleCastle *param0); void ov104_0222F650(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F6C8(UnkStruct_ov104_0223BA10 *param0, u16 param1); +BOOL ov104_0222F6C8(BattleCastle *param0, u16 param1); void ov104_0222F6E8(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F710(UnkStruct_ov104_0223BA10 *param0, u16 param1); +BOOL ov104_0222F710(BattleCastle *param0, u16 param1); void ov104_0222F730(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F758(UnkStruct_ov104_0223BA10 *param0); +BOOL ov104_0222F758(BattleCastle *param0); void ov104_0222F7BC(int param0, int param1, void *param2, void *param3); u8 *ov104_0222F84C(int param0, void *param1, int param2); -BOOL ov104_0222F86C(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_0222F86C(BattleArcade *param0); void ov104_0222F8A0(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F8D0(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_0222F8D0(BattleArcade *param0); void ov104_0222F908(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222F944(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_0222F944(BattleArcade *param0); void ov104_0222F9C0(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222FA38(UnkStruct_ov104_0223BFFC *param0, u16 param1); +BOOL ov104_0222FA38(BattleArcade *param0, u16 param1); void ov104_0222FA5C(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222FA84(UnkStruct_ov104_0223BFFC *param0, u16 param1); +BOOL ov104_0222FA84(BattleArcade *param0, u16 param1); void ov104_0222FAA8(int param0, int param1, void *param2, void *param3); -BOOL ov104_0222FAD0(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_0222FAD0(BattleArcade *param0); void ov104_0222FB34(int param0, int param1, void *param2, void *param3); u8 *ov104_0222FBC4(int param0, void *param1, int param2); @@ -318,7 +318,7 @@ u8 *ov104_0222EED8(int param0, void *param1, int param2) return v0->unk_984[param0]; } -BOOL ov104_0222EEF8(UnkStruct_ov104_0223ADA0 *param0) +BOOL ov104_0222EEF8(BattleFactory *param0) { int v0, v1; TrainerInfo *v2; @@ -329,7 +329,7 @@ BOOL ov104_0222EEF8(UnkStruct_ov104_0223ADA0 *param0) v2 = SaveData_GetTrainerInfo(param0->saveData); v3[1] = param0->unk_08; - v3[2] = param0->unk_0C; + v3[2] = param0->currentStreak; v3[3] = param0->unk_0E; v1 += 4; @@ -347,7 +347,7 @@ BOOL ov104_0222EEF8(UnkStruct_ov104_0223ADA0 *param0) void ov104_0222EF30(int param0, int param1, void *param2, void *param3) { int v0, v1; - UnkStruct_ov104_0223ADA0 *v2 = param3; + BattleFactory *v2 = param3; const u16 *v3 = param2; v1 = 0; @@ -367,7 +367,7 @@ void ov104_0222EF30(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222EF64(UnkStruct_ov104_0223ADA0 *param0) +BOOL ov104_0222EF64(BattleFactory *param0) { int v0, v1; u16 *v2; @@ -393,7 +393,7 @@ BOOL ov104_0222EF64(UnkStruct_ov104_0223ADA0 *param0) void ov104_0222EF94(int param0, int param1, void *param2, void *param3) { int v0, v1; - UnkStruct_ov104_0223ADA0 *v2 = param3; + BattleFactory *v2 = param3; const u16 *v3 = param2; v1 = 0; @@ -416,7 +416,7 @@ void ov104_0222EF94(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222EFCC(UnkStruct_ov104_0223ADA0 *param0) +BOOL ov104_0222EFCC(BattleFactory *param0) { int v0, v1; u16 *v2; @@ -456,7 +456,7 @@ void ov104_0222F03C(int param0, int param1, void *param2, void *param3) { int v0, v1; Pokemon *v2; - UnkStruct_ov104_0223ADA0 *v3 = param3; + BattleFactory *v3 = param3; const u16 *v4 = param2; v1 = 0; @@ -492,7 +492,7 @@ void ov104_0222F03C(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F0B4(UnkStruct_ov104_0223ADA0 *param0) +BOOL ov104_0222F0B4(BattleFactory *param0) { int v0, v1; u16 *v2; @@ -531,7 +531,7 @@ BOOL ov104_0222F0B4(UnkStruct_ov104_0223ADA0 *param0) void ov104_0222F124(int param0, int param1, void *param2, void *param3) { int v0, v1; - UnkStruct_ov104_0223ADA0 *v2 = param3; + BattleFactory *v2 = param3; const u16 *v3 = param2; v1 = 0; @@ -567,7 +567,7 @@ void ov104_0222F124(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F1A0(UnkStruct_ov104_0223ADA0 *param0, u8 param1) +BOOL ov104_0222F1A0(BattleFactory *param0, u8 param1) { u16 *v0; int v1, v2 = 60; @@ -586,7 +586,7 @@ BOOL ov104_0222F1A0(UnkStruct_ov104_0223ADA0 *param0, u8 param1) void ov104_0222F1C4(int param0, int param1, void *param2, void *param3) { - UnkStruct_ov104_0223ADA0 *v0 = param3; + BattleFactory *v0 = param3; const u16 *v1 = param2; v0->unk_702++; @@ -600,7 +600,7 @@ void ov104_0222F1C4(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F1EC(UnkStruct_ov104_0223ADA0 *param0, u8 param1) +BOOL ov104_0222F1EC(BattleFactory *param0, u8 param1) { u16 *v0; int v1, v2 = 60; @@ -619,7 +619,7 @@ BOOL ov104_0222F1EC(UnkStruct_ov104_0223ADA0 *param0, u8 param1) void ov104_0222F210(int param0, int param1, void *param2, void *param3) { - UnkStruct_ov104_0223ADA0 *v0 = param3; + BattleFactory *v0 = param3; const u16 *v1 = param2; v0->unk_702++; @@ -632,7 +632,7 @@ void ov104_0222F210(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F238(UnkStruct_ov104_0223ADA0 *param0) +BOOL ov104_0222F238(BattleFactory *param0) { u8 v0; int v1, v2; @@ -645,7 +645,7 @@ BOOL ov104_0222F238(UnkStruct_ov104_0223ADA0 *param0) v5 = 60; v3 = param0->unk_504; v2 = 0; - v0 = BattleFactory_GetPartySize(param0->unk_04); + v0 = BattleFactory_GetPartySize(param0->challengeType); for (v1 = 0; v1 < v0; v1++) { v8 = Party_GetPokemonBySlotIndex(param0->unk_4D4, v1); @@ -688,7 +688,7 @@ void ov104_0222F31C(int param0, int param1, void *param2, void *param3) u32 v3[2]; u8 v4[2]; Pokemon *v5; - UnkStruct_ov104_0223ADA0 *v6 = param3; + BattleFactory *v6 = param3; const u16 *v7 = param2; v1 = 0; @@ -698,7 +698,7 @@ void ov104_0222F31C(int param0, int param1, void *param2, void *param3) return; } - v2 = BattleFactory_GetPartySize(v6->unk_04); + v2 = BattleFactory_GetPartySize(v6->challengeType); for (v0 = 0; v0 < v2; v0++) { v6->unk_584[v0] = v7[v0]; @@ -722,20 +722,20 @@ void ov104_0222F31C(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F3B8(UnkStruct_ov104_0223BA10 *param0) +BOOL ov104_0222F3B8(BattleCastle *param0) { int v0, v1, v2, v3; UnkStruct_0203041C *v4 = sub_0203041C(param0->saveData); v3 = 40; v1 = 0; - param0->unk_3C0[1] = param0->unk_14; + param0->unk_3C0[1] = param0->currentStreak; param0->unk_3C0[2] = param0->unk_16; v1 += 3; v1 += (7 + 1); - param0->unk_3C0[v1] = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(param0->saveData), BattleFrontierStats_GetCastleLatestCPIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param0->unk_10))); + param0->unk_3C0[v1] = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(param0->saveData), BattleFrontierStats_GetCastleLatestCPIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param0->challengeType))); v1 += 1; if (CommSys_SendData(42, param0->unk_3C0, v3) == 1) { @@ -750,7 +750,7 @@ BOOL ov104_0222F3B8(UnkStruct_ov104_0223BA10 *param0) void ov104_0222F418(int param0, int param1, void *param2, void *param3) { int v0, v1; - UnkStruct_ov104_0223BA10 *v2 = param3; + BattleCastle *v2 = param3; const u16 *v3 = param2; v1 = 0; @@ -766,13 +766,13 @@ void ov104_0222F418(int param0, int param1, void *param2, void *param3) v1 += 3; v1 += (7 + 1); - v2->unk_A1C = v3[v1]; + v2->partnersCP = v3[v1]; v1 += 1; return; } -BOOL ov104_0222F44C(UnkStruct_ov104_0223BA10 *param0) +BOOL ov104_0222F44C(BattleCastle *param0) { int v0, v1, v2, v3; @@ -797,7 +797,7 @@ BOOL ov104_0222F44C(UnkStruct_ov104_0223BA10 *param0) void ov104_0222F480(int param0, int param1, void *param2, void *param3) { int v0, v1; - UnkStruct_ov104_0223BA10 *v2 = param3; + BattleCastle *v2 = param3; const u16 *v3 = param2; v1 = 0; @@ -820,7 +820,7 @@ void ov104_0222F480(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F4B8(UnkStruct_ov104_0223BA10 *param0) +BOOL ov104_0222F4B8(BattleCastle *param0) { int v0, v1, v2, v3; TrainerInfo *v4; @@ -863,7 +863,7 @@ void ov104_0222F530(int param0, int param1, void *param2, void *param3) { Pokemon *v0; int v1, v2; - UnkStruct_ov104_0223BA10 *v3 = param3; + BattleCastle *v3 = param3; const u16 *v4 = param2; v2 = 0; @@ -909,7 +909,7 @@ void ov104_0222F530(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F5D4(UnkStruct_ov104_0223BA10 *param0) +BOOL ov104_0222F5D4(BattleCastle *param0) { int v0, v1, v2, v3; @@ -947,7 +947,7 @@ BOOL ov104_0222F5D4(UnkStruct_ov104_0223BA10 *param0) void ov104_0222F650(int param0, int param1, void *param2, void *param3) { int v0, v1; - UnkStruct_ov104_0223BA10 *v2 = param3; + BattleCastle *v2 = param3; const u16 *v3 = param2; v1 = 0; @@ -983,7 +983,7 @@ void ov104_0222F650(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F6C8(UnkStruct_ov104_0223BA10 *param0, u16 param1) +BOOL ov104_0222F6C8(BattleCastle *param0, u16 param1) { int v0, v1 = 40; param0->unk_3C0[0] = param1; @@ -1000,7 +1000,7 @@ BOOL ov104_0222F6C8(UnkStruct_ov104_0223BA10 *param0, u16 param1) void ov104_0222F6E8(int param0, int param1, void *param2, void *param3) { int v0; - UnkStruct_ov104_0223BA10 *v1 = param3; + BattleCastle *v1 = param3; const u16 *v2 = param2; v0 = 0; @@ -1014,7 +1014,7 @@ void ov104_0222F6E8(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F710(UnkStruct_ov104_0223BA10 *param0, u16 param1) +BOOL ov104_0222F710(BattleCastle *param0, u16 param1) { int v0, v1 = 40; param0->unk_3C0[0] = param1; @@ -1031,7 +1031,7 @@ BOOL ov104_0222F710(UnkStruct_ov104_0223BA10 *param0, u16 param1) void ov104_0222F730(int param0, int param1, void *param2, void *param3) { int v0; - UnkStruct_ov104_0223BA10 *v1 = param3; + BattleCastle *v1 = param3; const u16 *v2 = param2; v0 = 0; @@ -1045,7 +1045,7 @@ void ov104_0222F730(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F758(UnkStruct_ov104_0223BA10 *param0) +BOOL ov104_0222F758(BattleCastle *param0) { int v0, v1, v2, v3, v4; u8 v5; @@ -1053,7 +1053,7 @@ BOOL ov104_0222F758(UnkStruct_ov104_0223BA10 *param0) v1 = 0; v3 = 512; - v5 = BattleCastle_GetPartySize(param0->unk_10, 0); + v5 = BattleCastle_GetPartySize(param0->challengeType, 0); v4 = Pokemon_StructSize(); for (v0 = 0; v0 < v5; v0++) { @@ -1075,7 +1075,7 @@ void ov104_0222F7BC(int param0, int param1, void *param2, void *param3) u8 v0; int v1, v2, v3; Pokemon *v4; - UnkStruct_ov104_0223BA10 *v5 = param3; + BattleCastle *v5 = param3; const u8 *v6 = param2; v2 = 0; @@ -1085,7 +1085,7 @@ void ov104_0222F7BC(int param0, int param1, void *param2, void *param3) return; } - v0 = BattleCastle_GetPartySize(v5->unk_10, 0); + v0 = BattleCastle_GetPartySize(v5->challengeType, 0); v3 = Pokemon_StructSize(); v4 = Pokemon_New(HEAP_ID_FIELD2); @@ -1106,20 +1106,20 @@ void ov104_0222F7BC(int param0, int param1, void *param2, void *param3) u8 *ov104_0222F84C(int param0, void *param1, int param2) { - UnkStruct_ov104_0223BA10 *v0 = param1; + BattleCastle *v0 = param1; GF_ASSERT(param2 <= 512); return v0->unk_610[param0]; } -BOOL ov104_0222F86C(UnkStruct_ov104_0223BFFC *param0) +BOOL ov104_0222F86C(BattleArcade *param0) { int v0, v1, v2, v3; UnkStruct_020305B8 *v4 = sub_020305B8(param0->saveData); v3 = 40; v1 = 0; - param0->unk_424[1] = param0->unk_18; + param0->unk_424[1] = param0->currentStreak; param0->unk_424[2] = param0->unk_1A; v1 += 3; @@ -1136,7 +1136,7 @@ BOOL ov104_0222F86C(UnkStruct_ov104_0223BFFC *param0) void ov104_0222F8A0(int param0, int param1, void *param2, void *param3) { int v0, v1; - UnkStruct_ov104_0223BFFC *v2 = param3; + BattleArcade *v2 = param3; const u16 *v3 = param2; v1 = 0; @@ -1154,7 +1154,7 @@ void ov104_0222F8A0(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F8D0(UnkStruct_ov104_0223BFFC *param0) +BOOL ov104_0222F8D0(BattleArcade *param0) { int v0, v1, v2, v3; @@ -1179,7 +1179,7 @@ BOOL ov104_0222F8D0(UnkStruct_ov104_0223BFFC *param0) void ov104_0222F908(int param0, int param1, void *param2, void *param3) { int v0, v1; - UnkStruct_ov104_0223BFFC *v2 = param3; + BattleArcade *v2 = param3; const u16 *v3 = param2; v1 = 0; @@ -1202,7 +1202,7 @@ void ov104_0222F908(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222F944(UnkStruct_ov104_0223BFFC *param0) +BOOL ov104_0222F944(BattleArcade *param0) { int v0, v1, v2, v3; @@ -1240,7 +1240,7 @@ BOOL ov104_0222F944(UnkStruct_ov104_0223BFFC *param0) void ov104_0222F9C0(int param0, int param1, void *param2, void *param3) { int v0, v1; - UnkStruct_ov104_0223BFFC *v2 = param3; + BattleArcade *v2 = param3; const u16 *v3 = param2; v1 = 0; @@ -1276,7 +1276,7 @@ void ov104_0222F9C0(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222FA38(UnkStruct_ov104_0223BFFC *param0, u16 param1) +BOOL ov104_0222FA38(BattleArcade *param0, u16 param1) { int v0, v1 = 40; param0->unk_424[0] = param1; @@ -1293,7 +1293,7 @@ BOOL ov104_0222FA38(UnkStruct_ov104_0223BFFC *param0, u16 param1) void ov104_0222FA5C(int param0, int param1, void *param2, void *param3) { int v0; - UnkStruct_ov104_0223BFFC *v1 = param3; + BattleArcade *v1 = param3; const u16 *v2 = param2; v0 = 0; @@ -1307,7 +1307,7 @@ void ov104_0222FA5C(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222FA84(UnkStruct_ov104_0223BFFC *param0, u16 param1) +BOOL ov104_0222FA84(BattleArcade *param0, u16 param1) { int v0, v1 = 40; param0->unk_424[0] = param1; @@ -1324,7 +1324,7 @@ BOOL ov104_0222FA84(UnkStruct_ov104_0223BFFC *param0, u16 param1) void ov104_0222FAA8(int param0, int param1, void *param2, void *param3) { int v0; - UnkStruct_ov104_0223BFFC *v1 = param3; + BattleArcade *v1 = param3; const u16 *v2 = param2; v0 = 0; @@ -1338,7 +1338,7 @@ void ov104_0222FAA8(int param0, int param1, void *param2, void *param3) return; } -BOOL ov104_0222FAD0(UnkStruct_ov104_0223BFFC *param0) +BOOL ov104_0222FAD0(BattleArcade *param0) { int v0, v1, v2, v3, v4; u8 v5; @@ -1346,7 +1346,7 @@ BOOL ov104_0222FAD0(UnkStruct_ov104_0223BFFC *param0) v1 = 0; v3 = 512; - v5 = BattleArcade_GetPartySize(param0->unk_10, 0); + v5 = BattleArcade_GetPartySize(param0->challengeType, 0); v4 = Pokemon_StructSize(); for (v0 = 0; v0 < v5; v0++) { @@ -1368,7 +1368,7 @@ void ov104_0222FB34(int param0, int param1, void *param2, void *param3) u8 v0; int v1, v2, v3; Pokemon *v4; - UnkStruct_ov104_0223BFFC *v5 = param3; + BattleArcade *v5 = param3; const u8 *v6 = param2; v2 = 0; @@ -1378,7 +1378,7 @@ void ov104_0222FB34(int param0, int param1, void *param2, void *param3) return; } - v0 = BattleArcade_GetPartySize(v5->unk_10, 0); + v0 = BattleArcade_GetPartySize(v5->challengeType, 0); v3 = Pokemon_StructSize(); v4 = Pokemon_New(HEAP_ID_FIELD2); @@ -1399,7 +1399,7 @@ void ov104_0222FB34(int param0, int param1, void *param2, void *param3) u8 *ov104_0222FBC4(int param0, void *param1, int param2) { - UnkStruct_ov104_0223BFFC *v0 = param1; + BattleArcade *v0 = param1; GF_ASSERT(param2 <= 512); return v0->unk_674[param0]; diff --git a/src/overlay104/ov104_022332B4.c b/src/overlay104/ov104_022332B4.c deleted file mode 100644 index d099dacbbc..0000000000 --- a/src/overlay104/ov104_022332B4.c +++ /dev/null @@ -1,492 +0,0 @@ -#include -#include - -#include "constants/heap.h" - -#include "applications/frontier/battle_factory/main.h" -#include "overlay104/frontier_script_context.h" -#include "overlay104/frontier_script_manager.h" -#include "overlay104/frscrcmd.h" -#include "overlay104/ov104_0222DCE0.h" -#include "overlay104/ov104_02231F74.h" -#include "overlay104/ov104_022339B4.h" -#include "overlay104/ov104_0223A7F4.h" -#include "overlay104/struct_ov104_02230BE4.h" -#include "overlay104/struct_ov104_02234130.h" -#include "overlay104/struct_ov104_0223ADA0.h" - -#include "bg_window.h" -#include "field_battle_data_transfer.h" -#include "heap.h" -#include "party.h" -#include "pokemon.h" -#include "string_gf.h" -#include "string_template.h" -#include "sys_task.h" -#include "sys_task_manager.h" -#include "unk_0202FF4C.h" -#include "unk_0209B6F8.h" -#include "unk_0209BA80.h" - -#include "constdata/const_020EA358.h" - -FS_EXTERN_OVERLAY(battle_factory_app); - -#include - -static BOOL ov104_0223394C(FrontierScriptContext *param0); -static void ov104_022338B4(SysTask *param0, void *param1); -static void ov104_02233478(void *param0); - -BOOL FrontierScrCmd_5C(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0; - UnkStruct_ov104_02230BE4 *v1; - u16 v2 = FrontierScriptContext_GetVar(param0); - u16 v3 = FrontierScriptContext_GetVar(param0); - u16 v4 = FrontierScriptContext_GetVar(param0); - - v1 = sub_0209B970(param0->scriptMan->unk_00); - v0 = ov104_022339B4(v1->saveData, v2, v3, v4); - - sub_0209B980(param0->scriptMan->unk_00, v0); - - return 0; -} - -BOOL FrontierScrCmd_5D(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0; - u16 v1 = FrontierScriptContext_GetVar(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_02233B98(v0, v1); - - return 0; -} - -BOOL FrontierScrCmd_5E(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_022340D0(v0); - - return 0; -} - -BOOL FrontierScrCmd_5F(FrontierScriptContext *param0) -{ - int v0; - UnkStruct_ov104_0223ADA0 *v1; - UnkStruct_ov104_02234130 *v2; - UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(param0->scriptMan->unk_00); - - FS_EXTERN_OVERLAY(battle_factory_app); - - static const ApplicationManagerTemplate v4 = { - BattleFactoryApp_Init, - BattleFactoryApp_Main, - BattleFactoryApp_Exit, - FS_OVERLAY_ID(battle_factory_app) - }; - - v1 = sub_0209B978(param0->scriptMan->unk_00); - v2 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_ov104_02234130)); - - MI_CpuClear8(v2, sizeof(UnkStruct_ov104_02234130)); - - v2->saveData = v3->saveData; - v2->unk_04 = v1->unk_04; - v2->unk_05 = v1->unk_05; - v2->unk_06 = 0; - v2->unk_08 = v1->unk_4D4; - v2->unk_0C = v1->unk_4D8; - v2->unk_1C = v1; - - sub_0209B988(param0->scriptMan->unk_00, &v4, v2, 0, ov104_02233478); - return 1; -} - -BOOL FrontierScrCmd_60(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0 = sub_0209B978(param0->scriptMan->unk_00); - FieldBattleDTO *v1 = v0->unk_4FC; - - v0->unk_14 = CheckPlayerWonBattle(v1->resultMask); - - FieldBattleDTO_Free(v1); - return 0; -} - -BOOL FrontierScrCmd_61(FrontierScriptContext *param0) -{ - FieldBattleDTO *v0; - UnkStruct_ov104_0223ADA0 *v1; - UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); - - v1 = sub_0209B978(param0->scriptMan->unk_00); - v0 = ov104_0223ABA0(v1, v2); - - v1->unk_4FC = v0; - sub_0209B988(param0->scriptMan->unk_00, &gBattleApplicationTemplate, v0, 0, NULL); - - return 1; -} - -BOOL FrontierScrCmd_62(FrontierScriptContext *param0) -{ - int v0; - UnkStruct_ov104_0223ADA0 *v1; - UnkStruct_ov104_02234130 *v2; - UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(param0->scriptMan->unk_00); - - FS_EXTERN_OVERLAY(battle_factory_app); - - static const ApplicationManagerTemplate v4 = { - BattleFactoryApp_Init, - BattleFactoryApp_Main, - BattleFactoryApp_Exit, - FS_OVERLAY_ID(battle_factory_app) - }; - - v1 = sub_0209B978(param0->scriptMan->unk_00); - - for (v0 = 0; v0 < 6; v0++) { - v1->unk_4DC[v0] = 0; - } - - v2 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_ov104_02234130)); - MI_CpuClear8(v2, sizeof(UnkStruct_ov104_02234130)); - - v2->saveData = v3->saveData; - v2->unk_04 = v1->unk_04; - v2->unk_05 = v1->unk_05; - v2->unk_06 = 1; - v2->unk_08 = v1->unk_4D4; - v2->unk_0C = v1->unk_4D8; - v2->unk_1C = v1; - - sub_0209B988(param0->scriptMan->unk_00, &v4, v2, 0, ov104_02233478); - return 1; -} - -static void ov104_02233478(void *param0) -{ - int v0; - UnkStruct_ov104_02234130 *v1 = param0; - - ov104_0223410C(v1->unk_1C, param0); - Heap_Free(param0); - - return; -} - -BOOL FrontierScrCmd_63(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_0223449C(v0); - - return 0; -} - -BOOL FrontierScrCmd_64(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_02234570(v0); - - return 0; -} - -BOOL FrontierScrCmd_65(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_022346A4(v0); - - return 0; -} - -BOOL FrontierScrCmd_66(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_0223470C(v0); - - return 0; -} - -BOOL FrontierScrCmd_67(FrontierScriptContext *param0) -{ - int v0[18]; - FrontierGraphics *v1; - String *v2; - Pokemon *v3; - UnkStruct_ov104_0223ADA0 *v4; - u8 v5, v6; - u32 v7, v8, v9; - int v10, v11; - u8 v12 = FrontierScriptContext_ReadByte(param0); - u8 v13 = FrontierScriptContext_ReadByte(param0); - u8 v14 = FrontierScriptContext_ReadByte(param0); - u16 *v15 = FrontierScriptContext_TryGetVarPointer(param0); - - v4 = sub_0209B978(param0->scriptMan->unk_00); - v1 = FrontierScriptManager_GetGraphics(param0->scriptMan); - - switch (v12) { - case 0: - v4->unk_07 = v13; - break; - case 1: - v4->unk_05 = v13; - break; - case 2: - v4->unk_04 = v13; - break; - case 3: - *v15 = v4->unk_4DC[v13]; - break; - case 4: - *v15 = v4->unk_0C; - break; - case 5: - if (v4->unk_0C < 9999) { - v4->unk_0C++; - } - break; - case 7: - OS_ResetSystem(0); - break; - case 9: - *v15 = sub_0202FF68(v4->unk_4F4); - break; - case 10: - ov104_02234148(v4, 2); - break; - case 14: - *v15 = ov104_02234430(v4); - break; - case 15: - *v15 = v4->unk_3F0[v13].species; - break; - case 16: - *v15 = v4->unk_3F0[v13].moves[v14]; - break; - case 17: - v3 = Pokemon_New(HEAP_ID_FIELD2); - ov104_0222DF40(&v4->unk_3F0[v13], v3, ov104_0223ADA0(v4)); - *v15 = Pokemon_GetValue(v3, MON_DATA_TYPE_1, NULL); - Heap_Free(v3); - break; - case 18: - v5 = ov104_0223AA74(v4->unk_04, 1); - - for (v10 = 0; v10 < (17 + 1); v10++) { - v0[v10] = 0; - } - - v3 = Pokemon_New(HEAP_ID_FIELD2); - - for (v10 = 0; v10 < v5; v10++) { - ov104_0222DF40(&v4->unk_3F0[v10], v3, ov104_0223ADA0(v4)); - - v7 = Pokemon_GetValue(v3, MON_DATA_TYPE_1, NULL); - v8 = Pokemon_GetValue(v3, MON_DATA_TYPE_2, NULL); - - if (v7 == v8) { - v8 = 0xff; - } - - v0[v7]++; - - if (v8 != 0xff) { - v0[v8]++; - } - } - - Heap_Free(v3); - - v9 = 0; - - for (v10 = 0; v10 < (17 + 1); v10++) { - if (v0[v9] < v0[v10]) { - v9 = v10; - } - } - - if (v0[v9] <= 1) { - *v15 = 0xff; - } else { - *v15 = v9; - } - break; - case 19: - *v15 = ov104_0223AF34(v4); - break; - case 20: - *v15 = ov104_02234440(v4, v13); - break; - case 21: - ov104_02234474(v4); - break; - case 22: - ov104_02234480(v4); - break; - case 23: - *v15 = ov104_0223443C(v4); - break; - case 24: - *v15 = v4->unk_57C; - break; - case 26: - *v15 = v4->unk_57D; - break; - case 27: - sub_0209BA80(v4); - break; - case 28: - *v15 = BattleFactory_IsMultiplayerChallenge(v4->unk_04); - break; - case 29: - *v15 = v4->unk_04; - break; - case 30: - Bg_ChangeTilemapRectPalette(v1->bgConfig, 3, 3, 10, 26, 11, v13); - Bg_ScheduleTilemapTransfer(v1->bgConfig, 3); - break; - case 31: - v4->unk_500 = SysTask_Start(ov104_022338B4, FrontierScriptManager_GetGraphics(param0->scriptMan), 5); - break; - case 32: - if (v4->unk_500 != NULL) { - SysTask_Done(v4->unk_500); - v4->unk_500 = NULL; - } - break; - case 33: - ov104_0222E278(&(v4->unk_34[0]), v4->unk_18[v4->unk_06], HEAP_ID_FIELD2, 178); - ov104_0222E278(&(v4->unk_34[1]), v4->unk_18[v4->unk_06 + 7], HEAP_ID_FIELD2, 178); - break; - case 34: - v6 = BattleFactory_GetPartySize(v4->unk_04); - - for (v10 = 0; v10 < v6; v10++) { - v3 = Party_GetPokemonBySlotIndex(v4->unk_4D4, v10); - StringTemplate_SetSpeciesName(param0->scriptMan->strTemplate, v10, Pokemon_GetBoxPokemon(v3)); - } - break; - case 35: - *v15 = ov104_022347F8(v4); - break; - case 36: - ov104_02234790(v4); - break; - case 37: - *v15 = 0; - - if (v4->unk_04 == 0) { - if ((v4->unk_0C + 1) == 21) { - *v15 = 1; - } else if ((v4->unk_0C + 1) == 49) { - *v15 = 2; - } - } - break; - case 38: - ov104_0223AE30(v4); - break; - case 39: - ov104_0222E330(v4->unk_3F0, v4->unk_3D2, v4->unk_3DA, v4->unk_3E0, NULL, 4, 11, 179); - break; - case 40: - ov104_0223ADB0(v4); - break; - case 41: - *v15 = v4->unk_0B; - v4->unk_0B = 1; - break; - } - - return 0; -} - -void ov104_022338B4(SysTask *param0, void *param1) -{ - int v0; - FrontierGraphics *v1 = param1; - - v0 = Bg_GetYOffset(v1->bgConfig, 2); - - if (v0 >= 255) { - Bg_ScheduleScroll(v1->bgConfig, 2, 3, 0); - } else { - Bg_ScheduleScroll(v1->bgConfig, 2, 4, 1); - } - - return; -} - -BOOL FrontierScrCmd_68(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0; - u16 *v1 = FrontierScriptContext_TryGetVarPointer(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - *v1 = v0->unk_14; - - return 0; -} - -BOOL FrontierScrCmd_69(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0; - u16 v1 = FrontierScriptContext_GetVar(param0); - u16 v2 = FrontierScriptContext_GetVar(param0); - u16 *v3 = FrontierScriptContext_TryGetVarPointer(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - *v3 = ov104_022347A4(v0, v1, v2); - - return 1; -} - -BOOL FrontierScrCmd_6A(FrontierScriptContext *param0) -{ - u16 v0 = FrontierScriptContext_ReadHalfWord(param0); - - param0->data[0] = v0; - FrontierScriptContext_Pause(param0, ov104_0223394C); - - return 1; -} - -static BOOL ov104_0223394C(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223ADA0 *v0; - u16 v1 = FrontierScriptContext_TryGetVar(param0, param0->data[0]); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - - if (v0->unk_702 >= 2) { - v0->unk_702 = 0; - return 1; - } - - return 0; -} - -BOOL FrontierScrCmd_6B(FrontierScriptContext *param0) -{ - u16 *v0; - UnkStruct_ov104_0223ADA0 *v1; - UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); - u16 v3 = FrontierScriptContext_ReadByte(param0); - - v1 = sub_0209B978(param0->scriptMan->unk_00); - - if (v1 == NULL) { - return 0; - } - - v0 = v1->unk_34[v3].trDataDTO.unk_18; - - ov104_022330FC(param0, v0); - return 1; -} diff --git a/src/overlay104/ov104_022339B4.c b/src/overlay104/ov104_022339B4.c index 1a53c5e72f..f8c1358182 100644 --- a/src/overlay104/ov104_022339B4.c +++ b/src/overlay104/ov104_022339B4.c @@ -1,7 +1,6 @@ #include "overlay104/ov104_022339B4.h" #include -#include #include "generated/game_records.h" @@ -12,8 +11,7 @@ #include "overlay104/ov104_0222DCE0.h" #include "overlay104/ov104_0222ECE8.h" #include "overlay104/ov104_0223A7F4.h" -#include "overlay104/struct_ov104_02234130.h" -#include "overlay104/struct_ov104_0223ADA0.h" +#include "overlay104/struct_battle_factory.h" #include "overlay104/struct_ov104_0224028C.h" #include "battle_frontier_stats.h" @@ -28,28 +26,27 @@ #include "unk_0205DFC4.h" #include "vars_flags.h" -void ov104_02233B98(UnkStruct_ov104_0223ADA0 *param0, u16 param1); -static void ov104_02233BAC(UnkStruct_ov104_0223ADA0 *param0); -static void ov104_02233F1C(UnkStruct_ov104_0223ADA0 *param0); -void ov104_022340D0(UnkStruct_ov104_0223ADA0 *param0); -void ov104_0223410C(UnkStruct_ov104_0223ADA0 *param0, void *param1); -u16 ov104_02234130(void *param0, u8 param1); -void ov104_0223449C(UnkStruct_ov104_0223ADA0 *param0); -void ov104_02234570(UnkStruct_ov104_0223ADA0 *param0); -void ov104_022346A4(UnkStruct_ov104_0223ADA0 *param0); -void ov104_0223470C(UnkStruct_ov104_0223ADA0 *param0); -void ov104_02234790(UnkStruct_ov104_0223ADA0 *param0); -static void ov104_02233D80(UnkStruct_ov104_0223ADA0 *param0, u8 param1, u8 param2); -BOOL ov104_022347A4(UnkStruct_ov104_0223ADA0 *param0, u16 param1, u16 param2); -void ov104_02234148(UnkStruct_ov104_0223ADA0 *param0, u8 param1); -u16 ov104_02234430(UnkStruct_ov104_0223ADA0 *param0); -u16 ov104_0223443C(UnkStruct_ov104_0223ADA0 *param0); -u16 ov104_02234440(UnkStruct_ov104_0223ADA0 *param0, u8 param1); -void ov104_02234474(UnkStruct_ov104_0223ADA0 *param0); -void ov104_02234480(UnkStruct_ov104_0223ADA0 *param0); -u16 ov104_022347F8(UnkStruct_ov104_0223ADA0 *param0); +void ov104_02233B98(BattleFactory *param0, u16 param1); +static void ov104_02233BAC(BattleFactory *param0); +static void ov104_02233F1C(BattleFactory *param0); +void ov104_022340D0(BattleFactory *param0); +static u16 ov104_02234130(BattleFactoryAppArgs *args, u8 i); +void ov104_0223449C(BattleFactory *param0); +void ov104_02234570(BattleFactory *param0); +void ov104_022346A4(BattleFactory *param0); +void ov104_0223470C(BattleFactory *param0); +void ov104_02234790(BattleFactory *param0); +static void ov104_02233D80(BattleFactory *param0, u8 param1, u8 param2); +BOOL ov104_022347A4(BattleFactory *param0, u16 param1, u16 param2); +void ov104_02234148(BattleFactory *param0, u8 param1); +u16 ov104_02234430(BattleFactory *param0); +u16 ov104_0223443C(BattleFactory *param0); +u16 ov104_02234440(BattleFactory *param0, u8 param1); +void ov104_02234474(BattleFactory *param0); +void ov104_02234480(BattleFactory *param0); +u16 ov104_022347F8(BattleFactory *param0); -UnkStruct_ov104_0223ADA0 *ov104_022339B4(SaveData *saveData, u16 param1, u8 param2, u8 param3) +BattleFactory *ov104_022339B4(SaveData *saveData, u16 param1, u8 param2, u8 param3) { UnkStruct_0202FF58 *v0; UnkStruct_020300F4 *v1; @@ -57,10 +54,10 @@ UnkStruct_ov104_0223ADA0 *ov104_022339B4(SaveData *saveData, u16 param1, u8 para u8 v3; u16 v4, v5; u32 v6; - static UnkStruct_ov104_0223ADA0 *v7; + static BattleFactory *v7; - v7 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_ov104_0223ADA0)); - MI_CpuClear8(v7, sizeof(UnkStruct_ov104_0223ADA0)); + v7 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleFactory)); + MI_CpuClear8(v7, sizeof(BattleFactory)); v7->unk_4F4 = sub_0202FF58(saveData); v7->saveData = saveData; @@ -72,13 +69,13 @@ UnkStruct_ov104_0223ADA0 *ov104_022339B4(SaveData *saveData, u16 param1, u8 para v1 = sub_020300F4(saveData); if (param1 == 0) { - v7->unk_04 = param2; + v7->challengeType = param2; v7->unk_05 = param3; v7->unk_06 = 0; sub_0202FF4C(v0); - if (v7->unk_04 == 3) { + if (v7->challengeType == 3) { if (v7->unk_05 == 0) { v6 = 102; } else { @@ -87,36 +84,36 @@ UnkStruct_ov104_0223ADA0 *ov104_022339B4(SaveData *saveData, u16 param1, u8 para v3 = SystemVars_GetWiFiFrontierCleared(SaveData_GetVarsFlags(v7->saveData)); } else { - v3 = (u8)sub_020300E0(v1, 10, (v7->unk_05 * 4) + v7->unk_04, NULL); + v3 = (u8)sub_020300E0(v1, 10, (v7->unk_05 * 4) + v7->challengeType, NULL); } if (v3 == 1) { - v7->unk_0C = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v7->saveData), BattleFrontierStats_GetFactoryLatestStreakIdx(v7->unk_05, v7->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestStreakIdx(v7->unk_05, v7->unk_04))); - v7->unk_08 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v7->saveData), BattleFrontierStats_GetFactoryLatestTradeCountIndex(v7->unk_05, v7->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestTradeCountIndex(v7->unk_05, v7->unk_04))); + v7->currentStreak = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v7->saveData), BattleFrontierStats_GetFactoryLatestStreakIdx(v7->unk_05, v7->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestStreakIdx(v7->unk_05, v7->challengeType))); + v7->unk_08 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v7->saveData), BattleFrontierStats_GetFactoryLatestTradeCountIndex(v7->unk_05, v7->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestTradeCountIndex(v7->unk_05, v7->challengeType))); } else { - v7->unk_0C = 0; + v7->currentStreak = 0; v7->unk_08 = 0; } v7->unk_10 = 0; } else { - v7->unk_04 = (u8)sub_02030030(v0, 1, 0, NULL); + v7->challengeType = (u8)sub_02030030(v0, 1, 0, NULL); v7->unk_05 = (u8)sub_02030030(v0, 0, 0, NULL); v7->unk_06 = (u8)sub_02030030(v0, 2, 0, NULL); - v7->unk_0C = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v7->saveData), BattleFrontierStats_GetFactoryLatestStreakIdx(v7->unk_05, v7->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestStreakIdx(v7->unk_05, v7->unk_04))); - v7->unk_08 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v7->saveData), BattleFrontierStats_GetFactoryLatestTradeCountIndex(v7->unk_05, v7->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestTradeCountIndex(v7->unk_05, v7->unk_04))); + v7->currentStreak = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v7->saveData), BattleFrontierStats_GetFactoryLatestStreakIdx(v7->unk_05, v7->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestStreakIdx(v7->unk_05, v7->challengeType))); + v7->unk_08 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v7->saveData), BattleFrontierStats_GetFactoryLatestTradeCountIndex(v7->unk_05, v7->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestTradeCountIndex(v7->unk_05, v7->challengeType))); } - v7->unk_0E = (u16)(v7->unk_0C / 7); + v7->unk_0E = (u16)(v7->currentStreak / 7); - if (BattleFactory_IsMultiplayerChallenge(v7->unk_04) == 1) { + if (BattleFactory_IsMultiplayerChallenge(v7->challengeType) == 1) { ov104_0222E630(v7->saveData); } return v7; } -void ov104_02233B98(UnkStruct_ov104_0223ADA0 *param0, u16 param1) +void ov104_02233B98(BattleFactory *param0, u16 param1) { if (param1 == 0) { ov104_02233BAC(param0); @@ -127,7 +124,7 @@ void ov104_02233B98(UnkStruct_ov104_0223ADA0 *param0, u16 param1) return; } -static void ov104_02233BAC(UnkStruct_ov104_0223ADA0 *param0) +static void ov104_02233BAC(BattleFactory *param0) { int v0, v1; FrontierPokemonDataDTO v2[6 * 2]; @@ -135,7 +132,7 @@ static void ov104_02233BAC(UnkStruct_ov104_0223ADA0 *param0) u16 v5[6]; u16 v6[6]; - ov104_0223A860(param0->unk_04, ov104_0223AF34(param0), param0->unk_18, 7 * 2); + ov104_0223A860(param0->challengeType, ov104_0223AF34(param0), param0->unk_18, 7 * 2); ov104_0223AAA0(ov104_0223AF34(param0), param0->unk_05, param0->unk_254, param0->unk_280, param0->unk_260, param0->unk_268, param0->unk_08, NULL, NULL); @@ -148,7 +145,7 @@ static void ov104_02233BAC(UnkStruct_ov104_0223ADA0 *param0) v2[v0] = param0->unk_280[v0]; } - if (BattleFactory_IsMultiplayerChallenge(param0->unk_04) == 1) { + if (BattleFactory_IsMultiplayerChallenge(param0->challengeType) == 1) { for (v0 = 0; v0 < 6; v0++) { v5[v0] = param0->unk_280[v0].species; v6[v0] = param0->unk_280[v0].item; @@ -166,7 +163,7 @@ static void ov104_02233BAC(UnkStruct_ov104_0223ADA0 *param0) } } - ov104_0223AB0C(ov104_0223AA74(param0->unk_04, 1), param0->unk_18[param0->unk_06], param0->unk_05, v2, param0->unk_3D2, param0->unk_3F0, param0->unk_3DA, param0->unk_3E0, v1); + ov104_0223AB0C(ov104_0223AA74(param0->challengeType, 1), param0->unk_18[param0->unk_06], param0->unk_05, v2, param0->unk_3D2, param0->unk_3F0, param0->unk_3DA, param0->unk_3E0, v1); for (v0 = 0; v0 < 6; v0++) { v4 = Pokemon_New(HEAP_ID_FIELD2); @@ -182,7 +179,7 @@ static void ov104_02233BAC(UnkStruct_ov104_0223ADA0 *param0) return; } -static void ov104_02233D80(UnkStruct_ov104_0223ADA0 *param0, u8 param1, u8 param2) +static void ov104_02233D80(BattleFactory *param0, u8 param1, u8 param2) { u16 v0; u16 v1; @@ -227,7 +224,7 @@ static void ov104_02233D80(UnkStruct_ov104_0223ADA0 *param0, u8 param1, u8 param return; } -static void ov104_02233F1C(UnkStruct_ov104_0223ADA0 *param0) +static void ov104_02233F1C(BattleFactory *param0) { int v0; FrontierPokemonDataDTO v4[6]; @@ -235,7 +232,7 @@ static void ov104_02233F1C(UnkStruct_ov104_0223ADA0 *param0) u16 v6[6]; u32 v7[6]; - u8 v3 = BattleFactory_GetPartySize(param0->unk_04); + u8 v3 = BattleFactory_GetPartySize(param0->challengeType); for (v0 = 0; v0 < (7 * 2); v0++) { param0->unk_18[v0] = (u16)sub_02030030(param0->unk_4F4, 3, v0, NULL); @@ -282,7 +279,7 @@ static void ov104_02233F1C(UnkStruct_ov104_0223ADA0 *param0) return; } -void ov104_022340D0(UnkStruct_ov104_0223ADA0 *param0) +void ov104_022340D0(BattleFactory *param0) { int v0; @@ -298,7 +295,7 @@ void ov104_022340D0(UnkStruct_ov104_0223ADA0 *param0) Heap_Free(param0->unk_4D8); } - MI_CpuClear8(param0, sizeof(UnkStruct_ov104_0223ADA0)); + MI_CpuClear8(param0, sizeof(BattleFactory)); Heap_Free(param0); param0 = NULL; @@ -306,30 +303,24 @@ void ov104_022340D0(UnkStruct_ov104_0223ADA0 *param0) return; } -void ov104_0223410C(UnkStruct_ov104_0223ADA0 *param0, void *param1) +void BattleFactory_GetMonSelectionAppResult(BattleFactory *battleFactory, BattleFactoryAppArgs *args) { - int v0; - - for (v0 = 0; v0 < 6; v0++) { - param0->unk_4DC[v0] = ov104_02234130(param1, v0); + for (int i = 0; i < 6; i++) { + battleFactory->unk_4DC[i] = ov104_02234130(args, i); } - - return; } -u16 ov104_02234130(void *param0, u8 param1) +static u16 ov104_02234130(BattleFactoryAppArgs *args, u8 i) { - UnkStruct_ov104_02234130 *v0 = param0; - - if (param1 >= 6) { + if (i >= 6) { GF_ASSERT(0); return 0; } - return v0->unk_10[param1]; + return args->selectedIndices[i]; } -void ov104_02234148(UnkStruct_ov104_0223ADA0 *param0, u8 param1) +void ov104_02234148(BattleFactory *param0, u8 param1) { u16 v0, v1, v2; u8 v3, v4; @@ -343,36 +334,36 @@ void ov104_02234148(UnkStruct_ov104_0223ADA0 *param0, u8 param1) UnkStruct_020300F4 *v14 = sub_020300F4(param0->saveData); frontier = SaveData_GetBattleFrontier(param0->saveData); - v3 = BattleFactory_GetPartySize(param0->unk_04); - v4 = ov104_0223AA74(param0->unk_04, 1); + v3 = BattleFactory_GetPartySize(param0->challengeType); + v4 = ov104_0223AA74(param0->challengeType, 1); v5[0] = param0->unk_05; sub_0202FF84(param0->unk_4F4, 0, 0, v5); - v5[0] = param0->unk_04; + v5[0] = param0->challengeType; sub_0202FF84(param0->unk_4F4, 1, 0, v5); sub_0202FF70(param0->unk_4F4, 1); v5[0] = param0->unk_06; sub_0202FF84(param0->unk_4F4, 2, 0, v5); - BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetFactoryLatestTradeCountIndex(param0->unk_05, param0->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestTradeCountIndex(param0->unk_05, param0->unk_04)), param0->unk_08); - BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetFactoryLatestStreakIdx(param0->unk_05, param0->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestStreakIdx(param0->unk_05, param0->unk_04)), param0->unk_0C); + BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetFactoryLatestTradeCountIndex(param0->unk_05, param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestTradeCountIndex(param0->unk_05, param0->challengeType)), param0->unk_08); + BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetFactoryLatestStreakIdx(param0->unk_05, param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryLatestStreakIdx(param0->unk_05, param0->challengeType)), param0->currentStreak); if (param1 != 2) { - v1 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->unk_04))); - v8 = BattleFrontierStats_SetIfBetter(frontier, BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->unk_04)), param0->unk_0C); - v2 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->unk_04))); + v1 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->challengeType))); + v8 = BattleFrontierStats_SetIfBetter(frontier, BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->challengeType)), param0->currentStreak); + v2 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordStreakIdx(param0->unk_05, param0->challengeType))); - if (param0->unk_0C == v1) { - BattleFrontierStats_SetIfBetter(frontier, BattleFrontierStats_GetFactoryRecordTradeCountIndex(param0->unk_05, param0->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordTradeCountIndex(param0->unk_05, param0->unk_04)), param0->unk_08); + if (param0->currentStreak == v1) { + BattleFrontierStats_SetIfBetter(frontier, BattleFrontierStats_GetFactoryRecordTradeCountIndex(param0->unk_05, param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordTradeCountIndex(param0->unk_05, param0->challengeType)), param0->unk_08); } else if (v1 < v2) { - BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetFactoryRecordTradeCountIndex(param0->unk_05, param0->unk_04), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordTradeCountIndex(param0->unk_05, param0->unk_04)), param0->unk_08); + BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetFactoryRecordTradeCountIndex(param0->unk_05, param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetFactoryRecordTradeCountIndex(param0->unk_05, param0->challengeType)), param0->unk_08); } v5[0] = param0->unk_0A; - sub_020300B0(v14, 10, (param0->unk_05 * 4) + param0->unk_04, v5); + sub_020300B0(v14, 10, (param0->unk_05 * 4) + param0->challengeType, v5); - if (param0->unk_04 == 3) { + if (param0->challengeType == 3) { if (param0->unk_05 == 0) { v10 = 102; } else { @@ -421,18 +412,18 @@ void ov104_02234148(UnkStruct_ov104_0223ADA0 *param0, u8 param1) return; } -u16 ov104_02234430(UnkStruct_ov104_0223ADA0 *param0) +u16 ov104_02234430(BattleFactory *param0) { param0->unk_06++; return param0->unk_06; } -u16 ov104_0223443C(UnkStruct_ov104_0223ADA0 *param0) +u16 ov104_0223443C(BattleFactory *param0) { return param0->unk_06; } -u16 ov104_02234440(UnkStruct_ov104_0223ADA0 *param0, u8 param1) +u16 ov104_02234440(BattleFactory *param0, u8 param1) { FrontierTrainerDataDTO v0; u8 v2 = param0->unk_06 + (param1 * 7); @@ -442,13 +433,13 @@ u16 ov104_02234440(UnkStruct_ov104_0223ADA0 *param0, u8 param1) return BattleTower_GetObjectIDFromTrainerClass(v0.trainerType); } -void ov104_02234474(UnkStruct_ov104_0223ADA0 *param0) +void ov104_02234474(BattleFactory *param0) { ov104_02234148(param0, 1); return; } -void ov104_02234480(UnkStruct_ov104_0223ADA0 *param0) +void ov104_02234480(BattleFactory *param0) { param0->unk_0A = 1; @@ -462,15 +453,15 @@ void ov104_02234480(UnkStruct_ov104_0223ADA0 *param0) return; } -void ov104_0223449C(UnkStruct_ov104_0223ADA0 *param0) +void ov104_0223449C(BattleFactory *param0) { int v0; u8 v1, v2; Pokemon *v3; const UnkStruct_ov104_0224028C *v4; - v1 = BattleFactory_GetPartySize(param0->unk_04); - v2 = ov104_0223AA74(param0->unk_04, 1); + v1 = BattleFactory_GetPartySize(param0->challengeType); + v2 = ov104_0223AA74(param0->challengeType, 1); Party_Init(param0->unk_4D4); @@ -492,7 +483,7 @@ void ov104_0223449C(UnkStruct_ov104_0223ADA0 *param0) return; } -void ov104_02234570(UnkStruct_ov104_0223ADA0 *param0) +void ov104_02234570(BattleFactory *param0) { int v0, v1, v2; u8 v3; @@ -506,7 +497,7 @@ void ov104_02234570(UnkStruct_ov104_0223ADA0 *param0) v5[v0] = 0; } - v3 = ov104_0223AA74(param0->unk_04, 1); + v3 = ov104_0223AA74(param0->challengeType, 1); v1 = Party_GetCurrentCount(param0->unk_4D4); for (v0 = 0; v0 < v1; v0++) { @@ -534,7 +525,7 @@ void ov104_02234570(UnkStruct_ov104_0223ADA0 *param0) return; } -void ov104_022346A4(UnkStruct_ov104_0223ADA0 *param0) +void ov104_022346A4(BattleFactory *param0) { Pokemon *v0; @@ -553,15 +544,15 @@ void ov104_022346A4(UnkStruct_ov104_0223ADA0 *param0) return; } -void ov104_0223470C(UnkStruct_ov104_0223ADA0 *param0) +void ov104_0223470C(BattleFactory *param0) { int v0; u8 v1, v2; Pokemon *v3; int v4; - v1 = BattleFactory_GetPartySize(param0->unk_04); - v2 = ov104_0223AA74(param0->unk_04, 1); + v1 = BattleFactory_GetPartySize(param0->challengeType); + v2 = ov104_0223AA74(param0->challengeType, 1); Party_Init(param0->unk_4D8); @@ -581,7 +572,7 @@ void ov104_0223470C(UnkStruct_ov104_0223ADA0 *param0) return; } -void ov104_02234790(UnkStruct_ov104_0223ADA0 *param0) +void ov104_02234790(BattleFactory *param0) { if (param0->unk_08 < 9999) { param0->unk_08++; @@ -590,7 +581,7 @@ void ov104_02234790(UnkStruct_ov104_0223ADA0 *param0) return; } -BOOL ov104_022347A4(UnkStruct_ov104_0223ADA0 *param0, u16 param1, u16 param2) +BOOL ov104_022347A4(BattleFactory *param0, u16 param1, u16 param2) { int v0; @@ -621,7 +612,7 @@ BOOL ov104_022347A4(UnkStruct_ov104_0223ADA0 *param0, u16 param1, u16 param2) return v0; } -u16 ov104_022347F8(UnkStruct_ov104_0223ADA0 *param0) +u16 ov104_022347F8(BattleFactory *param0) { u8 v0; u16 v1; @@ -630,7 +621,7 @@ u16 ov104_022347F8(UnkStruct_ov104_0223ADA0 *param0) v1 = param0->unk_0E; - if ((param0->unk_04 == 0) || (param0->unk_04 == 1)) { + if ((param0->challengeType == 0) || (param0->challengeType == 1)) { if (v1 >= 8) { v0 = v2[8]; } else { @@ -644,8 +635,8 @@ u16 ov104_022347F8(UnkStruct_ov104_0223ADA0 *param0) } } - if (param0->unk_04 == 0) { - if ((param0->unk_0C == 21) || (param0->unk_0C == 49)) { + if (param0->challengeType == 0) { + if ((param0->currentStreak == 21) || (param0->currentStreak == 49)) { v0 = 20; } } diff --git a/src/overlay104/ov104_022358E8.c b/src/overlay104/ov104_022358E8.c deleted file mode 100644 index 844b59a741..0000000000 --- a/src/overlay104/ov104_022358E8.c +++ /dev/null @@ -1,614 +0,0 @@ -#include -#include - -#include "applications/frontier/battle_castle/opponent_app.h" -#include "applications/frontier/battle_castle/self_app.h" -#include "overlay104/frontier_script_context.h" -#include "overlay104/frontier_script_manager.h" -#include "overlay104/frscrcmd.h" -#include "overlay104/ov104_0222DCE0.h" -#include "overlay104/ov104_02231F74.h" -#include "overlay104/ov104_022361B4.h" -#include "overlay104/ov104_0223B6F4.h" -#include "overlay104/struct_ov104_02230BE4.h" -#include "overlay104/struct_ov104_0223597C.h" -#include "overlay104/struct_ov104_0223BA10.h" - -#include "battle_frontier_stats.h" -#include "communication_system.h" -#include "field_battle_data_transfer.h" -#include "heap.h" -#include "party.h" -#include "pokemon.h" -#include "string_gf.h" -#include "unk_020302D0.h" -#include "unk_0205DFC4.h" -#include "unk_0209B6F8.h" -#include "unk_0209BA80.h" - -#include "constdata/const_020EA358.h" - -FS_EXTERN_OVERLAY(battle_castle_app); - -#include - -static BOOL ov104_02236008(FrontierScriptContext *param0); -static void ov104_02235B3C(UnkStruct_ov104_0223597C *param0, UnkStruct_ov104_0223BA10 *param1); -static BOOL ov104_02236058(FrontierScriptContext *param0); -static void ov104_02235B84(void *param0); - -BOOL FrontierScrCmd_97(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0; - UnkStruct_ov104_02230BE4 *v1; - u16 v2 = FrontierScriptContext_GetVar(param0); - u16 v3 = FrontierScriptContext_GetVar(param0); - u16 v4 = FrontierScriptContext_GetVar(param0); - u16 v5 = FrontierScriptContext_GetVar(param0); - u16 v6 = FrontierScriptContext_GetVar(param0); - u16 *v7 = FrontierScriptContext_TryGetVarPointer(param0); - - v1 = sub_0209B970(param0->scriptMan->unk_00); - v0 = ov104_022361B4(v1->saveData, v2, v3, v4, v5, v6, v7); - - sub_0209B980(param0->scriptMan->unk_00, v0); - - return 0; -} - -BOOL FrontierScrCmd_98(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0; - u16 v1 = FrontierScriptContext_GetVar(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_02236514(v0, v1); - - return 0; -} - -BOOL FrontierScrCmd_99(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_022367AC(v0); - - return 0; -} - -BOOL FrontierScrCmd_9A(FrontierScriptContext *param0) -{ - int v0; - UnkStruct_ov104_0223BA10 *v1; - UnkStruct_ov104_0223597C *v2; - UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(param0->scriptMan->unk_00); - - FS_EXTERN_OVERLAY(battle_castle_app); - - static const ApplicationManagerTemplate v4 = { - BattleCastleSelfApp_Init, - BattleCastleSelfApp_Main, - BattleCastleSelfApp_Exit, - FS_OVERLAY_ID(battle_castle_app) - }; - - v1 = sub_0209B978(param0->scriptMan->unk_00); - v2 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_ov104_0223597C)); - - MI_CpuClear8(v2, sizeof(UnkStruct_ov104_0223597C)); - v2->saveData = v3->saveData; - - ov104_02235B3C(v2, v1); - sub_0209B988(param0->scriptMan->unk_00, &v4, v2, 0, ov104_02235B84); - - return 1; -} - -BOOL FrontierScrCmd_A4(FrontierScriptContext *param0) -{ - int v0; - UnkStruct_ov104_0223BA10 *v1; - UnkStruct_ov104_0223597C *v2; - UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(param0->scriptMan->unk_00); - - FS_EXTERN_OVERLAY(battle_castle_app); - - static const ApplicationManagerTemplate v4 = { - NULL, - NULL, - NULL, - FS_OVERLAY_ID(battle_castle_app) - }; - - v1 = sub_0209B978(param0->scriptMan->unk_00); - v2 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_ov104_0223597C)); - - MI_CpuClear8(v2, sizeof(UnkStruct_ov104_0223597C)); - v2->saveData = v3->saveData; - - ov104_02235B3C(v2, v1); - sub_0209B988(param0->scriptMan->unk_00, &v4, v2, 0, ov104_02235B84); - - return 1; -} - -BOOL FrontierScrCmd_9B(FrontierScriptContext *param0) -{ - int v0; - UnkStruct_ov104_0223BA10 *v1; - FieldBattleDTO *v2; - Pokemon *v3; - - v1 = sub_0209B978(param0->scriptMan->unk_00); - v2 = v1->unk_0C; - - v3 = Party_GetPokemonBySlotIndex(v2->parties[0], 0); - Party_AddPokemonBySlotIndex(v1->unk_28, 0, v3); - - v3 = Party_GetPokemonBySlotIndex(v2->parties[0], 1); - Party_AddPokemonBySlotIndex(v1->unk_28, 1, v3); - - if (BattleCastle_IsMultiPlayerChallenge(v1->unk_10) == 0) { - v3 = Party_GetPokemonBySlotIndex(v2->parties[0], 2); - Party_AddPokemonBySlotIndex(v1->unk_28, 2, v3); - } else { - v3 = Party_GetPokemonBySlotIndex(v2->parties[2], 0); - Party_AddPokemonBySlotIndex(v1->unk_28, 2, v3); - - v3 = Party_GetPokemonBySlotIndex(v2->parties[2], 1); - Party_AddPokemonBySlotIndex(v1->unk_28, 3, v3); - } - - v1->unk_1C = CheckPlayerWonBattle(v2->resultMask); - FieldBattleDTO_Free(v2); - - return 0; -} - -BOOL FrontierScrCmd_9C(FrontierScriptContext *param0) -{ - FieldBattleDTO *v0; - UnkStruct_ov104_0223BA10 *v1; - UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); - - v1 = sub_0209B978(param0->scriptMan->unk_00); - v0 = ov104_0223B810(v1, v2); - - v1->unk_0C = v0; - - sub_0209B988(param0->scriptMan->unk_00, &gBattleApplicationTemplate, v0, 0, NULL); - return 1; -} - -BOOL FrontierScrCmd_9D(FrontierScriptContext *param0) -{ - int v0; - UnkStruct_ov104_0223BA10 *v1; - UnkStruct_ov104_0223597C *v2; - UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(param0->scriptMan->unk_00); - - FS_EXTERN_OVERLAY(battle_castle_app); - - static const ApplicationManagerTemplate v4 = { - BattleCastleOpponentApp_Init, - BattleCastleOpponentApp_Main, - BattleCastleOpponentApp_Exit, - FS_OVERLAY_ID(battle_castle_app) - }; - - v1 = sub_0209B978(param0->scriptMan->unk_00); - v2 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_ov104_0223597C)); - - MI_CpuClear8(v2, sizeof(UnkStruct_ov104_0223597C)); - v2->saveData = v3->saveData; - - ov104_02235B3C(v2, v1); - sub_0209B988(param0->scriptMan->unk_00, &v4, v2, 0, ov104_02235B84); - - return 1; -} - -static void ov104_02235B3C(UnkStruct_ov104_0223597C *param0, UnkStruct_ov104_0223BA10 *param1) -{ - int v0; - - param0->unk_04 = param1->unk_10; - param0->unk_18 = param1->unk_28; - param0->unk_1C = param1->unk_2C; - param0->unk_24 = param1; - param0->unk_28 = param1->unk_A1C; - - for (v0 = 0; v0 < 4; v0++) { - param0->unk_08[v0] = param1->unk_370[v0]; - param0->unk_0C[v0] = param1->unk_374[v0]; - param0->unk_10[v0] = param1->unk_378[v0]; - param0->unk_14[v0] = param1->unk_37C[v0]; - } - - return; -} - -static void ov104_02235B84(void *param0) -{ - int v0; - UnkStruct_ov104_0223597C *v1 = param0; - - ov104_022367DC(v1->unk_24, param0); - Heap_Free(param0); - - return; -} - -BOOL FrontierScrCmd_9E(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_02236BF0(v0); - - return 0; -} - -BOOL FrontierScrCmd_9F(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_02236BF8(v0); - - return 0; -} - -BOOL FrontierScrCmd_A0(FrontierScriptContext *param0) -{ - String *v0; - Pokemon *v1; - Party *v2; - UnkStruct_ov104_0223BA10 *v3; - u8 v4; - u32 v5[9][2]; - u32 v6, v7; - int v8, v9, v10; - UnkStruct_ov104_02230BE4 *v11; - FrontierGraphics *v12; - u8 v13[4]; - u8 v14 = FrontierScriptContext_ReadByte(param0); - u8 v15 = FrontierScriptContext_ReadByte(param0); - u8 v16 = FrontierScriptContext_ReadByte(param0); - u16 *v17 = FrontierScriptContext_TryGetVarPointer(param0); - - v3 = sub_0209B978(param0->scriptMan->unk_00); - v11 = sub_0209B970(param0->scriptMan->unk_00); - - switch (v14) { - case 2: - v3->unk_10 = v15; - break; - case 3: - *v17 = v3->unk_380[v15]; - break; - case 4: - *v17 = v3->unk_14; - break; - case 5: - if (v3->unk_14 < 9999) { - v3->unk_14++; - } - break; - case 7: - OS_ResetSystem(0); - break; - case 9: - *v17 = sub_020302EC(v3->unk_08); - break; - case 10: - ov104_02236848(v3, 2); - break; - case 14: - *v17 = ov104_02236B48(v3); - break; - case 15: - *v17 = v3->unk_288[v15].species; - break; - case 16: - *v17 = v3->unk_288[v15].moves[v16]; - break; - case 18: - v2 = SaveData_GetParty(v11->saveData); - - for (v8 = 0; v8 < 3; v8++) { - v1 = Party_GetPokemonBySlotIndex(v2, v3->unk_24[v8]); - Pokemon_SetValue(v1, MON_DATA_HELD_ITEM, &v3->unk_36A[v8]); - } - break; - case 19: - *v17 = ov104_0223BB60(v3); - break; - case 20: - *v17 = ov104_02236B58(v3, v15); - break; - case 21: - ov104_02236B8C(v3); - break; - case 22: - ov104_02236BD0(v3); - break; - case 23: - *v17 = ov104_02236B54(v3); - break; - case 24: - *v17 = v3->unk_A10; - break; - case 26: - *v17 = v3->unk_A11; - break; - case 27: - *v17 = ov104_02236D10(v3); - ov104_02236ED8(v3->saveData, v3->unk_10, *v17); - break; - case 28: - ov104_02236C50(v3); - break; - case 29: - sub_0209BA80(v3); - break; - case 30: - if (v3->unk_A1B >= 6) { - *v17 = (v3->unk_A1B - 6); - } else { - *v17 = v3->unk_A1B; - } - break; - case 31: - v3->unk_A1B = 0; - v3->unk_A19 = 0; - v3->unk_A18 = 0; - break; - case 32: - v3->unk_A18 = v15; - break; - case 33: - v10 = 0; - - if (v3->unk_A1B >= 6) { - if (CommSys_CurNetId() != 0) { - v10 = 1; - } - } else { - if (CommSys_CurNetId() == 0) { - v10 = 1; - } - } - - if (v10 == 1) { - ov104_0223BC2C(SaveData_GetBattleFrontier(v11->saveData), v3->unk_10, 50); - } else { - v3->unk_A1C -= 50; - } - break; - case 34: - *v17 = 0; - - if (BattleCastle_IsMultiPlayerChallenge(v3->unk_10) == 1) { - if (v3->unk_A1B >= 6) { - if (CommSys_CurNetId() == 0) { - *v17 = 1; - } - } else { - if (CommSys_CurNetId() != 0) { - *v17 = 1; - } - } - } - break; - case 35: - *v17 = BattleCastle_IsMultiPlayerChallenge(v3->unk_10); - break; - case 17: - *v17 = v3->unk_10; - break; - case 25: - *v17 = v3->unk_12; - break; - case 36: - v12 = FrontierScriptManager_GetGraphics(param0->scriptMan); - ov104_0223BB84(v12->bgConfig, v3, 3); - break; - case 37: - ov104_0222E278(&(v3->unk_4C[0]), v3->unk_30[v3->unk_11], HEAP_ID_FIELD2, 178); - ov104_0222E278(&(v3->unk_4C[1]), v3->unk_30[v3->unk_11 + 7], HEAP_ID_FIELD2, 178); - break; - case 38: - *v17 = ov104_02237338(v3); - break; - case 39: - *v17 = (u16)sub_02030470(sub_0203041C(v11->saveData), 10, 0, 0, NULL); - v13[0] = 1; - sub_02030430(sub_0203041C(v11->saveData), 10, 0, 0, v13); - break; - case 40: - *v17 = 0; - - if (v3->unk_10 == 0) { - if ((v3->unk_14 + 1) == 21) { - *v17 = 1; - } else if ((v3->unk_14 + 1) == 49) { - *v17 = 2; - } - } - break; - case 41: - ov104_0222E330(v3->unk_288, v3->unk_26C, v3->unk_274, v3->unk_278, NULL, 4, 11, 179); - break; - case 42: - ov104_0223BAB8(v3); - break; - case 43: - *v17 = v3->unk_13; - v3->unk_13 = 1; - break; - case 44: - if (v3->unk_10 == 3) { - if (v15 == 0) { - v3->unk_22 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v11->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v3->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v3->unk_10))); - BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(v11->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v3->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v3->unk_10)), v3->unk_20); - } else { - BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(v11->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v3->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v3->unk_10)), v3->unk_22); - } - } - break; - } - - return 0; -} - -BOOL FrontierScrCmd_A1(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0; - u16 *v1 = FrontierScriptContext_TryGetVarPointer(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - *v1 = v0->unk_1C; - - return 0; -} - -BOOL FrontierScrCmd_A2(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0; - u16 v1 = FrontierScriptContext_GetVar(param0); - u16 v2 = FrontierScriptContext_GetVar(param0); - u16 *v3 = FrontierScriptContext_TryGetVarPointer(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - *v3 = ov104_02236F70(v0, v1, v2); - - return 1; -} - -BOOL FrontierScrCmd_A3(FrontierScriptContext *param0) -{ - u16 v0 = FrontierScriptContext_ReadHalfWord(param0); - - param0->data[0] = v0; - FrontierScriptContext_Pause(param0, ov104_02236008); - - return 1; -} - -static BOOL ov104_02236008(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0; - u16 v1 = FrontierScriptContext_TryGetVar(param0, param0->data[0]); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - - if (v0->unk_A1A >= 2) { - v0->unk_A1A = 0; - return 1; - } - - return 0; -} - -BOOL FrontierScrCmd_A5(FrontierScriptContext *param0) -{ - u16 v0 = FrontierScriptContext_ReadHalfWord(param0); - - param0->data[0] = v0; - FrontierScriptContext_Pause(param0, ov104_02236058); - - return 1; -} - -static BOOL ov104_02236058(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0; - u16 *v1 = FrontierScriptContext_GetVarPointer(param0, param0->data[0]); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - - if (v0->unk_A1B == 0) { - return 0; - } - - v0->unk_A1A = 0; - *v1 = v0->unk_A1B; - - return 1; -} - -BOOL FrontierScrCmd_50(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_02236FC0(param0->scriptMan, v0); - - return 0; -} - -BOOL FrontierScrCmd_51(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_022370E0(param0->scriptMan, v0); - - return 0; -} - -BOOL FrontierScrCmd_52(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BA10 *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_02237180(param0->scriptMan, v0); - - return 0; -} - -BOOL FrontierScrCmd_A6(FrontierScriptContext *param0) -{ - UnkStruct_ov104_02230BE4 *v0; - u16 v1 = FrontierScriptContext_GetVar(param0); - u16 *v2 = FrontierScriptContext_TryGetVarPointer(param0); - - v0 = sub_0209B970(param0->scriptMan->unk_00); - *v2 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v0->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v1), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v1))); - - return 0; -} - -BOOL FrontierScrCmd_A7(FrontierScriptContext *param0) -{ - UnkStruct_ov104_02230BE4 *v0; - u16 v1 = FrontierScriptContext_GetVar(param0); - u16 v2 = FrontierScriptContext_GetVar(param0); - - v0 = sub_0209B970(param0->scriptMan->unk_00); - ov104_0223BC2C(SaveData_GetBattleFrontier(v0->saveData), v1, v2); - - return 0; -} - -BOOL FrontierScrCmd_A8(FrontierScriptContext *param0) -{ - u16 v0; - UnkStruct_ov104_02230BE4 *v1; - u16 v2 = FrontierScriptContext_GetVar(param0); - u16 v3 = FrontierScriptContext_GetVar(param0); - - v1 = sub_0209B970(param0->scriptMan->unk_00); - ov104_02236ED8(v1->saveData, v2, v3); - - return 0; -} - -BOOL FrontierScrCmd_A9(FrontierScriptContext *param0) -{ - u16 *v0; - UnkStruct_ov104_0223BA10 *v1; - UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); - u16 v3 = FrontierScriptContext_ReadByte(param0); - - v1 = sub_0209B978(param0->scriptMan->unk_00); - - if (v1 == NULL) { - return 0; - } - - v0 = v1->unk_4C[v3].trDataDTO.unk_18; - - ov104_022330FC(param0, v0); - return 1; -} diff --git a/src/overlay104/ov104_022361B4.c b/src/overlay104/ov104_022361B4.c index c6bae411bf..e2f51d98fc 100644 --- a/src/overlay104/ov104_022361B4.c +++ b/src/overlay104/ov104_022361B4.c @@ -1,7 +1,6 @@ #include "overlay104/ov104_022361B4.h" #include -#include #include "constants/heap.h" #include "generated/game_records.h" @@ -10,13 +9,13 @@ #include "struct_decls/struct_0203041C_decl.h" #include "struct_defs/battle_frontier.h" +#include "applications/frontier/battle_castle/args.h" #include "overlay104/defs.h" #include "overlay104/frontier_script_manager.h" #include "overlay104/ov104_0222DCE0.h" #include "overlay104/ov104_0222ECE8.h" #include "overlay104/ov104_0223B6F4.h" -#include "overlay104/struct_ov104_0223597C.h" -#include "overlay104/struct_ov104_0223BA10.h" +#include "overlay104/struct_battle_castle.h" #include "battle_frontier_stats.h" #include "bg_window.h" @@ -39,26 +38,25 @@ #include "unk_0205DFC4.h" #include "vars_flags.h" -void ov104_02236514(UnkStruct_ov104_0223BA10 *param0, u16 param1); -static void ov104_02236528(UnkStruct_ov104_0223BA10 *param0); -static void ov104_022365F8(UnkStruct_ov104_0223BA10 *param0); -static void ov104_022366A4(UnkStruct_ov104_0223BA10 *param0); -void ov104_022367AC(UnkStruct_ov104_0223BA10 *param0); -void ov104_022367DC(UnkStruct_ov104_0223BA10 *param0, void *param1); -u16 ov104_02236834(void *param0, u8 param1); -void ov104_02236BF0(UnkStruct_ov104_0223BA10 *param0); -void ov104_02236BF8(UnkStruct_ov104_0223BA10 *param0); -void ov104_02236C50(UnkStruct_ov104_0223BA10 *param0); -int ov104_02236D10(UnkStruct_ov104_0223BA10 *param0); -BOOL ov104_02236F70(UnkStruct_ov104_0223BA10 *param0, u16 param1, u16 param2); -void ov104_02236FC0(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *param1); -void ov104_022370E0(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *param1); -void ov104_02237180(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *param1); +void ov104_02236514(BattleCastle *param0, u16 param1); +static void ov104_02236528(BattleCastle *param0); +static void ov104_022365F8(BattleCastle *param0); +static void ov104_022366A4(BattleCastle *param0); +void ov104_022367AC(BattleCastle *param0); +static u16 GetBattleCastleAppSelectedSlot(BattleCastleAppArgs *args, u8 i); +void ov104_02236BF0(BattleCastle *param0); +void ov104_02236BF8(BattleCastle *param0); +void ov104_02236C50(BattleCastle *param0); +int ov104_02236D10(BattleCastle *param0); +BOOL ov104_02236F70(BattleCastle *param0, u16 param1, u16 param2); +void ov104_02236FC0(FrontierScriptManager *param0, BattleCastle *param1); +void ov104_022370E0(FrontierScriptManager *param0, BattleCastle *param1); +void ov104_02237180(FrontierScriptManager *param0, BattleCastle *param1); static void ov104_022370C0(BgConfig *param0, Window *param1); static void ov104_02237284(FrontierScriptManager *param0, Window *param1, TrainerInfo *param2, u16 param3); -u16 ov104_02237338(UnkStruct_ov104_0223BA10 *param0); +u16 ov104_02237338(BattleCastle *param0); -UnkStruct_ov104_0223BA10 *ov104_022361B4(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6) +BattleCastle *ov104_022361B4(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6) { u32 v0, v1; Party *v2; @@ -66,11 +64,11 @@ UnkStruct_ov104_0223BA10 *ov104_022361B4(SaveData *saveData, u16 param1, u8 para UnkStruct_020302DC *v4; u8 v5, v6; u16 v7, v8; - static UnkStruct_ov104_0223BA10 *v9; + static BattleCastle *v9; UnkStruct_0203041C *v10; - v9 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_ov104_0223BA10)); - MI_CpuClear8(v9, sizeof(UnkStruct_ov104_0223BA10)); + v9 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleCastle)); + MI_CpuClear8(v9, sizeof(BattleCastle)); v9->unk_08 = sub_020302DC(saveData); v9->saveData = saveData; @@ -83,43 +81,43 @@ UnkStruct_ov104_0223BA10 *ov104_022361B4(SaveData *saveData, u16 param1, u8 para v10 = sub_0203041C(saveData); if (param1 == 0) { - v9->unk_10 = param2; + v9->challengeType = param2; v9->unk_11 = 0; sub_020302D0(v4); - if (v9->unk_10 == 3) { + if (v9->challengeType == 3) { v5 = SystemVars_GetWiFiFrontierCleared(SaveData_GetVarsFlags(v9->saveData)); } else { - v5 = (u8)sub_02030470(v10, 9, v9->unk_10, 0, NULL); + v5 = (u8)sub_02030470(v10, 9, v9->challengeType, 0, NULL); } if (v5 == 1) { - v9->unk_14 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestStreakIndex(v9->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestStreakIndex(v9->unk_10))); + v9->currentStreak = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestStreakIndex(v9->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestStreakIndex(v9->challengeType))); } else { - v9->unk_14 = 0; + v9->currentStreak = 0; - BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v9->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v9->unk_10)), 0); + BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v9->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v9->challengeType)), 0); BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleSpentCPIndex(param2), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleSpentCPIndex(param2)), 0); for (v7 = 0; v7 < 3; v7++) { - BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleRankIndex(v9->unk_10, v7), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRankIndex(v9->unk_10, v7)), 1); + BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleRankIndex(v9->challengeType, v7), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRankIndex(v9->challengeType, v7)), 1); } } - v9->unk_16 = (u16)(v9->unk_14 / 7); + v9->unk_16 = (u16)(v9->currentStreak / 7); v9->unk_18 = 0; v9->unk_24[0] = param3; v9->unk_24[1] = param4; v9->unk_24[2] = param5; - v9->unk_20 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v9->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v9->unk_10))); + v9->unk_20 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v9->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v9->challengeType))); - BattleFrontierStats_AddToStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v9->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v9->unk_10)), 10); + BattleFrontierStats_AddToStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestCPIndex(v9->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(v9->challengeType)), 10); } else { - v9->unk_10 = (u8)sub_02030398(v4, 0, 0, 0, NULL); + v9->challengeType = (u8)sub_02030398(v4, 0, 0, 0, NULL); v9->unk_11 = (u8)sub_02030398(v4, 1, 0, 0, NULL); - v9->unk_14 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestStreakIndex(v9->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestStreakIndex(v9->unk_10))); - v9->unk_16 = (u16)(v9->unk_14 / 7); + v9->currentStreak = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetCastleLatestStreakIndex(v9->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestStreakIndex(v9->challengeType))); + v9->unk_16 = (u16)(v9->currentStreak / 7); for (v7 = 0; v7 < 3; v7++) { v9->unk_24[v7] = (u8)sub_02030398(v4, 7, v7, 0, NULL); @@ -132,7 +130,7 @@ UnkStruct_ov104_0223BA10 *ov104_022361B4(SaveData *saveData, u16 param1, u8 para } v2 = SaveData_GetParty(v9->saveData); - v6 = BattleCastle_GetPartySize(v9->unk_10, 0); + v6 = BattleCastle_GetPartySize(v9->challengeType, 0); for (v7 = 0; v7 < v6; v7++) { Party_AddPokemon(v9->unk_28, Party_GetPokemonBySlotIndex(v2, v9->unk_24[v7])); @@ -149,14 +147,14 @@ UnkStruct_ov104_0223BA10 *ov104_022361B4(SaveData *saveData, u16 param1, u8 para } } - if (BattleCastle_IsMultiPlayerChallenge(v9->unk_10) == 1) { + if (BattleCastle_IsMultiPlayerChallenge(v9->challengeType) == 1) { ov104_0222E630(v9->saveData); } return v9; } -void ov104_02236514(UnkStruct_ov104_0223BA10 *param0, u16 param1) +void ov104_02236514(BattleCastle *param0, u16 param1) { if (param1 == 0) { ov104_02236528(param0); @@ -167,7 +165,7 @@ void ov104_02236514(UnkStruct_ov104_0223BA10 *param0, u16 param1) return; } -static void ov104_02236528(UnkStruct_ov104_0223BA10 *param0) +static void ov104_02236528(BattleCastle *param0) { u8 v0 = Party_GetCurrentCount(param0->unk_28); @@ -180,14 +178,14 @@ static void ov104_02236528(UnkStruct_ov104_0223BA10 *param0) param0->unk_394[i][3] = Pokemon_GetValue(mon, MON_DATA_MOVE4_PP, NULL); } - ov104_0223B760(param0->unk_10, ov104_0223BB60(param0), param0->unk_30, 7 * 2); + ov104_0223B760(param0->challengeType, ov104_0223BB60(param0), param0->unk_30, 7 * 2); - ov104_0222E4BC(ov104_0223B7DC(param0->unk_10, 1), param0->unk_30[param0->unk_11], param0->unk_30[param0->unk_11 + 7], param0->unk_26C, param0->unk_288, param0->unk_274, param0->unk_278, BattleCastle_IsMultiPlayerChallenge(param0->unk_10)); + ov104_0222E4BC(ov104_0223B7DC(param0->challengeType, 1), param0->unk_30[param0->unk_11], param0->unk_30[param0->unk_11 + 7], param0->unk_26C, param0->unk_288, param0->unk_274, param0->unk_278, BattleCastle_IsMultiPlayerChallenge(param0->challengeType)); return; } -static void ov104_022365F8(UnkStruct_ov104_0223BA10 *param0) +static void ov104_022365F8(BattleCastle *param0) { u16 v0; int v1; @@ -223,7 +221,7 @@ static void ov104_022365F8(UnkStruct_ov104_0223BA10 *param0) return; } -static void ov104_022366A4(UnkStruct_ov104_0223BA10 *param0) +static void ov104_022366A4(BattleCastle *param0) { u8 v0; u32 v1; @@ -262,7 +260,7 @@ static void ov104_022366A4(UnkStruct_ov104_0223BA10 *param0) return; } -void ov104_022367AC(UnkStruct_ov104_0223BA10 *param0) +void ov104_022367AC(BattleCastle *param0) { int v0; @@ -278,7 +276,7 @@ void ov104_022367AC(UnkStruct_ov104_0223BA10 *param0) Heap_Free(param0->unk_2C); } - MI_CpuClear8(param0, sizeof(UnkStruct_ov104_0223BA10)); + MI_CpuClear8(param0, sizeof(BattleCastle)); Heap_Free(param0); param0 = NULL; @@ -286,46 +284,33 @@ void ov104_022367AC(UnkStruct_ov104_0223BA10 *param0) return; } -void ov104_022367DC(UnkStruct_ov104_0223BA10 *param0, void *param1) +void BattleCastle_StoreAppResults(BattleCastle *battleCastle, BattleCastleAppArgs *args) { - int v0; - UnkStruct_ov104_0223597C *v1 = param1; - - for (v0 = 0; v0 < 6; v0++) { - param0->unk_380[v0] = ov104_02236834(param1, v0); + for (int i = 0; i < 6; i++) { + battleCastle->unk_380[i] = GetBattleCastleAppSelectedSlot(args, i); } - for (v0 = 0; v0 < 4; v0++) { - param0->unk_370[v0] = v1->unk_08[v0]; - param0->unk_374[v0] = v1->unk_0C[v0]; - param0->unk_378[v0] = v1->unk_10[v0]; - param0->unk_37C[v0] = v1->unk_14[v0]; + for (int i = 0; i < 4; i++) { + battleCastle->appIdentityUnlocked[i] = args->identityUnlocked[i]; + battleCastle->appLevelAdjustmentsUnlocked[i] = args->levelAdjustmentUnlocked[i]; + battleCastle->appStatsUnlocked[i] = args->statsUnlocked[i]; + battleCastle->appMovesUnlocked[i] = args->movesUnlocked[i]; } - param0->unk_A1C = v1->unk_28; - return; + battleCastle->partnersCP = args->partnersCP; } -u16 ov104_02236834(void *param0, u8 param1) +static u16 GetBattleCastleAppSelectedSlot(BattleCastleAppArgs *args, u8 i) { - UnkStruct_ov104_0223597C *v0 = param0; - - if (param1 >= 6) { + if (i >= 6) { GF_ASSERT(0); return 0; } - return v0->unk_20; + return args->selectedMonSlot; } -void ov104_02236848(UnkStruct_ov104_0223BA10 *param0, u8 param1); -u16 ov104_02236B48(UnkStruct_ov104_0223BA10 *param0); -u16 ov104_02236B54(UnkStruct_ov104_0223BA10 *param0); -u16 ov104_02236B58(UnkStruct_ov104_0223BA10 *param0, u8 param1); -void ov104_02236B8C(UnkStruct_ov104_0223BA10 *param0); -void ov104_02236BD0(UnkStruct_ov104_0223BA10 *param0); - -void ov104_02236848(UnkStruct_ov104_0223BA10 *param0, u8 param1) +void ov104_02236848(BattleCastle *param0, u8 param1) { u16 v0, v1, v2; u8 v3; @@ -339,8 +324,8 @@ void ov104_02236848(UnkStruct_ov104_0223BA10 *param0, u8 param1) UnkStruct_0203041C *v13 = sub_0203041C(param0->saveData); frontier = SaveData_GetBattleFrontier(param0->saveData); - v3 = ov104_0223B7DC(param0->unk_10, 1); - v4[0] = param0->unk_10; + v3 = ov104_0223B7DC(param0->challengeType, 1); + v4[0] = param0->challengeType; sub_02030308(param0->unk_08, 0, 0, 0, v4); sub_020302F4(param0->unk_08, 1); @@ -348,24 +333,24 @@ void ov104_02236848(UnkStruct_ov104_0223BA10 *param0, u8 param1) v4[0] = param0->unk_11; sub_02030308(param0->unk_08, 1, 0, 0, v4); - BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetCastleLatestStreakIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestStreakIndex(param0->unk_10)), param0->unk_14); + BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetCastleLatestStreakIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestStreakIndex(param0->challengeType)), param0->currentStreak); if (param1 != 2) { - v1 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetCastleRecordStreakIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordStreakIndex(param0->unk_10))); - v7 = BattleFrontierStats_SetIfBetter(frontier, BattleFrontierStats_GetCastleRecordStreakIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordStreakIndex(param0->unk_10)), param0->unk_14); - v2 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetCastleRecordStreakIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordStreakIndex(param0->unk_10))); - v9 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetCastleLatestCPIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param0->unk_10))); + v1 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetCastleRecordStreakIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordStreakIndex(param0->challengeType))); + v7 = BattleFrontierStats_SetIfBetter(frontier, BattleFrontierStats_GetCastleRecordStreakIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordStreakIndex(param0->challengeType)), param0->currentStreak); + v2 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetCastleRecordStreakIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordStreakIndex(param0->challengeType))); + v9 = BattleFrontierStats_GetStat(frontier, BattleFrontierStats_GetCastleLatestCPIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param0->challengeType))); - if (param0->unk_14 == v1) { - BattleFrontierStats_SetIfBetter(frontier, BattleFrontierStats_GetCastleRecordCPIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordCPIndex(param0->unk_10)), v9); + if (param0->currentStreak == v1) { + BattleFrontierStats_SetIfBetter(frontier, BattleFrontierStats_GetCastleRecordCPIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordCPIndex(param0->challengeType)), v9); } else if (v1 < v2) { - BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetCastleRecordCPIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordCPIndex(param0->unk_10)), v9); + BattleFrontierStats_SetStat(frontier, BattleFrontierStats_GetCastleRecordCPIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRecordCPIndex(param0->challengeType)), v9); } v4[0] = param0->unk_27; - sub_02030430(v13, 9, param0->unk_10, 0, v4); + sub_02030430(v13, 9, param0->challengeType, 0, v4); - if (param0->unk_10 == 3) { + if (param0->challengeType == 3) { BattleFrontierStats_SetStat(frontier, STAT_CASTLE_WFC_STREAK_ACTIVE, BattleFrontierStats_GetHostFriendIdx(STAT_CASTLE_WFC_STREAK_ACTIVE), param0->unk_27); } } @@ -419,18 +404,18 @@ void ov104_02236848(UnkStruct_ov104_0223BA10 *param0, u8 param1) return; } -u16 ov104_02236B48(UnkStruct_ov104_0223BA10 *param0) +u16 ov104_02236B48(BattleCastle *param0) { param0->unk_11++; return param0->unk_11; } -u16 ov104_02236B54(UnkStruct_ov104_0223BA10 *param0) +u16 ov104_02236B54(BattleCastle *param0) { return param0->unk_11; } -u16 ov104_02236B58(UnkStruct_ov104_0223BA10 *param0, u8 param1) +u16 ov104_02236B58(BattleCastle *param0, u8 param1) { FrontierTrainerDataDTO v0; u8 v2 = param0->unk_11 + (param1 * 7); @@ -440,7 +425,7 @@ u16 ov104_02236B58(UnkStruct_ov104_0223BA10 *param0, u8 param1) return BattleTower_GetObjectIDFromTrainerClass(v0.trainerType); } -void ov104_02236B8C(UnkStruct_ov104_0223BA10 *param0) +void ov104_02236B8C(BattleCastle *param0) { u16 v0[4]; int v1; @@ -448,7 +433,7 @@ void ov104_02236B8C(UnkStruct_ov104_0223BA10 *param0) v0[0] = 1; for (v1 = 0; v1 < 3; v1++) { - BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(param0->saveData), BattleFrontierStats_GetCastleRankIndex(param0->unk_10, v1), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRankIndex(param0->unk_10, v1)), 1); + BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(param0->saveData), BattleFrontierStats_GetCastleRankIndex(param0->challengeType, v1), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleRankIndex(param0->challengeType, v1)), 1); } ov104_02236848(param0, 1); @@ -456,7 +441,7 @@ void ov104_02236B8C(UnkStruct_ov104_0223BA10 *param0) return; } -void ov104_02236BD0(UnkStruct_ov104_0223BA10 *param0) +void ov104_02236BD0(BattleCastle *param0) { param0->unk_27 = 1; @@ -470,17 +455,17 @@ void ov104_02236BD0(UnkStruct_ov104_0223BA10 *param0) return; } -void ov104_02236BF0(UnkStruct_ov104_0223BA10 *param0) +void ov104_02236BF0(BattleCastle *param0) { ov104_0223BAB8(param0); return; } -void ov104_02236BF8(UnkStruct_ov104_0223BA10 *param0) +void ov104_02236BF8(BattleCastle *param0) { int v0, v1, v2; - ov104_0222E4BC(ov104_0223B7DC(param0->unk_10, 1), param0->unk_30[param0->unk_11], param0->unk_30[param0->unk_11 + 7], param0->unk_26C, param0->unk_288, param0->unk_274, param0->unk_278, BattleCastle_IsMultiPlayerChallenge(param0->unk_10)); + ov104_0222E4BC(ov104_0223B7DC(param0->challengeType, 1), param0->unk_30[param0->unk_11], param0->unk_30[param0->unk_11 + 7], param0->unk_26C, param0->unk_288, param0->unk_274, param0->unk_278, BattleCastle_IsMultiPlayerChallenge(param0->challengeType)); for (v0 = 0; v0 < 4; v0++) { (void)0; @@ -490,7 +475,7 @@ void ov104_02236BF8(UnkStruct_ov104_0223BA10 *param0) return; } -void ov104_02236C50(UnkStruct_ov104_0223BA10 *param0) +void ov104_02236C50(BattleCastle *param0) { u8 v0, v1; int v2, v3; @@ -502,7 +487,7 @@ void ov104_02236C50(UnkStruct_ov104_0223BA10 *param0) v0 = 2; } - v1 = BattleCastle_GetPartySize(param0->unk_10, 0); + v1 = BattleCastle_GetPartySize(param0->challengeType, 0); v3 = Party_GetCurrentCount(param0->unk_28); for (v2 = v0; v2 < (v1 + v0); v2++) { @@ -517,16 +502,16 @@ void ov104_02236C50(UnkStruct_ov104_0223BA10 *param0) ov104_0223BA24(param0->unk_28); for (v2 = 0; v2 < 4; v2++) { - param0->unk_370[v2] = 0; - param0->unk_374[v2] = 0; - param0->unk_378[v2] = 0; - param0->unk_37C[v2] = 0; + param0->appIdentityUnlocked[v2] = 0; + param0->appLevelAdjustmentsUnlocked[v2] = 0; + param0->appStatsUnlocked[v2] = 0; + param0->appMovesUnlocked[v2] = 0; } return; } -int ov104_02236D10(UnkStruct_ov104_0223BA10 *param0) +int ov104_02236D10(BattleCastle *param0) { u8 v0, v1, v2; u32 v3, v4; @@ -548,8 +533,8 @@ int ov104_02236D10(UnkStruct_ov104_0223BA10 *param0) v2 = 2; } - v0 = BattleCastle_GetPartySize(param0->unk_10, 0); - v1 = ov104_0223B7DC(param0->unk_10, 1); + v0 = BattleCastle_GetPartySize(param0->challengeType, 0); + v1 = ov104_0223B7DC(param0->challengeType, 1); for (v5 = v2; v5 < (v0 + v2); v5++) { v9 = Party_GetPokemonBySlotIndex(param0->unk_28, v5); @@ -588,9 +573,9 @@ int ov104_02236D10(UnkStruct_ov104_0223BA10 *param0) } for (v5 = 0; v5 < v1; v5++) { - if (param0->unk_374[v5] == 1) { + if (param0->appLevelAdjustmentsUnlocked[v5] == 1) { v10[8]++; - } else if (param0->unk_374[v5] == 2) { + } else if (param0->appLevelAdjustmentsUnlocked[v5] == 2) { (void)0; } } @@ -642,7 +627,7 @@ void ov104_02236ED8(SaveData *saveData, u8 param1, int param2) return; } -BOOL ov104_02236F70(UnkStruct_ov104_0223BA10 *param0, u16 param1, u16 param2) +BOOL ov104_02236F70(BattleCastle *param0, u16 param1, u16 param2) { int v0; @@ -673,14 +658,14 @@ BOOL ov104_02236F70(UnkStruct_ov104_0223BA10 *param0, u16 param1, u16 param2) return v0; } -void ov104_02236FC0(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *param1) +void ov104_02236FC0(FrontierScriptManager *param0, BattleCastle *param1) { FrontierGraphics *v0 = FrontierScriptManager_GetGraphics(param0); GF_ASSERT(param0->unk_A8 == NULL); GF_ASSERT(param0->unk_AC == NULL); - if (BattleCastle_IsMultiPlayerChallenge(param1->unk_10) == 0) { + if (BattleCastle_IsMultiPlayerChallenge(param1->challengeType) == 0) { param0->unk_A8 = Window_New(HEAP_ID_FIELD2, 1); Window_Add(v0->bgConfig, param0->unk_A8, 1, 1, 1, 10, 4, 14, ((((1024 - (18 + 12)) - 9) - (27 * 4)) - (11 * 22)) - (10 * 4)); ov104_022370C0(v0->bgConfig, param0->unk_A8); @@ -707,12 +692,12 @@ static void ov104_022370C0(BgConfig *param0, Window *param1) return; } -void ov104_022370E0(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *param1) +void ov104_022370E0(FrontierScriptManager *param0, BattleCastle *param1) { Window *v0; Window *v1; - if (BattleCastle_IsMultiPlayerChallenge(param1->unk_10) == 0) { + if (BattleCastle_IsMultiPlayerChallenge(param1->challengeType) == 0) { GF_ASSERT(param0->unk_A8 != NULL); v0 = param0->unk_A8; Window_EraseStandardFrame(v0, 0); @@ -741,24 +726,24 @@ void ov104_022370E0(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *par return; } -void ov104_02237180(FrontierScriptManager *param0, UnkStruct_ov104_0223BA10 *param1) +void ov104_02237180(FrontierScriptManager *param0, BattleCastle *param1) { u16 v0, v1; - if (BattleCastle_IsMultiPlayerChallenge(param1->unk_10) == 0) { + if (BattleCastle_IsMultiPlayerChallenge(param1->challengeType) == 0) { GF_ASSERT(param0->unk_A8 != NULL); - v0 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(param1->saveData), BattleFrontierStats_GetCastleLatestCPIndex(param1->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param1->unk_10))); + v0 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(param1->saveData), BattleFrontierStats_GetCastleLatestCPIndex(param1->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param1->challengeType))); ov104_02237284(param0, param0->unk_A8, SaveData_GetTrainerInfo(param1->saveData), v0); } else { GF_ASSERT(param0->unk_A8 != NULL); GF_ASSERT(param0->unk_AC != NULL); if (CommSys_CurNetId() == 0) { - v0 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(param1->saveData), BattleFrontierStats_GetCastleLatestCPIndex(param1->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param1->unk_10))); - v1 = param1->unk_A1C; + v0 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(param1->saveData), BattleFrontierStats_GetCastleLatestCPIndex(param1->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param1->challengeType))); + v1 = param1->partnersCP; } else { - v0 = param1->unk_A1C; - v1 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(param1->saveData), BattleFrontierStats_GetCastleLatestCPIndex(param1->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param1->unk_10))); + v0 = param1->partnersCP; + v1 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(param1->saveData), BattleFrontierStats_GetCastleLatestCPIndex(param1->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetCastleLatestCPIndex(param1->challengeType))); } ov104_02237284(param0, param0->unk_A8, CommInfo_TrainerInfo(0), v0); @@ -797,7 +782,7 @@ static void ov104_02237284(FrontierScriptManager *param0, Window *param1, Traine return; } -u16 ov104_02237338(UnkStruct_ov104_0223BA10 *param0) +u16 ov104_02237338(BattleCastle *param0) { u8 v0; u16 v1; @@ -806,7 +791,7 @@ u16 ov104_02237338(UnkStruct_ov104_0223BA10 *param0) v1 = param0->unk_16; - if ((param0->unk_10 == 0) || (param0->unk_10 == 1)) { + if ((param0->challengeType == 0) || (param0->challengeType == 1)) { if (v1 >= 8) { v0 = v2[8]; } else { @@ -820,8 +805,8 @@ u16 ov104_02237338(UnkStruct_ov104_0223BA10 *param0) } } - if (param0->unk_10 == 0) { - if ((param0->unk_14 == 21) || (param0->unk_14 == 49)) { + if (param0->challengeType == 0) { + if ((param0->currentStreak == 21) || (param0->currentStreak == 49)) { v0 = 20; } } diff --git a/src/overlay104/ov104_02237378.c b/src/overlay104/ov104_02237378.c deleted file mode 100644 index c4903169dc..0000000000 --- a/src/overlay104/ov104_02237378.c +++ /dev/null @@ -1,655 +0,0 @@ -#include -#include - -#include "applications/frontier/battle_arcade/main.h" -#include "overlay063/ov63_0222CCE4.h" -#include "overlay104/defs.h" -#include "overlay104/frontier_graphics.h" -#include "overlay104/frontier_particle_system.h" -#include "overlay104/frontier_script_context.h" -#include "overlay104/frontier_script_manager.h" -#include "overlay104/frscrcmd.h" -#include "overlay104/ov104_0222DCE0.h" -#include "overlay104/ov104_02231F74.h" -#include "overlay104/ov104_02237DD8.h" -#include "overlay104/ov104_0223B6F4.h" -#include "overlay104/ov104_0223BCBC.h" -#include "overlay104/struct_ov104_02230BE4.h" -#include "overlay104/struct_ov104_02238240.h" -#include "overlay104/struct_ov104_0223BFFC.h" -#include "overlay104/struct_ov104_0223C634.h" - -#include "communication_information.h" -#include "field_battle_data_transfer.h" -#include "gx_layers.h" -#include "heap.h" -#include "palette.h" -#include "particle_system.h" -#include "party.h" -#include "pokemon.h" -#include "save_player.h" -#include "spl.h" -#include "sprite.h" -#include "sprite_system.h" -#include "string_gf.h" -#include "string_template.h" -#include "trainer_info.h" -#include "unk_02030494.h" -#include "unk_0209B6F8.h" -#include "unk_0209BA80.h" - -#include "constdata/const_020EA358.h" - -FS_EXTERN_OVERLAY(battle_arcade_app); - -#include - -static BOOL ov104_02237D18(FrontierScriptContext *param0); -static void ov104_02237634(UnkStruct_ov104_02238240 *param0, UnkStruct_ov104_0223BFFC *param1); -static void ov104_02237C30(SPLEmitter *param0); -static void ov104_02237C0C(FrontierScriptContext *param0, UnkStruct_ov104_0223BFFC *param1, u16 param2); -static void ov104_0223770C(void *param0); - -BOOL FrontierScrCmd_B8(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0; - UnkStruct_ov104_02230BE4 *v1; - u16 v2 = FrontierScriptContext_GetVar(param0); - u16 v3 = FrontierScriptContext_GetVar(param0); - u16 v4 = FrontierScriptContext_GetVar(param0); - u16 v5 = FrontierScriptContext_GetVar(param0); - u16 v6 = FrontierScriptContext_GetVar(param0); - u16 *v7 = FrontierScriptContext_TryGetVarPointer(param0); - - v1 = sub_0209B970(param0->scriptMan->unk_00); - v0 = ov104_02237DD8(v1->saveData, v2, v3, v4, v5, v6, v7); - - sub_0209B980(param0->scriptMan->unk_00, v0); - return 0; -} - -BOOL FrontierScrCmd_B9(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0; - u16 v1 = FrontierScriptContext_GetVar(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_0223806C(v0, v1); - - return 0; -} - -BOOL FrontierScrCmd_BA(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_02238210(v0); - - return 0; -} - -BOOL FrontierScrCmd_C3(FrontierScriptContext *param0) -{ - int v0; - UnkStruct_ov104_0223BFFC *v1; - UnkStruct_ov104_02238240 *v2; - UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(param0->scriptMan->unk_00); - - FS_EXTERN_OVERLAY(battle_arcade_app); - - static const ApplicationManagerTemplate v4 = { - BattleArcadeApp_Init, - BattleArcadeApp_Main, - BattleArcadeApp_Exit, - FS_OVERLAY_ID(battle_arcade_app) - }; - - v1 = sub_0209B978(param0->scriptMan->unk_00); - v2 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_ov104_02238240)); - - MI_CpuClear8(v2, sizeof(UnkStruct_ov104_02238240)); - v2->saveData = v3->saveData; - - ov104_02237634(v2, v1); - sub_0209B988(param0->scriptMan->unk_00, &v4, v2, 0, ov104_0223770C); - - return 1; -} - -BOOL FrontierScrCmd_BB(FrontierScriptContext *param0) -{ - u8 v0; - int v1, v2, v3, v4, v5; - u32 v6, v7, v8; - UnkStruct_ov104_0223BFFC *v9; - FieldBattleDTO *v10; - Pokemon *v11; - Pokemon *v12; - - v9 = sub_0209B978(param0->scriptMan->unk_00); - v10 = v9->unk_0C; - - v9->unk_1D = ov104_02238538(v9, v10->parties[0], v10->parties[2], v10->totalTurnsElapsed); - v9->unk_28 = CheckPlayerWonBattle(v10->resultMask); - - if (v9->unk_13 == 27) { - v2 = 1; - v3 = 3; - } else { - v2 = 0; - v3 = 2; - } - - ov104_02239054(v10->parties[v2], v9->unk_70, 0, 0); - ov104_02239054(v10->parties[v2], v9->unk_70, 1, 1); - - if (BattleCastle_IsMultiPlayerChallenge(v9->unk_10) == 0) { - ov104_02239054(v10->parties[v2], v9->unk_70, 2, 2); - } else { - ov104_02239054(v10->parties[v3], v9->unk_70, 0, 2); - ov104_02239054(v10->parties[v3], v9->unk_70, 1, 3); - } - - if (v9->unk_13 == 17) { - v0 = BattleArcade_GetPartySize(v9->unk_10, 1); - - for (v1 = 0; v1 < v0; v1++) { - v11 = Party_GetPokemonBySlotIndex(v9->unk_70, v1); - v7 = Pokemon_GetValue(v11, MON_DATA_LEVEL, NULL); - v7 -= 3; - v6 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(v11, MON_DATA_SPECIES, NULL), v7); - - Pokemon_SetValue(v11, MON_DATA_EXPERIENCE, &v6); - Pokemon_CalcLevelAndStats(v11); - } - } - - v4 = Party_GetCurrentCount(v9->unk_70); - - for (v1 = 0; v1 < v4; v1++) { - v11 = Party_GetPokemonBySlotIndex(v9->unk_70, v1); - - v5 = v9->unk_94[v1]; - Pokemon_SetValue(v11, MON_DATA_MAX_HP, &v5); - Pokemon_SetValue(v11, MON_DATA_HP, &v5); - - v5 = v9->unk_A4[v1]; - Pokemon_SetValue(v11, MON_DATA_ATK, &v5); - - v5 = v9->unk_B4[v1]; - Pokemon_SetValue(v11, MON_DATA_DEF, &v5); - - v5 = v9->unk_C4[v1]; - Pokemon_SetValue(v11, MON_DATA_SPEED, &v5); - - v5 = v9->unk_D4[v1]; - Pokemon_SetValue(v11, MON_DATA_SP_ATK, &v5); - - v5 = v9->unk_E4[v1]; - Pokemon_SetValue(v11, MON_DATA_SP_DEF, &v5); - } - - FieldBattleDTO_Free(v10); - return 0; -} - -BOOL FrontierScrCmd_BC(FrontierScriptContext *param0) -{ - FieldBattleDTO *v0; - UnkStruct_ov104_0223BFFC *v1; - UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); - - v1 = sub_0209B978(param0->scriptMan->unk_00); - v0 = ov104_0223BDD8(v1, v2); - - v1->unk_0C = v0; - sub_0209B988(param0->scriptMan->unk_00, &gBattleApplicationTemplate, v0, 0, NULL); - - return 1; -} - -static void ov104_02237634(UnkStruct_ov104_02238240 *param0, UnkStruct_ov104_0223BFFC *param1) -{ - int v0, v1; - Pokemon *v2; - - param0->unk_04 = param1->unk_10; - param0->unk_1E = ov104_0223C124(param1); - param0->unk_14 = ¶m1->unk_20; - param0->unk_10 = ¶m1->unk_13; - param0->unk_07 = param1->unk_1D; - param0->unk_1C = param1->unk_18; - param0->unk_18 = param1->unk_A78; - param0->unk_0C = ¶m1->unk_1C; - param0->unk_30 = param1->unk_70; - param0->unk_34 = param1->unk_74; - param0->unk_3C = param1; - param1->unk_14 = 0; - param0->unk_08 = ¶m1->unk_14; - param0->unk_40 = param1->unk_12; - param1->unk_12 = 0; - param1->unk_1F = 0; - - v1 = Party_GetCurrentCount(param1->unk_70); - - for (v0 = 0; v0 < v1; v0++) { - v2 = Party_GetPokemonBySlotIndex(param1->unk_70, v0); - - param1->unk_94[v0] = Pokemon_GetValue(v2, MON_DATA_MAX_HP, NULL); - param1->unk_A4[v0] = Pokemon_GetValue(v2, MON_DATA_ATK, NULL); - param1->unk_B4[v0] = Pokemon_GetValue(v2, MON_DATA_DEF, NULL); - param1->unk_C4[v0] = Pokemon_GetValue(v2, MON_DATA_SPEED, NULL); - param1->unk_D4[v0] = Pokemon_GetValue(v2, MON_DATA_SP_ATK, NULL); - param1->unk_E4[v0] = Pokemon_GetValue(v2, MON_DATA_SP_DEF, NULL); - } - - return; -} - -static void ov104_0223770C(void *param0) -{ - int v0; - UnkStruct_ov104_02238240 *v1 = param0; - - ov104_02238240(v1->unk_3C, param0); - Heap_Free(param0); - - return; -} - -BOOL FrontierScrCmd_BD(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_022384D4(v0); - - return 0; -} - -BOOL FrontierScrCmd_BE(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_022384DC(v0); - - return 0; -} - -BOOL FrontierScrCmd_BF(FrontierScriptContext *param0) -{ - String *v0; - Pokemon *v1; - Party *v2; - UnkStruct_ov104_0223BFFC *v3; - u8 v4, v5, v6; - u32 v7[9][2]; - u32 v8, v9; - u16 v10; - int v11, v12, v13; - UnkStruct_ov104_02230BE4 *v14; - FrontierGraphics *v15; - TrainerInfo *v16; - u8 v17 = FrontierScriptContext_ReadByte(param0); - u8 v18 = FrontierScriptContext_GetVar(param0); - u8 v19 = FrontierScriptContext_GetVar(param0); - u16 *v20 = FrontierScriptContext_TryGetVarPointer(param0); - - v3 = sub_0209B978(param0->scriptMan->unk_00); - v14 = sub_0209B970(param0->scriptMan->unk_00); - v15 = FrontierScriptManager_GetGraphics(param0->scriptMan); - - switch (v17) { - case 2: - v3->unk_10 = v18; - break; - case 3: - *v20 = v3->unk_418[v18]; - break; - case 4: - *v20 = v3->unk_18; - break; - case 5: - if (v3->unk_18 < 9999) { - v3->unk_18++; - } - break; - case 7: - OS_ResetSystem(0); - break; - case 9: - *v20 = sub_020304B0(v3->unk_08); - break; - case 10: - ov104_02238278(v3, 2); - break; - case 12: - *v20 = ov104_0223C0BC(v3, v3->unk_13); - break; - case 14: - *v20 = ov104_02238454(v3); - break; - case 15: - if (v18 == 0) { - v1 = Party_GetPokemonBySlotIndex(v3->unk_70, 0); - } else { - v1 = Party_GetPokemonBySlotIndex(v3->unk_74, 0); - } - - *v20 = Pokemon_GetValue(v1, MON_DATA_HELD_ITEM, NULL); - break; - case 16: - *v20 = v3->unk_13; - break; - case 18: - v2 = SaveData_GetParty(v14->saveData); - - for (v11 = 0; v11 < 3; v11++) { - v1 = Party_GetPokemonBySlotIndex(v2, v3->unk_2C[v11]); - Pokemon_SetValue(v1, MON_DATA_HELD_ITEM, &v3->unk_412[v11]); - } - break; - case 19: - *v20 = ov104_0223C124(v3); - break; - case 20: - *v20 = ov104_02238464(v3, v18); - break; - case 21: - ov104_022384A8(v3); - break; - case 22: - ov104_022384B4(v3); - break; - case 23: - *v20 = ov104_02238460(v3); - break; - case 24: - *v20 = v3->unk_A74; - break; - case 25: - if (v3->unk_13 == 27) { - v4 = BattleArcade_GetPartySize(v3->unk_10, 1); - v5 = BattleArcade_GetOpponentPartySize(v3->unk_10, 1); - - { - VecFx32 v21; - VecFx32 v22; - Sprite *v23; - Sprite *v24; - - for (v11 = 0; v11 < v4; v11++) { - v23 = v3->unk_30[v11]->sprite; - v21 = *(Sprite_GetPosition((const Sprite *)v23)); - - v24 = v3->unk_40[v11]->sprite; - v22 = *(Sprite_GetPosition((const Sprite *)v24)); - - Sprite_SetPosition(v23, &v22); - Sprite_SetPosition(v24, &v21); - - v23 = v3->unk_50[v11]->sprite; - v21 = *(Sprite_GetPosition((const Sprite *)v23)); - - v24 = v3->unk_60[v11]->sprite; - v22 = *(Sprite_GetPosition((const Sprite *)v24)); - - Sprite_SetPosition(v23, &v22); - Sprite_SetPosition(v24, &v21); - } - } - } - break; - case 6: - sub_0209BA80(v3); - break; - case 28: - *v20 = BattleArcade_IsMultiPlayerChallenge(v3->unk_10); - break; - case 17: - *v20 = v3->unk_10; - break; - case 29: - ov104_02232EC0(v15); - break; - case 30: - ov104_02232F28(v15); - break; - case 31: - ov104_02238764(v3, v15, v18); - - v4 = BattleArcade_GetPartySize(v3->unk_10, 1); - v5 = BattleArcade_GetOpponentPartySize(v3->unk_10, 1); - - if (v18 == 0) { - for (v11 = 0; v11 < v4; v11++) { - Sprite_SetExplicitPriority(v3->unk_30[v11]->sprite, 2); - } - } else { - for (v11 = 0; v11 < v5; v11++) { - Sprite_SetExplicitPriority(v3->unk_40[v11]->sprite, 2); - } - } - break; - case 32: - ov104_02238814(v3, v15, v18); - break; - case 33: - ov104_02232FEC(v15); - break; - case 34: - ov104_0223307C(v15); - break; - case 35: - ov104_022388DC(v3, v15, v18); - break; - case 36: - ov104_022389A0(v3, v15, v18); - break; - case 11: - ov104_02238658(v3, v15); - break; - case 37: - if (BattleArcade_IsMultiPlayerChallenge(v3->unk_10) == 1) { - ov104_02238728(v3, v15); - } - break; - case 38: - v6 = BattleArcade_GetCategoryFromEffect(v3->unk_13); - - if (v6 == 0) { - StringTemplate_SetFrontierTrainerName(param0->scriptMan->strTemplate, v18, v3->unk_78[ov104_02238498(v3, v19)]); - } else { - if (BattleArcade_IsMultiPlayerChallenge(v3->unk_10) == 0) { - v16 = SaveData_GetTrainerInfo(v14->saveData); - } else { - v16 = CommInfo_TrainerInfo(v19); - } - - StringTemplate_SetPlayerName(param0->scriptMan->strTemplate, v18, v16); - } - break; - case 39: - v3->unk_A7A = v19; - ov104_02237C0C(param0, v3, v18); - break; - case 40: - ov104_0222E278(&(v3->unk_F4[0]), v3->unk_78[v3->unk_11], HEAP_ID_FIELD2, 178); - ov104_0222E278(&(v3->unk_F4[1]), v3->unk_78[v3->unk_11 + 7], HEAP_ID_FIELD2, 178); - break; - case 41: - ov104_0223886C(v3, v15, v18, v19); - break; - case 42: - ov104_022388A4(v3, v15, v18, v19); - break; - case 43: - ov104_02238AB4(v18, v19); - break; - case 44: - if (v18 == 0) { - PaletteData_Blend(v15->plttData, 2, 0, 16 * 16, v18, 0x0); - } else { - { - u32 v25; - UnkStruct_ov104_0223C634 *v26; - Sprite *v27; - - v26 = ov104_0223D5A8(param0->scriptMan->unk_00, v19); - v25 = ov63_0222D050(v26->sprite); - - PaletteData_Blend(v15->plttData, 2, v25 * 16, 16, v18, 0x0); - } - } - break; - case 45: - *v20 = ov104_02239014(v3); - break; - case 46: - GXLayers_EngineAToggleLayers(GX_PLANEMASK_BG2, 0); - break; - case 47: - *v20 = v3->unk_1F; - break; - case 48: - *v20 = 0; - - if (v3->unk_10 == 0) { - if ((v3->unk_18 + 1) == 21) { - *v20 = 1; - } else if ((v3->unk_18 + 1) == 49) { - *v20 = 2; - } - } - break; - case 49: - ov104_0222E330(v3->unk_330, v3->unk_314, v3->unk_31C, v3->unk_320, NULL, 4, 11, 179); - break; - case 50: - ov104_0223C04C(v3); - break; - case 51: - *v20 = v3->unk_1E; - v3->unk_1E = 1; - break; - case 52: - v3->unk_A7C = 0; - break; - } - - return 0; -} - -static void ov104_02237C0C(FrontierScriptContext *param0, UnkStruct_ov104_0223BFFC *param1, u16 param2) -{ - FrontierScriptManager *v0 = param0->scriptMan; - FrontierGraphics *v1 = FrontierScriptManager_GetGraphics(param0->scriptMan); - ParticleSystem *v2 = FrontierParticleSystem_GetParticleSystem(v1->particleSys, 0); - ParticleSystem_CreateEmitterWithCallback(v2, param2, ov104_02237C30, param1); - - return; -} - -static void ov104_02237C30(SPLEmitter *param0) -{ - VecFx32 v0; - VecFx16 v1; - UnkStruct_ov104_0223BFFC *v2 = ParticleSystem_GetEmitterCallbackParam(); - const VecFx32 v3[] = { FX32_ONE * -1, 0, 0 }; - - if (v2->unk_A7A == 1) { - ParticleSystem_GetEmitterAxis(param0, &v1); - v1.x *= -1; - - SPLEmitter_SetAxis(param0, &v1); - SPLEmitter_SetPos(param0, v3); - } - - return; -} - -BOOL FrontierScrCmd_C0(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0; - u16 *v1 = FrontierScriptContext_TryGetVarPointer(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - *v1 = v0->unk_28; - - return 0; -} - -BOOL FrontierScrCmd_C1(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0; - u16 v1 = FrontierScriptContext_GetVar(param0); - u16 v2 = FrontierScriptContext_GetVar(param0); - u16 *v3 = FrontierScriptContext_TryGetVarPointer(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - *v3 = ov104_02238B40(v0, v1, v2); - - return 1; -} - -BOOL FrontierScrCmd_C2(FrontierScriptContext *param0) -{ - u16 v0 = FrontierScriptContext_ReadHalfWord(param0); - - param0->data[0] = v0; - FrontierScriptContext_Pause(param0, ov104_02237D18); - - return 1; -} - -static BOOL ov104_02237D18(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0; - u16 v1 = FrontierScriptContext_TryGetVar(param0, param0->data[0]); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - - if (v0->unk_A7C >= 2) { - v0->unk_A7C = 0; - return 1; - } - - return 0; -} - -BOOL FrontierScrCmd_C4(FrontierScriptContext *param0) -{ - u16 *v0; - UnkStruct_ov104_0223BFFC *v1; - UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->scriptMan->unk_00); - u16 v3 = FrontierScriptContext_ReadByte(param0); - - v1 = sub_0209B978(param0->scriptMan->unk_00); - - if (v1 == NULL) { - return 0; - } - - v0 = v1->unk_F4[v3].trDataDTO.unk_18; - ov104_022330FC(param0, v0); - - return 1; -} - -BOOL FrontierScrCmd_C5(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_02238B88(v0, v0->unk_13); - - return 1; -} - -BOOL FrontierScrCmd_C6(FrontierScriptContext *param0) -{ - UnkStruct_ov104_0223BFFC *v0; - FrontierGraphics *v1 = FrontierScriptManager_GetGraphics(param0->scriptMan); - u16 v2 = FrontierScriptContext_GetVar(param0); - u16 v3 = FrontierScriptContext_GetVar(param0); - u16 v4 = FrontierScriptContext_GetVar(param0); - - v0 = sub_0209B978(param0->scriptMan->unk_00); - ov104_022389F4(v0, v1, v2, v3, v4); - - return 0; -} diff --git a/src/overlay104/ov104_02237DD8.c b/src/overlay104/ov104_02237DD8.c index 5dbcb30031..f7106f3166 100644 --- a/src/overlay104/ov104_02237DD8.c +++ b/src/overlay104/ov104_02237DD8.c @@ -13,8 +13,7 @@ #include "overlay104/ov104_0222ECE8.h" #include "overlay104/ov104_02231F74.h" #include "overlay104/ov104_0223BCBC.h" -#include "overlay104/struct_ov104_02238240.h" -#include "overlay104/struct_ov104_0223BFFC.h" +#include "overlay104/struct_battle_arcade.h" #include "battle_frontier_stats.h" #include "bg_window.h" @@ -38,61 +37,60 @@ typedef struct { s16 unk_02; } UnkStruct_ov104_0223FB18; -typedef void (*UnkFuncPtr_ov104_02238B88)(UnkStruct_ov104_0223BFFC *, Party *, u8); +typedef void (*UnkFuncPtr_ov104_02238B88)(BattleArcade *, Party *, u8); -UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6); -void ov104_0223806C(UnkStruct_ov104_0223BFFC *param0, u16 param1); -static void ov104_02238080(UnkStruct_ov104_0223BFFC *param0); -static void ov104_02238114(UnkStruct_ov104_0223BFFC *param0); -static void ov104_022381C4(UnkStruct_ov104_0223BFFC *param0); -void ov104_02238210(UnkStruct_ov104_0223BFFC *param0); -void ov104_02238240(UnkStruct_ov104_0223BFFC *param0, void *param1); -u16 ov104_02238264(void *param0, u8 param1); -void ov104_022384D4(UnkStruct_ov104_0223BFFC *param0); -void ov104_022384DC(UnkStruct_ov104_0223BFFC *param0); -int ov104_02238538(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party *param2, int param3); -static int ov104_02238584(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party *param2, u8 param3); +BattleArcade *ov104_02237DD8(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6); +void ov104_0223806C(BattleArcade *param0, u16 param1); +static void ov104_02238080(BattleArcade *param0); +static void ov104_02238114(BattleArcade *param0); +static void ov104_022381C4(BattleArcade *param0); +void ov104_02238210(BattleArcade *param0); +static u16 ov104_02238264(BattleArcadeAppArgs *param0, u8 param1); +void ov104_022384D4(BattleArcade *param0); +void ov104_022384DC(BattleArcade *param0); +int ov104_02238538(BattleArcade *param0, Party *param1, Party *param2, int param3); +static int ov104_02238584(BattleArcade *param0, Party *param1, Party *param2, u8 param3); void ov104_02238658(void *param0, FrontierGraphics *param1); void ov104_02238728(void *param0, FrontierGraphics *param1); -void ov104_02238764(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2); -void ov104_02238814(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2); -void ov104_0223886C(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2, u16 param3); -void ov104_022388A4(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2, u16 param3); -void ov104_022388DC(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2); -void ov104_022389A0(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2); -void ov104_022389F4(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2, u16 param3, u16 param4); +void ov104_02238764(BattleArcade *param0, FrontierGraphics *param1, u16 param2); +void ov104_02238814(BattleArcade *param0, FrontierGraphics *param1, u16 param2); +void ov104_0223886C(BattleArcade *param0, FrontierGraphics *param1, u16 param2, u16 param3); +void ov104_022388A4(BattleArcade *param0, FrontierGraphics *param1, u16 param2, u16 param3); +void ov104_022388DC(BattleArcade *param0, FrontierGraphics *param1, u16 param2); +void ov104_022389A0(BattleArcade *param0, FrontierGraphics *param1, u16 param2); +void ov104_022389F4(BattleArcade *param0, FrontierGraphics *param1, u16 param2, u16 param3, u16 param4); void ov104_02238AB4(u8 param0, u8 param1); -BOOL ov104_02238B40(UnkStruct_ov104_0223BFFC *param0, u16 param1, u16 param2); -void ov104_02238278(UnkStruct_ov104_0223BFFC *param0, u8 param1); -u16 ov104_02238454(UnkStruct_ov104_0223BFFC *param0); -u16 ov104_02238460(UnkStruct_ov104_0223BFFC *param0); -u16 ov104_02238464(UnkStruct_ov104_0223BFFC *param0, u8 param1); -u16 ov104_02238498(UnkStruct_ov104_0223BFFC *param0, u8 param1); -void ov104_022384A8(UnkStruct_ov104_0223BFFC *param0); -void ov104_022384B4(UnkStruct_ov104_0223BFFC *param0); -static void ov104_02238BBC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238C18(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238C9C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238D14(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238D8C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238E08(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238E9C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238EF8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238F54(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238FAC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238FB8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238FC0(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238FC8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238FD0(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238FD8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238FE4(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238FF0(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02238FFC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02239004(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02239008(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_0223900C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -static void ov104_02239010(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2); -u16 ov104_02239014(UnkStruct_ov104_0223BFFC *param0); +BOOL ov104_02238B40(BattleArcade *param0, u16 param1, u16 param2); +void ov104_02238278(BattleArcade *param0, u8 param1); +u16 ov104_02238454(BattleArcade *param0); +u16 ov104_02238460(BattleArcade *param0); +u16 ov104_02238464(BattleArcade *param0, u8 param1); +u16 ov104_02238498(BattleArcade *param0, u8 param1); +void ov104_022384A8(BattleArcade *param0); +void ov104_022384B4(BattleArcade *param0); +static void ov104_02238BBC(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238C18(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238C9C(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238D14(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238D8C(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238E08(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238E9C(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238EF8(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238F54(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238FAC(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238FB8(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238FC0(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238FC8(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238FD0(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238FD8(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238FE4(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238FF0(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02238FFC(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02239004(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02239008(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_0223900C(BattleArcade *param0, Party *param1, u8 param2); +static void ov104_02239010(BattleArcade *param0, Party *param1, u8 param2); +u16 ov104_02239014(BattleArcade *param0); void ov104_02239054(Party *param0, Party *param1, int param2, int param3); static const u16 Unk_ov104_0223FBBA[32][3] = { @@ -136,7 +134,7 @@ static const u8 Unk_ov104_0223FAF8[][2] = { { 0x0, 0x3 } }; -UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6) +BattleArcade *ov104_02237DD8(SaveData *saveData, u16 param1, u8 param2, u16 param3, u16 param4, u16 param5, u16 *param6) { u32 v0, v1; Party *v2; @@ -144,11 +142,11 @@ UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 para UnkStruct_020304A0 *v4; u8 v5, v6; u16 v7, v8; - static UnkStruct_ov104_0223BFFC *v9; + static BattleArcade *v9; UnkStruct_020305B8 *v10; - v9 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_ov104_0223BFFC)); - MI_CpuClear8(v9, sizeof(UnkStruct_ov104_0223BFFC)); + v9 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleArcade)); + MI_CpuClear8(v9, sizeof(BattleArcade)); v9->unk_08 = sub_020304A0(saveData); v9->saveData = saveData; @@ -156,44 +154,44 @@ UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 para v9->unk_70 = Party_New(HEAP_ID_FIELD2); v9->unk_74 = Party_New(HEAP_ID_FIELD2); v9->unk_A80 = param6; - v9->unk_13 = 32; + v9->activeEffect = 32; v4 = v9->unk_08; v10 = sub_020305B8(saveData); if (param1 == 0) { - v9->unk_10 = param2; + v9->challengeType = param2; v9->unk_11 = 0; v9->unk_1C = 3; v9->unk_12 = 0; sub_02030494(v4); - if (v9->unk_10 == 3) { + if (v9->challengeType == 3) { v5 = SystemVars_GetWiFiFrontierCleared(SaveData_GetVarsFlags(v9->saveData)); } else { - v5 = (u8)sub_02030600(v10, 8, v9->unk_10, 0, NULL); + v5 = (u8)sub_02030600(v10, 8, v9->challengeType, 0, NULL); } if (v5 == 1) { - v9->unk_18 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetArcadeLatestStreakIndex(v9->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetArcadeLatestStreakIndex(v9->unk_10))); + v9->currentStreak = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetArcadeLatestStreakIndex(v9->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetArcadeLatestStreakIndex(v9->challengeType))); } else { - v9->unk_18 = 0; + v9->currentStreak = 0; } - v9->unk_1A = (u16)(v9->unk_18 / 7); + v9->unk_1A = (u16)(v9->currentStreak / 7); v9->unk_24 = 0; v9->unk_2C[0] = param3; v9->unk_2C[1] = param4; v9->unk_2C[2] = param5; } else { - v9->unk_10 = (u8)sub_0203054C(v4, 0, 0, 0, NULL); + v9->challengeType = (u8)sub_0203054C(v4, 0, 0, 0, NULL); v9->unk_11 = (u8)sub_0203054C(v4, 2, 0, 0, NULL); v9->unk_1C = (u8)sub_0203054C(v4, 3, 0, 0, NULL); v9->unk_12 = (u8)sub_0203054C(v4, 1, 0, 0, NULL); - v9->unk_18 = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetArcadeLatestStreakIndex(v9->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetArcadeLatestStreakIndex(v9->unk_10))); - v9->unk_1A = (u16)(v9->unk_18 / 7); + v9->currentStreak = BattleFrontierStats_GetStat(SaveData_GetBattleFrontier(v9->saveData), BattleFrontierStats_GetArcadeLatestStreakIndex(v9->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetArcadeLatestStreakIndex(v9->challengeType))); + v9->unk_1A = (u16)(v9->currentStreak / 7); for (v7 = 0; v7 < 3; v7++) { v9->unk_2C[v7] = (u8)sub_0203054C(v4, 6, v7, 0, NULL); @@ -206,7 +204,7 @@ UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 para } v2 = SaveData_GetParty(v9->saveData); - v6 = BattleArcade_GetPartySize(v9->unk_10, 0); + v6 = BattleArcade_GetPartySize(v9->challengeType, 0); for (v7 = 0; v7 < v6; v7++) { Party_AddPokemon(v9->unk_70, Party_GetPokemonBySlotIndex(v2, v9->unk_2C[v7])); @@ -223,14 +221,14 @@ UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 para } } - if (BattleArcade_IsMultiPlayerChallenge(v9->unk_10) == 1) { + if (BattleArcade_IsMultiPlayerChallenge(v9->challengeType) == 1) { ov104_0222E630(v9->saveData); } return v9; } -void ov104_0223806C(UnkStruct_ov104_0223BFFC *param0, u16 param1) +void ov104_0223806C(BattleArcade *param0, u16 param1) { if (param1 == 0) { ov104_02238080(param0); @@ -241,11 +239,11 @@ void ov104_0223806C(UnkStruct_ov104_0223BFFC *param0, u16 param1) return; } -static void ov104_02238080(UnkStruct_ov104_0223BFFC *param0) +static void ov104_02238080(BattleArcade *param0) { - ov104_0223BD28(param0->unk_10, ov104_0223C124(param0), param0->unk_78, 7 * 2); + ov104_0223BD28(param0->challengeType, ov104_0223C124(param0), param0->unk_78, 7 * 2); - ov104_0222E4BC(BattleArcade_GetOpponentPartySize(param0->unk_10, 1), param0->unk_78[param0->unk_11], param0->unk_78[param0->unk_11 + 7], param0->unk_314, param0->unk_330, param0->unk_31C, param0->unk_320, BattleArcade_IsMultiPlayerChallenge(param0->unk_10)); + ov104_0222E4BC(BattleArcade_GetOpponentPartySize(param0->challengeType, 1), param0->unk_78[param0->unk_11], param0->unk_78[param0->unk_11 + 7], param0->unk_314, param0->unk_330, param0->unk_31C, param0->unk_320, BattleArcade_IsMultiPlayerChallenge(param0->challengeType)); u16 v0 = ov104_0223C124(param0); @@ -259,7 +257,7 @@ static void ov104_02238080(UnkStruct_ov104_0223BFFC *param0) return; } -static void ov104_02238114(UnkStruct_ov104_0223BFFC *param0) +static void ov104_02238114(BattleArcade *param0) { int v1; FrontierPokemonDataDTO v4[6]; @@ -292,7 +290,7 @@ static void ov104_02238114(UnkStruct_ov104_0223BFFC *param0) return; } -static void ov104_022381C4(UnkStruct_ov104_0223BFFC *param0) +static void ov104_022381C4(BattleArcade *param0) { u8 v0; u16 v1; @@ -311,7 +309,7 @@ static void ov104_022381C4(UnkStruct_ov104_0223BFFC *param0) return; } -void ov104_02238210(UnkStruct_ov104_0223BFFC *param0) +void ov104_02238210(BattleArcade *param0) { int v0; @@ -327,7 +325,7 @@ void ov104_02238210(UnkStruct_ov104_0223BFFC *param0) Heap_Free(param0->unk_74); } - MI_CpuClear8(param0, sizeof(UnkStruct_ov104_0223BFFC)); + MI_CpuClear8(param0, sizeof(BattleArcade)); Heap_Free(param0); param0 = NULL; @@ -335,31 +333,24 @@ void ov104_02238210(UnkStruct_ov104_0223BFFC *param0) return; } -void ov104_02238240(UnkStruct_ov104_0223BFFC *param0, void *param1) +void BattleArcade_StoreAppResults(BattleArcade *battleArcade, BattleArcadeAppArgs *args) { - int v0; - UnkStruct_ov104_02238240 *v1 = param1; - - for (v0 = 0; v0 < 6; v0++) { - param0->unk_418[v0] = ov104_02238264(param1, v0); + for (int i = 0; i < 6; i++) { + battleArcade->appCursorPos[i] = ov104_02238264(args, i); } - - return; } -u16 ov104_02238264(void *param0, u8 param1) +static u16 ov104_02238264(BattleArcadeAppArgs *args, u8 i) { - UnkStruct_ov104_02238240 *v0 = param0; - - if (param1 >= 6) { + if (i >= 6) { GF_ASSERT(0); return 0; } - return v0->unk_38; + return args->cursorPos; } -void ov104_02238278(UnkStruct_ov104_0223BFFC *param0, u8 param1) +void ov104_02238278(BattleArcade *param0, u8 param1) { u16 v0; u8 v1; @@ -371,9 +362,9 @@ void ov104_02238278(UnkStruct_ov104_0223BFFC *param0, u8 param1) UnkStruct_020304A0 *v8 = param0->unk_08; UnkStruct_020305B8 *v9 = sub_020305B8(param0->saveData); - v1 = BattleArcade_GetOpponentPartySize(param0->unk_10, 1); + v1 = BattleArcade_GetOpponentPartySize(param0->challengeType, 1); - v2[0] = param0->unk_10; + v2[0] = param0->challengeType; sub_020304CC(param0->unk_08, 0, 0, 0, v2); sub_020304B8(param0->unk_08, 1); @@ -385,15 +376,15 @@ void ov104_02238278(UnkStruct_ov104_0223BFFC *param0, u8 param1) v2[0] = param0->unk_12; sub_020304CC(param0->unk_08, 1, 0, 0, v2); - BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(param0->saveData), BattleFrontierStats_GetArcadeLatestStreakIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetArcadeLatestStreakIndex(param0->unk_10)), param0->unk_18); + BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(param0->saveData), BattleFrontierStats_GetArcadeLatestStreakIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetArcadeLatestStreakIndex(param0->challengeType)), param0->currentStreak); if (param1 != 2) { - v5 = BattleFrontierStats_SetIfBetter(SaveData_GetBattleFrontier(param0->saveData), BattleFrontierStats_GetArcadeCurrentStreakIndex(param0->unk_10), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetArcadeCurrentStreakIndex(param0->unk_10)), param0->unk_18); + v5 = BattleFrontierStats_SetIfBetter(SaveData_GetBattleFrontier(param0->saveData), BattleFrontierStats_GetArcadeCurrentStreakIndex(param0->challengeType), BattleFrontierStats_GetHostFriendIdx(BattleFrontierStats_GetArcadeCurrentStreakIndex(param0->challengeType)), param0->currentStreak); v2[0] = param0->unk_2F; - sub_020305CC(v9, 8, param0->unk_10, 0, v2); + sub_020305CC(v9, 8, param0->challengeType, 0, v2); - if (param0->unk_10 == 3) { + if (param0->challengeType == 3) { BattleFrontierStats_SetStat(SaveData_GetBattleFrontier(param0->saveData), STAT_ARCADE_WFC_STREAK_ACTIVE, BattleFrontierStats_GetHostFriendIdx(STAT_ARCADE_WFC_STREAK_ACTIVE), param0->unk_2F); } } @@ -427,18 +418,18 @@ void ov104_02238278(UnkStruct_ov104_0223BFFC *param0, u8 param1) return; } -u16 ov104_02238454(UnkStruct_ov104_0223BFFC *param0) +u16 ov104_02238454(BattleArcade *param0) { param0->unk_11++; return param0->unk_11; } -u16 ov104_02238460(UnkStruct_ov104_0223BFFC *param0) +u16 ov104_02238460(BattleArcade *param0) { return param0->unk_11; } -u16 ov104_02238464(UnkStruct_ov104_0223BFFC *param0, u8 param1) +u16 ov104_02238464(BattleArcade *param0, u8 param1) { FrontierTrainerDataDTO v0; u8 v2 = ov104_02238498(param0, param1); @@ -448,12 +439,12 @@ u16 ov104_02238464(UnkStruct_ov104_0223BFFC *param0, u8 param1) return BattleTower_GetObjectIDFromTrainerClass(v0.trainerType); } -u16 ov104_02238498(UnkStruct_ov104_0223BFFC *param0, u8 param1) +u16 ov104_02238498(BattleArcade *param0, u8 param1) { return param0->unk_11 + (param1 * 7); } -void ov104_022384A8(UnkStruct_ov104_0223BFFC *param0) +void ov104_022384A8(BattleArcade *param0) { u16 v0[4]; int v1; @@ -462,7 +453,7 @@ void ov104_022384A8(UnkStruct_ov104_0223BFFC *param0) return; } -void ov104_022384B4(UnkStruct_ov104_0223BFFC *param0) +void ov104_022384B4(BattleArcade *param0) { param0->unk_2F = 1; @@ -476,18 +467,18 @@ void ov104_022384B4(UnkStruct_ov104_0223BFFC *param0) return; } -void ov104_022384D4(UnkStruct_ov104_0223BFFC *param0) +void ov104_022384D4(BattleArcade *param0) { ov104_0223C04C(param0); return; } -void ov104_022384DC(UnkStruct_ov104_0223BFFC *param0) +void ov104_022384DC(BattleArcade *param0) { int v0, v1, v2; u8 v3; - ov104_0222E4BC(BattleArcade_GetOpponentPartySize(param0->unk_10, 1), param0->unk_78[param0->unk_11], param0->unk_78[param0->unk_11 + 7], param0->unk_314, param0->unk_330, param0->unk_31C, param0->unk_320, BattleArcade_IsMultiPlayerChallenge(param0->unk_10)); + ov104_0222E4BC(BattleArcade_GetOpponentPartySize(param0->challengeType, 1), param0->unk_78[param0->unk_11], param0->unk_78[param0->unk_11 + 7], param0->unk_314, param0->unk_330, param0->unk_31C, param0->unk_320, BattleArcade_IsMultiPlayerChallenge(param0->challengeType)); for (v0 = 0; v0 < 4; v0++) { (void)0; @@ -522,13 +513,13 @@ static const u8 Unk_ov104_0223FAFE[5][2] = { { 0xA, 0x0 } }; -int ov104_02238538(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party *param2, int param3) +int ov104_02238538(BattleArcade *param0, Party *param1, Party *param2, int param3) { u8 v0; int v1; Pokemon *v2; int v3 = 0; - v0 = BattleArcade_GetPartySize(param0->unk_10, 0); + v0 = BattleArcade_GetPartySize(param0->challengeType, 0); v3 += ov104_02238584(param0, param1, param2, v0); @@ -542,7 +533,7 @@ int ov104_02238538(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party *param return v3; } -static int ov104_02238584(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party *param2, u8 param3) +static int ov104_02238584(BattleArcade *param0, Party *param1, Party *param2, u8 param3) { u32 v0; u8 v1; @@ -572,7 +563,7 @@ static int ov104_02238584(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party } } - if (BattleArcade_IsMultiPlayerChallenge(param0->unk_10) == 1) { + if (BattleArcade_IsMultiPlayerChallenge(param0->challengeType) == 1) { for (v3 = 0; v3 < param3; v3++) { v5 = Party_GetPokemonBySlotIndex(param2, v3); @@ -601,19 +592,19 @@ static int ov104_02238584(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party void ov104_02238658(void *param0, FrontierGraphics *param1) { NARC *v0; - UnkStruct_ov104_0223BFFC *v1 = (UnkStruct_ov104_0223BFFC *)param0; + BattleArcade *v1 = (BattleArcade *)param0; - if (v1->unk_13 != 32) { + if (v1->activeEffect != 32) { v0 = NARC_ctor(NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG, HEAP_ID_94); - Graphics_LoadTilesToBgLayerFromOpenNARC(v0, Unk_ov104_0223FBBA[v1->unk_13][0], param1->bgConfig, 2, 0, 0, 1, HEAP_ID_94); - Graphics_LoadTilemapToBgLayerFromOpenNARC(v0, Unk_ov104_0223FBBA[v1->unk_13][1], param1->bgConfig, 2, 0, 0, 1, HEAP_ID_94); + Graphics_LoadTilesToBgLayerFromOpenNARC(v0, Unk_ov104_0223FBBA[v1->activeEffect][0], param1->bgConfig, 2, 0, 0, 1, HEAP_ID_94); + Graphics_LoadTilemapToBgLayerFromOpenNARC(v0, Unk_ov104_0223FBBA[v1->activeEffect][1], param1->bgConfig, 2, 0, 0, 1, HEAP_ID_94); { NNSG2dPaletteData *v2; void *v3; - v3 = Graphics_GetPlttDataFromOpenNARC(v0, Unk_ov104_0223FBBA[v1->unk_13][2], &v2, HEAP_ID_94); + v3 = Graphics_GetPlttDataFromOpenNARC(v0, Unk_ov104_0223FBBA[v1->activeEffect][2], &v2, HEAP_ID_94); DC_FlushRange(v2->pRawData, v2->szByte); GX_BeginLoadBGExtPltt(); @@ -635,7 +626,7 @@ void ov104_02238658(void *param0, FrontierGraphics *param1) void ov104_02238728(void *param0, FrontierGraphics *param1) { - UnkStruct_ov104_0223BFFC *v1 = (UnkStruct_ov104_0223BFFC *)param0; + BattleArcade *v1 = (BattleArcade *)param0; NARC *v0 = NARC_ctor(NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG, HEAP_ID_94); Graphics_LoadTilemapToBgLayerFromOpenNARC(v0, 53, param1->bgConfig, 3, 0, 0, 1, HEAP_ID_94); @@ -659,14 +650,14 @@ static const UnkStruct_ov104_0223FB18 Unk_ov104_0223FB28[] = { { 0xD2, 0x59 } }; -void ov104_02238764(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2) +void ov104_02238764(BattleArcade *param0, FrontierGraphics *param1, u16 param2) { u8 v0, v1; int v2; Pokemon *v3; - v0 = BattleArcade_GetPartySize(param0->unk_10, 1); - v1 = BattleArcade_GetOpponentPartySize(param0->unk_10, 1); + v0 = BattleArcade_GetPartySize(param0->challengeType, 1); + v1 = BattleArcade_GetOpponentPartySize(param0->challengeType, 1); if (param2 == 0) { for (v2 = 0; v2 < v0; v2++) { @@ -685,13 +676,13 @@ void ov104_02238764(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, return; } -void ov104_02238814(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2) +void ov104_02238814(BattleArcade *param0, FrontierGraphics *param1, u16 param2) { u8 v0, v1; int v2; - v0 = BattleArcade_GetPartySize(param0->unk_10, 1); - v1 = BattleArcade_GetOpponentPartySize(param0->unk_10, 1); + v0 = BattleArcade_GetPartySize(param0->challengeType, 1); + v1 = BattleArcade_GetOpponentPartySize(param0->challengeType, 1); if (param2 == 0) { for (v2 = 0; v2 < v0; v2++) { @@ -706,9 +697,9 @@ void ov104_02238814(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, return; } -void ov104_0223886C(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2, u16 param3) +void ov104_0223886C(BattleArcade *param0, FrontierGraphics *param1, u16 param2, u16 param3) { - u8 v0 = BattleArcade_GetPartySize(param0->unk_10, 1); + u8 v0 = BattleArcade_GetPartySize(param0->challengeType, 1); if (param3 >= v0) { return; @@ -723,9 +714,9 @@ void ov104_0223886C(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, return; } -void ov104_022388A4(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2, u16 param3) +void ov104_022388A4(BattleArcade *param0, FrontierGraphics *param1, u16 param2, u16 param3) { - u8 v0 = BattleArcade_GetOpponentPartySize(param0->unk_10, 1); + u8 v0 = BattleArcade_GetOpponentPartySize(param0->challengeType, 1); if (param3 >= v0) { return; @@ -740,14 +731,14 @@ void ov104_022388A4(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, return; } -void ov104_022388DC(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2) +void ov104_022388DC(BattleArcade *param0, FrontierGraphics *param1, u16 param2) { u8 v0, v1; int v2; Pokemon *v3; - v0 = BattleArcade_GetPartySize(param0->unk_10, 1); - v1 = BattleArcade_GetOpponentPartySize(param0->unk_10, 1); + v0 = BattleArcade_GetPartySize(param0->challengeType, 1); + v1 = BattleArcade_GetOpponentPartySize(param0->challengeType, 1); if (param2 == 0) { for (v2 = 0; v2 < v0; v2++) { @@ -774,13 +765,13 @@ void ov104_022388DC(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, return; } -void ov104_022389A0(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2) +void ov104_022389A0(BattleArcade *param0, FrontierGraphics *param1, u16 param2) { u8 v0, v1; int v2; - v0 = BattleArcade_GetPartySize(param0->unk_10, 1); - v1 = BattleArcade_GetOpponentPartySize(param0->unk_10, 1); + v0 = BattleArcade_GetPartySize(param0->challengeType, 1); + v1 = BattleArcade_GetOpponentPartySize(param0->challengeType, 1); if (param2 == 0) { for (v2 = 0; v2 < v0; v2++) { @@ -795,14 +786,14 @@ void ov104_022389A0(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, return; } -void ov104_022389F4(UnkStruct_ov104_0223BFFC *param0, FrontierGraphics *param1, u16 param2, u16 slot, u16 param4) +void ov104_022389F4(BattleArcade *param0, FrontierGraphics *param1, u16 param2, u16 slot, u16 param4) { u32 item; u8 v1, v2; Pokemon *mon; - v1 = BattleArcade_GetPartySize(param0->unk_10, 1); - v2 = BattleArcade_GetOpponentPartySize(param0->unk_10, 1); + v1 = BattleArcade_GetPartySize(param0->challengeType, 1); + v2 = BattleArcade_GetOpponentPartySize(param0->challengeType, 1); if (param2 == 0) { if (slot >= v1) { @@ -879,7 +870,7 @@ void ov104_02238AB4(u8 param0, u8 param1) return; } -BOOL ov104_02238B40(UnkStruct_ov104_0223BFFC *param0, u16 param1, u16 param2) +BOOL ov104_02238B40(BattleArcade *param0, u16 param1, u16 param2) { int v0; @@ -1045,7 +1036,7 @@ static void *Unk_ov104_02241A38[] = { ov104_02239008 }; -void ov104_02238B88(UnkStruct_ov104_0223BFFC *param0, u8 param1) +void ov104_02238B88(BattleArcade *param0, u8 param1) { u8 v0; Party *v1; @@ -1053,10 +1044,10 @@ void ov104_02238B88(UnkStruct_ov104_0223BFFC *param0, u8 param1) if (param1 < 9) { v1 = param0->unk_74; - v0 = BattleArcade_GetOpponentPartySize(param0->unk_10, 1); + v0 = BattleArcade_GetOpponentPartySize(param0->challengeType, 1); } else { v1 = param0->unk_70; - v0 = BattleArcade_GetPartySize(param0->unk_10, 1); + v0 = BattleArcade_GetPartySize(param0->challengeType, 1); } v2 = Unk_ov104_02241A38[param1]; @@ -1065,7 +1056,7 @@ void ov104_02238B88(UnkStruct_ov104_0223BFFC *param0, u8 param1) return; } -static void ov104_02238BBC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238BBC(BattleArcade *param0, Party *param1, u8 param2) { int v0; u32 v1, v2; @@ -1084,7 +1075,7 @@ static void ov104_02238BBC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238C18(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238C18(BattleArcade *param0, Party *param1, u8 param2) { int v0, v1; u32 v2, v3, v4, v5; @@ -1113,7 +1104,7 @@ static void ov104_02238C18(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238C9C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238C9C(BattleArcade *param0, Party *param1, u8 param2) { int v0, v1; u32 v2, v3, v4, v5; @@ -1142,7 +1133,7 @@ static void ov104_02238C9C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238D14(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238D14(BattleArcade *param0, Party *param1, u8 param2) { int v0, v1; u32 v2, v3, v4, v5; @@ -1171,7 +1162,7 @@ static void ov104_02238D14(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238D8C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238D8C(BattleArcade *param0, Party *param1, u8 param2) { u8 v0; int v1, v2; @@ -1206,7 +1197,7 @@ static void ov104_02238D8C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238E08(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238E08(BattleArcade *param0, Party *param1, u8 param2) { u8 v0; int v1, v2; @@ -1244,7 +1235,7 @@ static void ov104_02238E08(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238E9C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238E9C(BattleArcade *param0, Party *param1, u8 param2) { int v0, v1; const u16 *v2; @@ -1274,7 +1265,7 @@ static void ov104_02238E9C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238EF8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238EF8(BattleArcade *param0, Party *param1, u8 param2) { int v0, v1; const u16 *v2; @@ -1304,7 +1295,7 @@ static void ov104_02238EF8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238F54(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238F54(BattleArcade *param0, Party *param1, u8 param2) { int v0; u32 v1, v2; @@ -1329,7 +1320,7 @@ static void ov104_02238F54(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238FAC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238FAC(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; @@ -1337,7 +1328,7 @@ static void ov104_02238FAC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238FB8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238FB8(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; @@ -1345,7 +1336,7 @@ static void ov104_02238FB8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238FC0(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238FC0(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; @@ -1353,7 +1344,7 @@ static void ov104_02238FC0(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238FC8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238FC8(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; @@ -1361,7 +1352,7 @@ static void ov104_02238FC8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238FD0(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238FD0(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; @@ -1369,7 +1360,7 @@ static void ov104_02238FD0(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238FD8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238FD8(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; @@ -1377,7 +1368,7 @@ static void ov104_02238FD8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238FE4(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238FE4(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; @@ -1388,7 +1379,7 @@ static void ov104_02238FE4(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238FF0(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238FF0(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; @@ -1399,7 +1390,7 @@ static void ov104_02238FF0(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02238FFC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02238FFC(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; @@ -1407,13 +1398,13 @@ static void ov104_02238FFC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_02239004(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02239004(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; return; } -static void ov104_02239008(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02239008(BattleArcade *param0, Party *param1, u8 param2) { u16 v0; Pokemon *v1; @@ -1421,19 +1412,19 @@ static void ov104_02239008(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p return; } -static void ov104_0223900C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_0223900C(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; return; } -static void ov104_02239010(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 param2) +static void ov104_02239010(BattleArcade *param0, Party *param1, u8 param2) { Pokemon *v0; return; } -u16 ov104_02239014(UnkStruct_ov104_0223BFFC *param0) +u16 ov104_02239014(BattleArcade *param0) { u8 v0; u16 v1; @@ -1442,7 +1433,7 @@ u16 ov104_02239014(UnkStruct_ov104_0223BFFC *param0) v1 = param0->unk_1A; - if ((param0->unk_10 == 0) || (param0->unk_10 == 1)) { + if ((param0->challengeType == 0) || (param0->challengeType == 1)) { if (v1 >= 8) { v0 = v2[8]; } else { @@ -1456,8 +1447,8 @@ u16 ov104_02239014(UnkStruct_ov104_0223BFFC *param0) } } - if (param0->unk_10 == 0) { - if ((param0->unk_18 == 21) || (param0->unk_18 == 49)) { + if (param0->challengeType == 0) { + if ((param0->currentStreak == 21) || (param0->currentStreak == 49)) { v0 = 20; } } diff --git a/src/overlay104/ov104_0223A7F4.c b/src/overlay104/ov104_0223A7F4.c index 89b484d8da..bc0804ed55 100644 --- a/src/overlay104/ov104_0223A7F4.c +++ b/src/overlay104/ov104_0223A7F4.c @@ -9,8 +9,8 @@ #include "struct_defs/battle_frontier_trainer_data.h" #include "overlay104/ov104_0222DCE0.h" +#include "overlay104/struct_battle_factory.h" #include "overlay104/struct_ov104_02230BE4.h" -#include "overlay104/struct_ov104_0223ADA0.h" #include "overlay104/struct_ov104_0224028C.h" #include "communication_information.h" @@ -85,11 +85,11 @@ void ov104_0223A860(u8 param0, int param1, u16 param2[], u8 param3); u8 BattleFactory_GetPartySize(u8 param0); u8 ov104_0223AA74(u8 param0, BOOL param1); static u32 ov104_0223AD74(u8 param0); -u8 ov104_0223ADA0(UnkStruct_ov104_0223ADA0 *param0); -void ov104_0223ADB0(UnkStruct_ov104_0223ADA0 *param0); -void ov104_0223AE30(UnkStruct_ov104_0223ADA0 *param0); -static u16 ov104_0223AEE4(UnkStruct_ov104_0223ADA0 *param0); -u16 ov104_0223AF34(UnkStruct_ov104_0223ADA0 *param0); +u8 ov104_0223ADA0(BattleFactory *param0); +void ov104_0223ADB0(BattleFactory *param0); +void ov104_0223AE30(BattleFactory *param0); +static u16 ov104_0223AEE4(BattleFactory *param0); +u16 ov104_0223AF34(BattleFactory *param0); void FieldBattleDTO_CopyPlayerInfoToTrainerData(FieldBattleDTO *param0); static int ov104_0223A7F4(u8 param0, int param1, int param2) @@ -329,7 +329,7 @@ void ov104_0223AB0C(u8 param0, u16 param1, u8 param2, FrontierPokemonDataDTO *pa return; } -FieldBattleDTO *ov104_0223ABA0(UnkStruct_ov104_0223ADA0 *param0, UnkStruct_ov104_02230BE4 *param1) +FieldBattleDTO *ov104_0223ABA0(BattleFactory *param0, UnkStruct_ov104_02230BE4 *param1) { int v0; u32 v1; @@ -338,13 +338,13 @@ FieldBattleDTO *ov104_0223ABA0(UnkStruct_ov104_0223ADA0 *param0, UnkStruct_ov104 Pokemon *v5; FrontierTrainerDataDTO v6; - v2 = BattleFactory_GetPartySize(param0->unk_04); - v3 = ov104_0223AA74(param0->unk_04, 0); + v2 = BattleFactory_GetPartySize(param0->challengeType); + v3 = ov104_0223AA74(param0->challengeType, 0); Party_HealAllMembers(param0->unk_4D4); Party_HealAllMembers(param0->unk_4D8); - v4 = FieldBattleDTO_New(HEAP_ID_FIELD2, ov104_0223AD74(param0->unk_04)); + v4 = FieldBattleDTO_New(HEAP_ID_FIELD2, ov104_0223AD74(param0->challengeType)); FieldBattleDTO_InitFromGameState(v4, NULL, param1->saveData, param1->unk_1C, param1->journalEntry, param1->bagCursor, param1->unk_20); v4->background = BACKGROUND_BATTLE_FACTORY; @@ -364,7 +364,7 @@ FieldBattleDTO *ov104_0223ABA0(UnkStruct_ov104_0223ADA0 *param0, UnkStruct_ov104 Heap_Free(BattleTower_GetTrainerData(&v6, param0->unk_18[param0->unk_06], HEAP_ID_FIELD2, NARC_INDEX_BATTLE__B_PL_TOWER__PL_BTDTR)); ov104_0222E284(v4, &v6, v3, 1, 11); - Party_InitWithCapacity(v4->parties[1], ov104_0223AA74(param0->unk_04, 0)); + Party_InitWithCapacity(v4->parties[1], ov104_0223AA74(param0->challengeType, 0)); for (v0 = 0; v0 < 4; v0++) { v4->trainer[v0].header.aiMask = ov104_0223AEE4(param0); @@ -379,7 +379,7 @@ FieldBattleDTO *ov104_0223ABA0(UnkStruct_ov104_0223ADA0 *param0, UnkStruct_ov104 Heap_Free(v5); - switch (param0->unk_04) { + switch (param0->challengeType) { case 2: case 3: FieldBattleDTO_CopyPlayerInfoToTrainerData(v4); @@ -389,7 +389,7 @@ FieldBattleDTO *ov104_0223ABA0(UnkStruct_ov104_0223ADA0 *param0, UnkStruct_ov104 Heap_Free(BattleTower_GetTrainerData(&v6, param0->unk_18[param0->unk_06 + 7], HEAP_ID_FIELD2, NARC_INDEX_BATTLE__B_PL_TOWER__PL_BTDTR)); ov104_0222E284(v4, &v6, v3, 3, 11); - Party_InitWithCapacity(v4->parties[3], ov104_0223AA74(param0->unk_04, 0)); + Party_InitWithCapacity(v4->parties[3], ov104_0223AA74(param0->challengeType, 0)); v5 = Pokemon_New(HEAP_ID_FIELD2); @@ -421,7 +421,7 @@ static u32 ov104_0223AD74(u8 param0) return (0x0 | 0x1) | 0x80; } -u8 ov104_0223ADA0(UnkStruct_ov104_0223ADA0 *param0) +u8 ov104_0223ADA0(BattleFactory *param0) { if (param0->unk_05 == 0) { return 50; @@ -430,7 +430,7 @@ u8 ov104_0223ADA0(UnkStruct_ov104_0223ADA0 *param0) return 100; } -void ov104_0223ADB0(UnkStruct_ov104_0223ADA0 *param0) +void ov104_0223ADB0(BattleFactory *param0) { int v0; Pokemon *v1; @@ -450,7 +450,7 @@ void ov104_0223ADB0(UnkStruct_ov104_0223ADA0 *param0) return; } -void ov104_0223AE30(UnkStruct_ov104_0223ADA0 *param0) +void ov104_0223AE30(BattleFactory *param0) { int v0, v1; Pokemon *v2; @@ -481,11 +481,11 @@ BOOL BattleFactory_IsMultiplayerChallenge(u8 challengeType) return challengeType == FRONTIER_CHALLENGE_MULTI || challengeType == FRONTIER_CHALLENGE_MULTI_WFC; } -static u16 ov104_0223AEE4(UnkStruct_ov104_0223ADA0 *param0) +static u16 ov104_0223AEE4(BattleFactory *param0) { u16 v0, v1; - if (param0->unk_04 == 0) { + if (param0->challengeType == 0) { if ((param0->unk_18[param0->unk_06] == 309) || (param0->unk_18[param0->unk_06] == 310)) { return 0x1 | 0x2 | 0x4; } @@ -508,11 +508,11 @@ static u16 ov104_0223AEE4(UnkStruct_ov104_0223ADA0 *param0) return v0; } -u16 ov104_0223AF34(UnkStruct_ov104_0223ADA0 *param0) +u16 ov104_0223AF34(BattleFactory *param0) { u16 v0 = param0->unk_0E; - if (BattleFactory_IsMultiplayerChallenge(param0->unk_04) == 1) { + if (BattleFactory_IsMultiplayerChallenge(param0->challengeType) == 1) { if (param0->unk_57E > param0->unk_0E) { v0 = param0->unk_57E; } diff --git a/src/overlay104/ov104_0223B6F4.c b/src/overlay104/ov104_0223B6F4.c index 1905338653..d0dfb68896 100644 --- a/src/overlay104/ov104_0223B6F4.c +++ b/src/overlay104/ov104_0223B6F4.c @@ -8,8 +8,8 @@ #include "struct_defs/battle_frontier.h" #include "overlay104/ov104_0222DCE0.h" +#include "overlay104/struct_battle_castle.h" #include "overlay104/struct_ov104_02230BE4.h" -#include "overlay104/struct_ov104_0223BA10.h" #include "battle_frontier_stats.h" #include "bg_window.h" @@ -29,18 +29,18 @@ static int ov104_0223B6F4(u8 param0, int param1, int param2); void ov104_0223B760(u8 param0, int param1, u16 param2[], u8 param3); u8 ov104_0223B7DC(u8 param0, BOOL param1); -FieldBattleDTO *ov104_0223B810(UnkStruct_ov104_0223BA10 *param0, UnkStruct_ov104_02230BE4 *param1); +FieldBattleDTO *ov104_0223B810(BattleCastle *param0, UnkStruct_ov104_02230BE4 *param1); static u32 ov104_0223B9E4(u8 param0); -u8 ov104_0223BA10(UnkStruct_ov104_0223BA10 *param0); +u8 ov104_0223BA10(BattleCastle *param0); void ov104_0223BA24(Party *param0); -void ov104_0223BAB8(UnkStruct_ov104_0223BA10 *param0); -void ov104_0223BA7C(UnkStruct_ov104_0223BA10 *param0, Pokemon *param1); -void ov104_0223BAA0(UnkStruct_ov104_0223BA10 *param0, Party *param1, Pokemon *param2); -static u16 ov104_0223BB10(UnkStruct_ov104_0223BA10 *param0); -u16 ov104_0223BB60(UnkStruct_ov104_0223BA10 *param0); +void ov104_0223BAB8(BattleCastle *param0); +void ov104_0223BA7C(BattleCastle *param0, Pokemon *param1); +void ov104_0223BAA0(BattleCastle *param0, Party *param1, Pokemon *param2); +static u16 ov104_0223BB10(BattleCastle *param0); +u16 ov104_0223BB60(BattleCastle *param0); u16 ov104_0223BC24(u16 param0); void FieldBattleDTO_CopyPlayerInfoToTrainerData(FieldBattleDTO *param0); -void ov104_0223BB84(BgConfig *param0, UnkStruct_ov104_0223BA10 *param1, u32 param2); +void ov104_0223BB84(BgConfig *param0, BattleCastle *param1, u32 param2); static void ov104_0223BBC4(u16 *param0, u16 param1); static const struct { @@ -151,7 +151,7 @@ u8 ov104_0223B7DC(u8 param0, BOOL param1) return 3; } -FieldBattleDTO *ov104_0223B810(UnkStruct_ov104_0223BA10 *param0, UnkStruct_ov104_02230BE4 *param1) +FieldBattleDTO *ov104_0223B810(BattleCastle *param0, UnkStruct_ov104_02230BE4 *param1) { int v0; u32 v1; @@ -159,11 +159,11 @@ FieldBattleDTO *ov104_0223B810(UnkStruct_ov104_0223BA10 *param0, UnkStruct_ov104 Pokemon *v6; FrontierTrainerDataDTO v7; - u8 v2 = BattleCastle_GetPartySize(param0->unk_10, 0); - u8 v3 = ov104_0223B7DC(param0->unk_10, 0); + u8 v2 = BattleCastle_GetPartySize(param0->challengeType, 0); + u8 v3 = ov104_0223B7DC(param0->challengeType, 0); Party_HealAllMembers(param0->unk_2C); - FieldBattleDTO *v5 = FieldBattleDTO_New(HEAP_ID_FIELD2, ov104_0223B9E4(param0->unk_10)); + FieldBattleDTO *v5 = FieldBattleDTO_New(HEAP_ID_FIELD2, ov104_0223B9E4(param0->challengeType)); FieldBattleDTO_InitFromGameState(v5, NULL, param1->saveData, param1->unk_1C, param1->journalEntry, param1->bagCursor, param1->unk_20); v5->background = BACKGROUND_BATTLE_CASTLE; @@ -190,7 +190,7 @@ FieldBattleDTO *ov104_0223B810(UnkStruct_ov104_0223BA10 *param0, UnkStruct_ov104 Heap_Free(BattleTower_GetTrainerData(&v7, param0->unk_30[param0->unk_11], HEAP_ID_FIELD2, NARC_INDEX_BATTLE__B_PL_TOWER__PL_BTDTR)); ov104_0222E284(v5, &v7, v3, 1, 11); - Party_InitWithCapacity(v5->parties[1], ov104_0223B7DC(param0->unk_10, 0)); + Party_InitWithCapacity(v5->parties[1], ov104_0223B7DC(param0->challengeType, 0)); for (v0 = 0; v0 < 4; v0++) { v5->trainer[v0].header.aiMask = ov104_0223BB10(param0); @@ -205,7 +205,7 @@ FieldBattleDTO *ov104_0223B810(UnkStruct_ov104_0223BA10 *param0, UnkStruct_ov104 Heap_Free(v6); - switch (param0->unk_10) { + switch (param0->challengeType) { case 2: case 3: FieldBattleDTO_CopyPlayerInfoToTrainerData(v5); @@ -215,7 +215,7 @@ FieldBattleDTO *ov104_0223B810(UnkStruct_ov104_0223BA10 *param0, UnkStruct_ov104 Heap_Free(BattleTower_GetTrainerData(&v7, param0->unk_30[param0->unk_11 + 7], HEAP_ID_FIELD2, NARC_INDEX_BATTLE__B_PL_TOWER__PL_BTDTR)); ov104_0222E284(v5, &v7, v3, 3, 11); - Party_InitWithCapacity(v5->parties[3], ov104_0223B7DC(param0->unk_10, 0)); + Party_InitWithCapacity(v5->parties[3], ov104_0223B7DC(param0->challengeType, 0)); v6 = Pokemon_New(HEAP_ID_FIELD2); @@ -247,7 +247,7 @@ static u32 ov104_0223B9E4(u8 param0) return (0x0 | 0x1) | 0x80; } -u8 ov104_0223BA10(UnkStruct_ov104_0223BA10 *param0) +u8 ov104_0223BA10(BattleCastle *param0) { return 50; } @@ -284,20 +284,20 @@ void ov104_0223BA24(Party *param0) return; } -void ov104_0223BA7C(UnkStruct_ov104_0223BA10 *param0, Pokemon *param1) +void ov104_0223BA7C(BattleCastle *param0, Pokemon *param1) { Pokemon_UpdateAfterCatch(param1, SaveData_GetTrainerInfo(param0->saveData), 4, 0, 0, 11); return; } -void ov104_0223BAA0(UnkStruct_ov104_0223BA10 *param0, Party *param1, Pokemon *param2) +void ov104_0223BAA0(BattleCastle *param0, Party *param1, Pokemon *param2) { ov104_0223BA7C(param0, param2); Party_AddPokemon(param1, param2); return; } -void ov104_0223BAB8(UnkStruct_ov104_0223BA10 *param0) +void ov104_0223BAB8(BattleCastle *param0) { int v0, v1; u8 v2; @@ -305,7 +305,7 @@ void ov104_0223BAB8(UnkStruct_ov104_0223BA10 *param0) Party_Init(param0->unk_2C); - v2 = ov104_0223B7DC(param0->unk_10, 1); + v2 = ov104_0223B7DC(param0->challengeType, 1); v3 = Pokemon_New(HEAP_ID_FIELD2); for (v0 = 0; v0 < v2; v0++) { @@ -318,11 +318,11 @@ void ov104_0223BAB8(UnkStruct_ov104_0223BA10 *param0) return; } -static u16 ov104_0223BB10(UnkStruct_ov104_0223BA10 *param0) +static u16 ov104_0223BB10(BattleCastle *param0) { u16 v0, v1; - if (param0->unk_10 == 0) { + if (param0->challengeType == 0) { if ((param0->unk_30[param0->unk_11] == 313) || (param0->unk_30[param0->unk_11] == 314)) { return 0x1 | 0x2 | 0x4; } @@ -345,11 +345,11 @@ static u16 ov104_0223BB10(UnkStruct_ov104_0223BA10 *param0) return v0; } -u16 ov104_0223BB60(UnkStruct_ov104_0223BA10 *param0) +u16 ov104_0223BB60(BattleCastle *param0) { u16 v0 = param0->unk_16; - if (BattleCastle_IsMultiPlayerChallenge(param0->unk_10) == 1) { + if (BattleCastle_IsMultiPlayerChallenge(param0->challengeType) == 1) { if (param0->unk_A12 > param0->unk_16) { v0 = param0->unk_A12; } @@ -358,7 +358,7 @@ u16 ov104_0223BB60(UnkStruct_ov104_0223BA10 *param0) return v0; } -void ov104_0223BB84(BgConfig *param0, UnkStruct_ov104_0223BA10 *param1, u32 param2) +void ov104_0223BB84(BgConfig *param0, BattleCastle *param1, u32 param2) { int v0; u16 v1[30]; diff --git a/src/overlay104/ov104_0223BCBC.c b/src/overlay104/ov104_0223BCBC.c index a880f2d0ca..5b1c512161 100644 --- a/src/overlay104/ov104_0223BCBC.c +++ b/src/overlay104/ov104_0223BCBC.c @@ -8,8 +8,8 @@ #include "struct_defs/battle_frontier_trainer_data.h" #include "overlay104/ov104_0222DCE0.h" +#include "overlay104/struct_battle_arcade.h" #include "overlay104/struct_ov104_02230BE4.h" -#include "overlay104/struct_ov104_0223BFFC.h" #include "communication_information.h" #include "communication_system.h" @@ -24,15 +24,15 @@ #include "string_gf.h" #include "trainer_info.h" -FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104_02230BE4 *param1); +FieldBattleDTO *ov104_0223BDD8(BattleArcade *param0, UnkStruct_ov104_02230BE4 *param1); static u32 ov104_0223BFD0(u8 param0); -u8 ov104_0223BFFC(UnkStruct_ov104_0223BFFC *param0); -void ov104_0223C04C(UnkStruct_ov104_0223BFFC *param0); -void ov104_0223C010(UnkStruct_ov104_0223BFFC *param0, Pokemon *param1); -void ov104_0223C034(UnkStruct_ov104_0223BFFC *param0, Party *param1, Pokemon *param2); -u16 ov104_0223C0BC(UnkStruct_ov104_0223BFFC *param0, u8 param1); -static u16 ov104_0223C0D0(UnkStruct_ov104_0223BFFC *param0); -u16 ov104_0223C124(UnkStruct_ov104_0223BFFC *param0); +u8 ov104_0223BFFC(BattleArcade *param0); +void ov104_0223C04C(BattleArcade *param0); +void ov104_0223C010(BattleArcade *param0, Pokemon *param1); +void ov104_0223C034(BattleArcade *param0, Party *param1, Pokemon *param2); +u16 ov104_0223C0BC(BattleArcade *param0, u8 param1); +static u16 ov104_0223C0D0(BattleArcade *param0); +u16 ov104_0223C124(BattleArcade *param0); void FieldBattleDTO_CopyPlayerInfoToTrainerData(FieldBattleDTO *param0); static int ov104_0223BCBC(u8 param0, int param1, int param2); void ov104_0223BD28(u8 param0, int param1, u16 param2[], u8 param3); @@ -155,7 +155,7 @@ u8 BattleArcade_GetOpponentPartySize(u8 challengeType, BOOL includeBothOpponents return ARCADE_PARTY_SIZE_SOLO; } -FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104_02230BE4 *param1) +FieldBattleDTO *ov104_0223BDD8(BattleArcade *param0, UnkStruct_ov104_02230BE4 *param1) { int v0; u8 v2, v3, v4; @@ -164,9 +164,9 @@ FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104 Party *v12; Party *v13; - v2 = BattleArcade_GetPartySize(param0->unk_10, 0); - v3 = BattleArcade_GetOpponentPartySize(param0->unk_10, 0); - FieldBattleDTO *v5 = FieldBattleDTO_New(HEAP_ID_FIELD2, ov104_0223BFD0(param0->unk_10)); + v2 = BattleArcade_GetPartySize(param0->challengeType, 0); + v3 = BattleArcade_GetOpponentPartySize(param0->challengeType, 0); + FieldBattleDTO *v5 = FieldBattleDTO_New(HEAP_ID_FIELD2, ov104_0223BFD0(param0->challengeType)); FieldBattleDTO_InitFromGameState(v5, NULL, param1->saveData, param1->unk_1C, param1->journalEntry, param1->bagCursor, param1->unk_20); @@ -177,7 +177,7 @@ FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104 v12 = param0->unk_70; v13 = param0->unk_74; - if (param0->unk_13 == 27) { + if (param0->activeEffect == 27) { v12 = param0->unk_74; v13 = param0->unk_70; } @@ -204,7 +204,7 @@ FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104 Heap_Free(v8); ov104_0222E284(v5, &v7, v3, 1, 11); - Party_InitWithCapacity(v5->parties[1], BattleArcade_GetOpponentPartySize(param0->unk_10, 0)); + Party_InitWithCapacity(v5->parties[1], BattleArcade_GetOpponentPartySize(param0->challengeType, 0)); for (v0 = 0; v0 < 4; v0++) { v5->trainer[v0].header.aiMask = ov104_0223C0D0(param0); @@ -219,7 +219,7 @@ FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104 Heap_Free(v6); - switch (param0->unk_10) { + switch (param0->challengeType) { case 2: case 3: FieldBattleDTO_CopyPlayerInfoToTrainerData(v5); @@ -230,7 +230,7 @@ FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104 Heap_Free(v8); ov104_0222E284(v5, &v7, v3, 3, 11); - Party_InitWithCapacity(v5->parties[3], BattleArcade_GetOpponentPartySize(param0->unk_10, 0)); + Party_InitWithCapacity(v5->parties[3], BattleArcade_GetOpponentPartySize(param0->challengeType, 0)); v6 = Pokemon_New(HEAP_ID_FIELD2); @@ -265,7 +265,7 @@ static u32 ov104_0223BFD0(u8 param0) return (0x0 | 0x1) | 0x80; } -u8 ov104_0223BFFC(UnkStruct_ov104_0223BFFC *param0) +u8 ov104_0223BFFC(BattleArcade *param0) { return 50; } @@ -275,20 +275,20 @@ BOOL BattleArcade_IsMultiPlayerChallenge(u8 challengeType) return challengeType == FRONTIER_CHALLENGE_MULTI || challengeType == FRONTIER_CHALLENGE_MULTI_WFC; } -void ov104_0223C010(UnkStruct_ov104_0223BFFC *param0, Pokemon *param1) +void ov104_0223C010(BattleArcade *param0, Pokemon *param1) { Pokemon_UpdateAfterCatch(param1, SaveData_GetTrainerInfo(param0->saveData), 4, 0, 0, 11); return; } -void ov104_0223C034(UnkStruct_ov104_0223BFFC *param0, Party *param1, Pokemon *param2) +void ov104_0223C034(BattleArcade *param0, Party *param1, Pokemon *param2) { ov104_0223C010(param0, param2); Party_AddPokemon(param1, param2); return; } -void ov104_0223C04C(UnkStruct_ov104_0223BFFC *param0) +void ov104_0223C04C(BattleArcade *param0) { u32 v0; int v1, v2; @@ -299,7 +299,7 @@ void ov104_0223C04C(UnkStruct_ov104_0223BFFC *param0) Party_Init(param0->unk_74); - v3 = BattleArcade_GetOpponentPartySize(param0->unk_10, 1); + v3 = BattleArcade_GetOpponentPartySize(param0->challengeType, 1); v5 = Pokemon_New(HEAP_ID_FIELD2); for (v1 = 0; v1 < v3; v1++) { @@ -316,7 +316,7 @@ void ov104_0223C04C(UnkStruct_ov104_0223BFFC *param0) return; } -u16 ov104_0223C0BC(UnkStruct_ov104_0223BFFC *param0, u8 param1) +u16 ov104_0223C0BC(BattleArcade *param0, u8 param1) { u16 v0, v1; @@ -343,11 +343,11 @@ u16 ov104_0223C0BC(UnkStruct_ov104_0223BFFC *param0, u8 param1) return v0; } -static u16 ov104_0223C0D0(UnkStruct_ov104_0223BFFC *param0) +static u16 ov104_0223C0D0(BattleArcade *param0) { u16 v0, v1; - if (param0->unk_10 == 0) { + if (param0->challengeType == 0) { if ((param0->unk_78[param0->unk_11] == 311) || (param0->unk_78[param0->unk_11] == 312)) { return 0x1 | 0x2 | 0x4; } @@ -370,11 +370,11 @@ static u16 ov104_0223C0D0(UnkStruct_ov104_0223BFFC *param0) return v0; } -u16 ov104_0223C124(UnkStruct_ov104_0223BFFC *param0) +u16 ov104_0223C124(BattleArcade *param0) { u16 v0 = param0->unk_1A; - if (BattleArcade_IsMultiPlayerChallenge(param0->unk_10) == 1) { + if (BattleArcade_IsMultiPlayerChallenge(param0->challengeType) == 1) { if (param0->unk_A76 > param0->unk_1A) { v0 = param0->unk_A76; } @@ -389,7 +389,7 @@ u8 BattleArcade_GetCategoryFromEffect(u8 effect) return ARCADE_EFFECT_CATEGORY_FOE; } else if (effect < ARCADE_EFFECT_SUNNY_BATTLE) { return ARCADE_EFFECT_CATEGORY_ALLY; - } else if (effect < ARCADE_EFFECT_RANDOMIZE_CURSOR) { + } else if (effect < ARCADE_EFFECT_SWAP_MONS) { return ARCADE_EFFECT_CATEGORY_ENV; } diff --git a/src/unk_020494DC.c b/src/unk_020494DC.c index d9de171e00..a04a8f4e9c 100644 --- a/src/unk_020494DC.c +++ b/src/unk_020494DC.c @@ -4,7 +4,7 @@ #include #include "constants/battle_tower.h" -#include "generated/battle_tower_functions.h" +#include "constants/battle_tower_functions.h" #include "generated/battle_tower_modes.h" #include "generated/game_records.h" #include "generated/items.h"