mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-10-01 22:09:43 -05:00
Document some facility-specific frscrcmds and structs (#1127)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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' },
|
||||
|
||||
@@ -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);
|
||||
|
||||
24
include/applications/frontier/battle_castle/args.h
Normal file
24
include/applications/frontier/battle_castle/args.h
Normal file
@@ -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
|
||||
@@ -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);
|
||||
|
||||
60
include/constants/battle_arcade_functions.h
Normal file
60
include/constants/battle_arcade_functions.h
Normal file
@@ -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
|
||||
52
include/constants/battle_castle_functions.h
Normal file
52
include/constants/battle_castle_functions.h
Normal file
@@ -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
|
||||
49
include/constants/battle_factory_functions.h
Normal file
49
include/constants/battle_factory_functions.h
Normal file
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
52
include/constants/battle_tower_functions.h
Normal file
52
include/constants/battle_tower_functions.h
Normal file
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
23
include/overlay104/frscrcmd_battle_factory.h
Normal file
23
include/overlay104/frscrcmd_battle_factory.h
Normal file
@@ -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
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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++) {
|
||||
|
||||
@@ -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++) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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"
|
||||
|
||||
623
src/overlay104/frscrcmd_battle_arcade.c
Normal file
623
src/overlay104/frscrcmd_battle_arcade.c
Normal file
@@ -0,0 +1,623 @@
|
||||
#include "overlay104/frscrcmd_battle_arcade.h"
|
||||
|
||||
#include <nitro.h>
|
||||
|
||||
#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 <nitro/code16.h>
|
||||
|
||||
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;
|
||||
}
|
||||
579
src/overlay104/frscrcmd_battle_castle.c
Normal file
579
src/overlay104/frscrcmd_battle_castle.c
Normal file
@@ -0,0 +1,579 @@
|
||||
#include "overlay104/frscrcmd_battle_castle.h"
|
||||
|
||||
#include <nitro.h>
|
||||
|
||||
#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 <nitro/code16.h>
|
||||
|
||||
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;
|
||||
}
|
||||
473
src/overlay104/frscrcmd_battle_factory.c
Normal file
473
src/overlay104/frscrcmd_battle_factory.c
Normal file
@@ -0,0 +1,473 @@
|
||||
#include "overlay104/frscrcmd_battle_factory.h"
|
||||
|
||||
#include <nitro.h>
|
||||
|
||||
#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 <nitro/code16.h>
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#include "overlay104/frscrcmd_battle_tower.h"
|
||||
|
||||
#include <nitro.h>
|
||||
#include <nitro/code16.h>
|
||||
#include <string.h>
|
||||
|
||||
#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;
|
||||
@@ -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];
|
||||
|
||||
@@ -1,492 +0,0 @@
|
||||
#include <nitro.h>
|
||||
#include <string.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_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 <nitro/code16.h>
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay104/ov104_022339B4.h"
|
||||
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,614 +0,0 @@
|
||||
#include <nitro.h>
|
||||
#include <string.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_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 <nitro/code16.h>
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "overlay104/ov104_022361B4.h"
|
||||
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,655 +0,0 @@
|
||||
#include <nitro.h>
|
||||
#include <string.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_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 <nitro/code16.h>
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#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"
|
||||
|
||||
Reference in New Issue
Block a user