mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-24 23:18:36 -05:00
Document battle tower lobby (#802)
This commit is contained in:
parent
6c51ad190f
commit
06aaecdfc5
|
|
@ -1,7 +1,10 @@
|
|||
#include "generated/accessories.h"
|
||||
#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"
|
||||
#include "generated/days_of_week.h"
|
||||
#include "generated/fade_types.h"
|
||||
#include "generated/game_records.h"
|
||||
|
|
@ -1441,20 +1444,20 @@
|
|||
.long \offset-.-4
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_0F2 arg0, arg1, arg2, arg3
|
||||
.macro StartBattleClient commType, arg1, arg2, destVarID
|
||||
.short 242
|
||||
.short \arg0
|
||||
.short \commType
|
||||
.short \arg1
|
||||
.short \arg2
|
||||
.short \arg3
|
||||
.short \destVarID
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_0F3 arg0, arg1, arg2, arg3
|
||||
.macro StartBattleServer commType, arg1, arg2, destVarID
|
||||
.short 243
|
||||
.short \arg0
|
||||
.short \commType
|
||||
.short \arg1
|
||||
.short \arg2
|
||||
.short \arg3
|
||||
.short \destVarID
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_Unused_0F4 arg0
|
||||
|
|
@ -1795,12 +1798,12 @@
|
|||
.short \destVarID
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_135 arg0
|
||||
.macro ScrCmd_135 syncNo
|
||||
.short 309
|
||||
.short \arg0
|
||||
.short \syncNo
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_136
|
||||
.macro ClearReceivedTempDataAllPlayers
|
||||
.short 310
|
||||
.endm
|
||||
|
||||
|
|
@ -1924,7 +1927,7 @@
|
|||
.short 335
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_150
|
||||
.macro EndCommunication
|
||||
.short 336
|
||||
.endm
|
||||
|
||||
|
|
@ -2684,25 +2687,25 @@
|
|||
.short \arg1
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_1DA
|
||||
.macro SetBattleTowerNull
|
||||
.short 474
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_1DB arg0, arg1
|
||||
.macro InitBattleTower arg0, challengeMode
|
||||
.short 475
|
||||
.short \arg0
|
||||
.short \arg1
|
||||
.short \challengeMode
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_1DC
|
||||
.macro FreeBattleTower
|
||||
.short 476
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_1DD arg0, arg1, arg2
|
||||
.macro CallBattleTowerFunction functionIndex, functionArgument, destVar
|
||||
.short 477
|
||||
.short \arg0
|
||||
.short \arg1
|
||||
.short \arg2
|
||||
.short \functionIndex
|
||||
.short \functionArgument
|
||||
.short \destVar
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_1DE arg0, arg1, arg2, arg3
|
||||
|
|
@ -2891,12 +2894,12 @@
|
|||
.byte \arg0
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_1FF arg0, arg1, arg2, arg3
|
||||
.macro PrintBattleFrontierBanlist messageID, numRequiredEligiblePokemon, unused2, unused3
|
||||
.short 511
|
||||
.byte \arg0
|
||||
.short \arg1
|
||||
.short \arg2
|
||||
.byte \arg3
|
||||
.byte \messageID
|
||||
.short \numRequiredEligiblePokemon
|
||||
.short \unused2
|
||||
.byte \unused3
|
||||
.endm
|
||||
|
||||
.macro GetPreviousMapID destVarID
|
||||
|
|
@ -2943,9 +2946,9 @@
|
|||
.short 518
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_207 arg0
|
||||
.macro GetCurNetID destVarID
|
||||
.short 519
|
||||
.short \arg0
|
||||
.short \destVarID
|
||||
.endm
|
||||
|
||||
.macro DrawPokemonPreview species, gender
|
||||
|
|
@ -4711,7 +4714,7 @@
|
|||
.short \destVar
|
||||
.endm
|
||||
|
||||
.macro ScrCmd_330
|
||||
.macro LogLinkInfoInWiFiHistory
|
||||
.short 816
|
||||
.endm
|
||||
|
||||
|
|
|
|||
43
generated/battle_tower_functions.txt
Normal file
43
generated/battle_tower_functions.txt
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
BATTLE_TOWER_FUNCTION_CHECK_ENOUGH_VALID_POKEMON = 1
|
||||
BATTLE_TOWER_FUNCTION_UNK_02
|
||||
BATTLE_TOWER_FUNCTION_UNK_03
|
||||
BATTLE_TOWER_FUNCTION_UNK_04
|
||||
BATTLE_TOWER_FUNCTION_SET_COMMUNICATION_CLUB_ACCESSIBLE
|
||||
BATTLE_TOWER_FUNCTION_CLEAR_COMMUNICATION_CLUB_ACCESSIBLE
|
||||
BATTLE_TOWER_FUNCTION_UNK_08 = 8
|
||||
BATTLE_TOWER_FUNCTION_UNK_09
|
||||
BATTLE_TOWER_FUNCTION_UNK_10
|
||||
BATTLE_TOWER_FUNCTION_UNK_11
|
||||
BATTLE_TOWER_FUNCTION_UNK_12
|
||||
BATTLE_TOWER_FUNCTION_UNK_14 = 14
|
||||
BATTLE_TOWER_FUNCTION_UNK_15
|
||||
BATTLE_TOWER_FUNCTION_UNK_16
|
||||
BATTLE_TOWER_FUNCTION_UNK_30 = 30
|
||||
BATTLE_TOWER_FUNCTION_UNK_31
|
||||
BATTLE_TOWER_FUNCTION_CHECK_DUPLICATE_SPECIES_AND_HELD_ITEMS
|
||||
BATTLE_TOWER_FUNCTION_UNK_33
|
||||
BATTLE_TOWER_FUNCTION_UNK_34
|
||||
BATTLE_TOWER_FUNCTION_UNK_35
|
||||
BATTLE_TOWER_FUNCTION_UNK_36
|
||||
BATTLE_TOWER_FUNCTION_UNK_37
|
||||
BATTLE_TOWER_FUNCTION_UNK_38
|
||||
BATTLE_TOWER_FUNCTION_UNK_39
|
||||
BATTLE_TOWER_FUNCTION_UNK_40
|
||||
BATTLE_TOWER_FUNCTION_UNK_41
|
||||
BATTLE_TOWER_FUNCTION_UNK_42
|
||||
BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE
|
||||
BATTLE_TOWER_FUNCTION_UNK_44
|
||||
BATTLE_TOWER_FUNCTION_UNK_45
|
||||
BATTLE_TOWER_FUNCTION_UNK_47 = 47
|
||||
BATTLE_TOWER_FUNCTION_UNK_48
|
||||
BATTLE_TOWER_FUNCTION_UNK_49
|
||||
BATTLE_TOWER_FUNCTION_UNK_50
|
||||
BATTLE_TOWER_FUNCTION_UNK_51
|
||||
BATTLE_TOWER_FUNCTION_UNK_52
|
||||
BATTLE_TOWER_FUNCTION_GET_SLOT_INDEX
|
||||
BATTLE_TOWER_FUNCTION_UNK_54
|
||||
BATTLE_TOWER_FUNCTION_UNK_55
|
||||
BATTLE_TOWER_FUNCTION_UNK_56
|
||||
BATTLE_TOWER_FUNCTION_UNK_57
|
||||
BATTLE_TOWER_FUNCTION_UNK_58
|
||||
BATTLE_TOWER_FUNCTION_CHECK_IS_NULL = 100
|
||||
7
generated/battle_tower_modes.txt
Normal file
7
generated/battle_tower_modes.txt
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
BATTLE_TOWER_MODE_SINGLE
|
||||
BATTLE_TOWER_MODE_DOUBLE
|
||||
BATTLE_TOWER_MODE_MULTI
|
||||
BATTLE_TOWER_MODE_LINK_MULTI
|
||||
BATTLE_TOWER_MODE_WIFI
|
||||
BATTLE_TOWER_MODE_5
|
||||
BATTLE_TOWER_MODE_6
|
||||
5
generated/comm_club_ret_codes.txt
Normal file
5
generated/comm_club_ret_codes.txt
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
COMM_CLUB_RET_0
|
||||
COMM_CLUB_RET_CANCEL
|
||||
COMM_CLUB_RET_2
|
||||
COMM_CLUB_RET_ERROR
|
||||
COMM_CLUB_RET_4
|
||||
|
|
@ -38,10 +38,13 @@ 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' },
|
||||
'bg_event_types': { 'type': 'enum', 'tag': 'BgEventType' },
|
||||
'catching_show_points_category': { 'type': 'enum', 'tag': 'CatchingShowPointsCategory' },
|
||||
'comm_club_ret_codes': { 'type': 'enum', 'tag': 'CommClubRetCode' },
|
||||
'days_of_week': { 'type': 'enum', 'tag': 'DayOfWeek' },
|
||||
'distribution_events': { 'type': 'enum', 'tag': 'DistributionEvent' },
|
||||
'egg_groups': { 'type': 'enum', 'tag': 'EggGroup' },
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ FLAG_UNK_0x00FB
|
|||
FLAG_UNK_0x00FC
|
||||
FLAG_UNK_0x00FD
|
||||
FLAG_UNK_0x00FE
|
||||
FLAG_UNK_0x00FF
|
||||
FLAG_TALKED_TO_STATS_JUDGE
|
||||
FLAG_UNK_0x0100
|
||||
FLAG_UNK_0x0101
|
||||
FLAG_UNK_0x0102
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ typedef struct FieldSystem_t {
|
|||
DynamicTerrainHeightManager *dynamicTerrainHeightMan;
|
||||
MapPropManager *mapPropManager;
|
||||
HoneyTreeShakeList *unk_A8;
|
||||
UnkStruct_0204AFC4 *unk_AC;
|
||||
BattleTower *battleTower;
|
||||
const BattleRegulation *unk_B0;
|
||||
PokedexMemory *pokedexMemory;
|
||||
BOOL unk_B8;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ BOOL ScrCmd_331(ScriptContext *param0);
|
|||
BOOL ScrCmd_332(ScriptContext *param0);
|
||||
BOOL ScrCmd_338(ScriptContext *param0);
|
||||
BOOL ScrCmd_339(ScriptContext *param0);
|
||||
BOOL ScrCmd_330(ScriptContext *param0);
|
||||
BOOL ScrCmd_LogLinkInfoInWiFiHistory(ScriptContext *ctx);
|
||||
BOOL ScrCmd_333(ScriptContext *param0);
|
||||
|
||||
#endif // POKEPLATINUM_OV5_021F6454_H
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
#include "field/field_system_decl.h"
|
||||
|
||||
void ov7_0224B414(FieldSystem *fieldSystem, int param1, int param2, int param3);
|
||||
void ov7_0224B450(void);
|
||||
u32 ov7_0224B460(void);
|
||||
void ov7_0224B47C(FieldSystem *fieldSystem, int param1, int param2, int param3);
|
||||
void ov7_0224B4B8(void);
|
||||
void CommClub_StartBattleClient(FieldSystem *fieldSystem, int param1, int param2, int param3);
|
||||
void CommClub_PrintChooseJoinMsg(void);
|
||||
u32 CommClub_CheckWindowOpenClient(void);
|
||||
void CommClub_StartBattleServer(FieldSystem *fieldSystem, int param1, int param2, int param3);
|
||||
void ov7_0224B4B8(void);
|
||||
u32 CommClub_CheckWindowOpenServer(void);
|
||||
BOOL ov7_0224B4E4(void);
|
||||
|
||||
#endif // POKEPLATINUM_OV7_02249960_H
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@
|
|||
|
||||
#include "savedata.h"
|
||||
|
||||
void ov104_022394A4(UnkStruct_0204AFC4 *param0, SaveData *saveData);
|
||||
u16 ov104_02239588(UnkStruct_0204AFC4 *param0, u16 param1);
|
||||
void ov104_022395A0(UnkStruct_0204AFC4 *param0, u16 param1);
|
||||
u16 ov104_022395B4(UnkStruct_0204AFC4 *param0);
|
||||
u16 ov104_022395D8(UnkStruct_0204AFC4 *param0);
|
||||
void ov104_022394A4(BattleTower *battleTower, SaveData *saveData);
|
||||
u16 ov104_02239588(BattleTower *battleTower, u16 param1);
|
||||
void ov104_022395A0(BattleTower *battleTower, u16 param1);
|
||||
u16 ov104_022395B4(BattleTower *battleTower);
|
||||
u16 ov104_022395D8(BattleTower *battleTower);
|
||||
|
||||
#endif // POKEPLATINUM_OV104_022394A4_H
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@
|
|||
#include "field_battle_data_transfer.h"
|
||||
#include "savedata.h"
|
||||
|
||||
BOOL ov104_0223A0C4(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID);
|
||||
BOOL ov104_0223A0C4(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID);
|
||||
void ov104_0223A30C(SaveData *saveData, UnkStruct_ov104_0223A348 *param1, const u8 param2);
|
||||
FieldBattleDTO *ov104_0223A580(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_02230BE4 *param1);
|
||||
void ov104_0223A734(UnkStruct_0204AFC4 *param0, u16 param1);
|
||||
u16 ov104_0223A750(UnkStruct_0204AFC4 *param0, const u16 *param1);
|
||||
FieldBattleDTO *ov104_0223A580(BattleTower *battleTower, UnkStruct_ov104_02230BE4 *param1);
|
||||
void ov104_0223A734(BattleTower *battleTower, u16 param1);
|
||||
u16 ov104_0223A750(BattleTower *battleTower, const u16 *param1);
|
||||
int ov104_0223A790(u8 param0);
|
||||
|
||||
#endif // POKEPLATINUM_OV104_0223A0C4_H
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@
|
|||
|
||||
#define INIT_IVS_RANDOM 32
|
||||
|
||||
#define BATTLE_FRONTIER_BANLIST_SIZE 18
|
||||
|
||||
enum EvolutionClass {
|
||||
EVO_CLASS_BY_LEVEL = 0,
|
||||
EVO_CLASS_BY_TRADE,
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@
|
|||
|
||||
#include "location.h"
|
||||
|
||||
typedef struct UnkStruct_0204AFC4_t {
|
||||
typedef struct BattleTower {
|
||||
int unk_00;
|
||||
int heapID;
|
||||
u32 unk_08;
|
||||
u8 unk_0C;
|
||||
u8 unk_0D;
|
||||
u8 unk_0E;
|
||||
u8 unk_0F;
|
||||
u8 partySize;
|
||||
u8 challengeMode;
|
||||
u8 unk_10_0 : 1;
|
||||
u8 unk_10_1 : 2;
|
||||
u8 unk_10_3 : 1;
|
||||
|
|
@ -53,6 +53,6 @@ typedef struct UnkStruct_0204AFC4_t {
|
|||
u8 unk_8D7;
|
||||
u16 unk_8D8;
|
||||
u16 unk_8DA;
|
||||
} UnkStruct_0204AFC4;
|
||||
} BattleTower;
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_0204AFC4_H
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ int sub_02036590(void);
|
|||
void sub_02036594(u8 param0, u8 param1);
|
||||
int CommList_Get(int param0, u8 param1);
|
||||
void CommList_Refresh(void);
|
||||
void sub_020365F4(void);
|
||||
void CommTool_ClearReceivedTempDataAllPlayers(void);
|
||||
BOOL sub_02036614(int param0, const void *param1);
|
||||
const void *sub_0203664C(int param0);
|
||||
void sub_02036670(int param0, int param1, void *param2, void *param3);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "struct_defs/wi_fi_history.h"
|
||||
|
||||
void sub_02038F8C(WiFiHistory *wiFiHistory);
|
||||
void WiFiHistory_FlagGeonetLinkInfo(WiFiHistory *wiFiHistory);
|
||||
void WiFiHistory_FlagGeonetCommunicatedWith(WiFiHistory *wiFiHistory, int param1, int param2, int param3);
|
||||
|
||||
#endif // POKEPLATINUM_UNK_02038F8C_H
|
||||
|
|
|
|||
|
|
@ -3,24 +3,24 @@
|
|||
|
||||
#include "field_script_context.h"
|
||||
|
||||
BOOL ScrCmd_1DB(ScriptContext *param0);
|
||||
BOOL ScrCmd_1DA(ScriptContext *param0);
|
||||
BOOL ScrCmd_1DC(ScriptContext *param0);
|
||||
BOOL ScrCmd_1DD(ScriptContext *param0);
|
||||
BOOL ScrCmd_1DE(ScriptContext *param0);
|
||||
BOOL ScrCmd_1DF(ScriptContext *param0);
|
||||
BOOL ScrCmd_1E0(ScriptContext *param0);
|
||||
BOOL ScrCmd_1E1(ScriptContext *param0);
|
||||
BOOL ScrCmd_1E2(ScriptContext *param0);
|
||||
BOOL ScrCmd_1E3(ScriptContext *param0);
|
||||
BOOL ScrCmd_1E4(ScriptContext *param0);
|
||||
BOOL ScrCmd_ShowBattlePoints(ScriptContext *param0);
|
||||
BOOL ScrCmd_HideBattlePoints(ScriptContext *param0);
|
||||
BOOL ScrCmd_UpdateBPDisplay(ScriptContext *param0);
|
||||
BOOL ScrCmd_297(ScriptContext *param0);
|
||||
BOOL ScrCmd_298(ScriptContext *param0);
|
||||
BOOL ScrCmd_299(ScriptContext *param0);
|
||||
BOOL ScrCmd_29A(ScriptContext *param0);
|
||||
BOOL ScrCmd_29B(ScriptContext *param0);
|
||||
BOOL ScrCmd_InitBattleTower(ScriptContext *ctx);
|
||||
BOOL ScrCmd_SetBattleTowerNull(ScriptContext *ctx);
|
||||
BOOL ScrCmd_FreeBattleTower(ScriptContext *ctx);
|
||||
BOOL ScrCmd_CallBattleTowerFunction(ScriptContext *ctx);
|
||||
BOOL ScrCmd_1DE(ScriptContext *ctx);
|
||||
BOOL ScrCmd_1DF(ScriptContext *ctx);
|
||||
BOOL ScrCmd_1E0(ScriptContext *ctx);
|
||||
BOOL ScrCmd_1E1(ScriptContext *ctx);
|
||||
BOOL ScrCmd_1E2(ScriptContext *ctx);
|
||||
BOOL ScrCmd_1E3(ScriptContext *ctx);
|
||||
BOOL ScrCmd_1E4(ScriptContext *ctx);
|
||||
BOOL ScrCmd_ShowBattlePoints(ScriptContext *ctx);
|
||||
BOOL ScrCmd_HideBattlePoints(ScriptContext *ctx);
|
||||
BOOL ScrCmd_UpdateBPDisplay(ScriptContext *ctx);
|
||||
BOOL ScrCmd_297(ScriptContext *ctx);
|
||||
BOOL ScrCmd_298(ScriptContext *ctx);
|
||||
BOOL ScrCmd_299(ScriptContext *ctx);
|
||||
BOOL ScrCmd_29A(ScriptContext *ctx);
|
||||
BOOL ScrCmd_29B(ScriptContext *ctx);
|
||||
|
||||
#endif // POKEPLATINUM_UNK_020494DC_H
|
||||
|
|
|
|||
|
|
@ -10,41 +10,41 @@
|
|||
#include "journal.h"
|
||||
#include "savedata.h"
|
||||
|
||||
u16 sub_02049D08(u16 param0);
|
||||
u16 BattleTower_GetPartySizeForChallengeMode(u16 param0);
|
||||
BOOL sub_02049EC4(u16 param0, SaveData *saveData, u8 param2);
|
||||
void sub_02049F8C(void);
|
||||
void sub_02049F98(UnkStruct_0202D060 *param0);
|
||||
BOOL sub_02049FA0(UnkStruct_0202D060 *param0);
|
||||
void sub_02049FA8(FieldSystem *fieldSystem);
|
||||
void sub_02049FE8(FieldSystem *fieldSystem);
|
||||
void BattleTower_SetCommunicationClubAccessible(FieldSystem *fieldSystem);
|
||||
void BattleTower_ClearCommunicationClubAccessible(FieldSystem *fieldSystem);
|
||||
u16 sub_02049FF8(SaveData *saveData, u16 param1);
|
||||
void sub_0204A030(SaveData *saveData, u8 param1);
|
||||
u16 sub_0204A050(SaveData *saveData);
|
||||
u16 sub_0204A064(SaveData *saveData);
|
||||
u16 sub_0204A100(SaveData *saveData);
|
||||
void sub_0204A110(UnkStruct_0204AFC4 **param0);
|
||||
UnkStruct_0204AFC4 *sub_0204A124(SaveData *saveData, u16 param1, u16 param2);
|
||||
void sub_0204A32C(UnkStruct_0204AFC4 *param0);
|
||||
void sub_0204A358(UnkStruct_0204AFC4 *param0, FieldTask *param1, void **param2);
|
||||
BOOL sub_0204A378(UnkStruct_0204AFC4 *param0, void **param1, SaveData *saveData);
|
||||
int sub_0204A410(UnkStruct_0204AFC4 *param0, SaveData *saveData);
|
||||
void sub_0204A4C8(UnkStruct_0204AFC4 *param0, SaveData *saveData);
|
||||
u16 sub_0204A578(UnkStruct_0204AFC4 *param0);
|
||||
BOOL sub_0204A57C(UnkStruct_0204AFC4 *param0);
|
||||
void sub_0204A660(UnkStruct_0204AFC4 *param0, SaveData *saveData);
|
||||
void sub_0204A7A4(UnkStruct_0204AFC4 *param0, SaveData *saveData, JournalEntry *param2);
|
||||
void sub_0204A8C8(UnkStruct_0204AFC4 *param0);
|
||||
void sub_0204A97C(UnkStruct_0204AFC4 *param0);
|
||||
u16 sub_0204A9E0(UnkStruct_0204AFC4 *param0, u16 param1);
|
||||
u16 sub_0204A9F8(UnkStruct_0204AFC4 *param0);
|
||||
u16 sub_0204A9FC(UnkStruct_0204AFC4 *param0);
|
||||
u16 sub_0204AA04(UnkStruct_0204AFC4 *param0);
|
||||
u16 sub_0204AA7C(UnkStruct_0204AFC4 *param0, SaveData *saveData);
|
||||
u16 sub_0204AABC(UnkStruct_0204AFC4 *param0, SaveData *saveData, u8 param2);
|
||||
u16 sub_0204AB68(UnkStruct_0204AFC4 *param0, SaveData *saveData);
|
||||
u16 sub_0204ABA0(UnkStruct_0204AFC4 *param0, SaveData *saveData);
|
||||
u16 sub_0204ABF4(UnkStruct_0204AFC4 *param0, SaveData *saveData);
|
||||
void BattleTower_SetNull(BattleTower **battleTower);
|
||||
BattleTower *BattleTower_Init(SaveData *saveData, u16 param1, u16 challengeMode);
|
||||
void BattleTower_Free(BattleTower *battleTower);
|
||||
void sub_0204A358(BattleTower *battleTower, FieldTask *param1, void **param2);
|
||||
BOOL sub_0204A378(BattleTower *battleTower, void **param1, SaveData *saveData);
|
||||
int BattleTower_CheckDuplicateSpeciesAndHeldItems(BattleTower *battleTower, SaveData *saveData);
|
||||
void sub_0204A4C8(BattleTower *battleTower, SaveData *saveData);
|
||||
u16 sub_0204A578(BattleTower *battleTower);
|
||||
BOOL sub_0204A57C(BattleTower *battleTower);
|
||||
void sub_0204A660(BattleTower *battleTower, SaveData *saveData);
|
||||
void sub_0204A7A4(BattleTower *battleTower, SaveData *saveData, JournalEntry *param2);
|
||||
void sub_0204A8C8(BattleTower *battleTower);
|
||||
void sub_0204A97C(BattleTower *battleTower);
|
||||
u16 sub_0204A9E0(BattleTower *battleTower, u16 param1);
|
||||
u16 BattleTower_GetChallengeMode(BattleTower *battleTower);
|
||||
u16 sub_0204A9FC(BattleTower *battleTower);
|
||||
u16 sub_0204AA04(BattleTower *battleTower);
|
||||
u16 sub_0204AA7C(BattleTower *battleTower, SaveData *saveData);
|
||||
u16 sub_0204AABC(BattleTower *battleTower, SaveData *saveData, u8 param2);
|
||||
u16 sub_0204AB68(BattleTower *battleTower, SaveData *saveData);
|
||||
u16 sub_0204ABA0(BattleTower *battleTower, SaveData *saveData);
|
||||
u16 sub_0204ABF4(BattleTower *battleTower, SaveData *saveData);
|
||||
u8 sub_0204AE84(u16 param0);
|
||||
u16 sub_0204AEC0(UnkStruct_0204AFC4 *param0);
|
||||
u16 sub_0204AEC0(BattleTower *battleTower);
|
||||
|
||||
#endif // POKEPLATINUM_UNK_02049D08_H
|
||||
|
|
|
|||
|
|
@ -10,16 +10,16 @@
|
|||
#include "savedata.h"
|
||||
#include "string_template.h"
|
||||
|
||||
StringTemplate *sub_0204AEE8(SaveData *saveData, u16 param1, u16 param2, u8 param3, u8 *param4);
|
||||
StringTemplate *BattleFrontier_GetStringWithSeenBannedSpecies(SaveData *saveData, u16 param1, u16 param2, u8 param3, u8 *param4);
|
||||
u16 sub_0204AF9C(u8 param0);
|
||||
u16 sub_0204AFC4(FieldSystem *fieldSystem, const u16 *param1);
|
||||
u16 sub_0204B020(FieldSystem *fieldSystem, const u16 *param1);
|
||||
u16 sub_0204B044(FieldSystem *fieldSystem, const u16 *param1);
|
||||
void sub_0204B060(UnkStruct_0204AFC4 *param0, SaveData *saveData);
|
||||
void sub_0204B0BC(UnkStruct_0204AFC4 *param0);
|
||||
void sub_0204B0D4(UnkStruct_0204AFC4 *param0, u16 param1);
|
||||
u16 sub_0204B0F0(UnkStruct_0204AFC4 *param0, u8 param1, u8 param2, int param3);
|
||||
BOOL sub_0204B3B8(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID);
|
||||
void sub_0204B404(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_0223A348 *param1, u16 param2, BOOL param3, const UnkStruct_0204B404 *param4, int heapID);
|
||||
void sub_0204B060(BattleTower *battleTower, SaveData *saveData);
|
||||
void sub_0204B0BC(BattleTower *battleTower);
|
||||
void sub_0204B0D4(BattleTower *battleTower, u16 param1);
|
||||
u16 sub_0204B0F0(BattleTower *battleTower, u8 param1, u8 param2, int param3);
|
||||
BOOL sub_0204B3B8(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID);
|
||||
void sub_0204B404(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, BOOL param3, const UnkStruct_0204B404 *param4, int heapID);
|
||||
|
||||
#endif // POKEPLATINUM_UNK_0204AEE8_H
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include "struct_defs/struct_0209BBA4.h"
|
||||
|
||||
void sub_0209BA80(void *param0);
|
||||
BOOL sub_0209BB08(UnkStruct_0204AFC4 *param0);
|
||||
BOOL sub_0209BB08(BattleTower *battleTower);
|
||||
BOOL sub_0209BBA4(UnkStruct_0209BBA4 *param0);
|
||||
BOOL sub_0209BC1C(UnkStruct_0209BBA4 *param0, u16 param1);
|
||||
BOOL sub_0209BC64(UnkStruct_0209BBA4 *param0, u16 param1, u16 param2);
|
||||
|
|
|
|||
|
|
@ -116,13 +116,13 @@ _01B8:
|
|||
|
||||
_01E5:
|
||||
Message 8
|
||||
ScrCmd_1FF 9, 3, 0, 0
|
||||
PrintBattleFrontierBanlist 9, 3, 0, 0
|
||||
GoTo _0145
|
||||
End
|
||||
|
||||
_01F8:
|
||||
Message 8
|
||||
ScrCmd_1FF 9, 2, 0, 0
|
||||
PrintBattleFrontierBanlist 9, 2, 0, 0
|
||||
GoTo _0145
|
||||
End
|
||||
|
||||
|
|
@ -183,9 +183,9 @@ _0335:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _02F1
|
||||
CloseMessage
|
||||
ScrCmd_0F2 32, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _0377
|
||||
GoToIfEq VAR_RESULT, 3, _037F
|
||||
StartBattleClient 32, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _0377
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _037F
|
||||
GoTo _03DD
|
||||
End
|
||||
|
||||
|
|
@ -194,7 +194,7 @@ _0377:
|
|||
End
|
||||
|
||||
_037F:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _02F1
|
||||
End
|
||||
|
||||
|
|
@ -203,9 +203,9 @@ _0389:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _02F1
|
||||
CloseMessage
|
||||
ScrCmd_0F3 32, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _03CB
|
||||
GoToIfEq VAR_RESULT, 3, _03D3
|
||||
StartBattleServer 32, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _03CB
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _03D3
|
||||
GoTo _03DD
|
||||
End
|
||||
|
||||
|
|
@ -214,12 +214,12 @@ _03CB:
|
|||
End
|
||||
|
||||
_03D3:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _02F1
|
||||
End
|
||||
|
||||
_03DD:
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 154
|
||||
GetPartyMonSpecies VAR_MAP_LOCAL_2, VAR_0x8000
|
||||
GetPartyMonSpecies VAR_MAP_LOCAL_5, VAR_0x8001
|
||||
|
|
@ -228,7 +228,7 @@ _03DD:
|
|||
GoToIfEq VAR_0x8008, 1, _0450
|
||||
GoToIfEq VAR_0x8008, 2, _0466
|
||||
GoToIfEq VAR_0x8008, 3, _047C
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 156
|
||||
Message 45
|
||||
CallIfEq VAR_UNK_0x40BE, 2, _0448
|
||||
|
|
@ -267,9 +267,9 @@ _0497:
|
|||
End
|
||||
|
||||
_049F:
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 157
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Return
|
||||
|
||||
_04A9:
|
||||
|
|
@ -298,7 +298,7 @@ _04DC:
|
|||
End
|
||||
|
||||
_0545:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Return
|
||||
|
||||
_0549:
|
||||
|
|
@ -322,7 +322,7 @@ _0564:
|
|||
_057F:
|
||||
ScrCmd_02E 32
|
||||
WaitTime 10, VAR_RESULT
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 155
|
||||
CloseMessage
|
||||
ApplyMovement LOCALID_PLAYER, _0604
|
||||
|
|
|
|||
|
|
@ -113,13 +113,13 @@ _01AC:
|
|||
|
||||
_01D9:
|
||||
Message 8
|
||||
ScrCmd_1FF 9, 3, 0, 0
|
||||
PrintBattleFrontierBanlist 9, 3, 0, 0
|
||||
GoTo _0139
|
||||
End
|
||||
|
||||
_01EC:
|
||||
Message 8
|
||||
ScrCmd_1FF 9, 2, 0, 0
|
||||
PrintBattleFrontierBanlist 9, 2, 0, 0
|
||||
GoTo _0139
|
||||
End
|
||||
|
||||
|
|
@ -180,9 +180,9 @@ _0329:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _02E5
|
||||
CloseMessage
|
||||
ScrCmd_0F2 31, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _036B
|
||||
GoToIfEq VAR_RESULT, 3, _0373
|
||||
StartBattleClient 31, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _036B
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _0373
|
||||
GoTo _03D1
|
||||
End
|
||||
|
||||
|
|
@ -191,7 +191,7 @@ _036B:
|
|||
End
|
||||
|
||||
_0373:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _02E5
|
||||
End
|
||||
|
||||
|
|
@ -200,9 +200,9 @@ _037D:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _02E5
|
||||
CloseMessage
|
||||
ScrCmd_0F3 31, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _03BF
|
||||
GoToIfEq VAR_RESULT, 3, _03C7
|
||||
StartBattleServer 31, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _03BF
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _03C7
|
||||
GoTo _03D1
|
||||
End
|
||||
|
||||
|
|
@ -211,12 +211,12 @@ _03BF:
|
|||
End
|
||||
|
||||
_03C7:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _02E5
|
||||
End
|
||||
|
||||
_03D1:
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 136
|
||||
GetPartyMonSpecies VAR_MAP_LOCAL_2, VAR_0x8000
|
||||
GetPartyMonSpecies VAR_MAP_LOCAL_5, VAR_0x8001
|
||||
|
|
@ -225,7 +225,7 @@ _03D1:
|
|||
GoToIfEq VAR_0x8008, 1, _0444
|
||||
GoToIfEq VAR_0x8008, 2, _045A
|
||||
GoToIfEq VAR_0x8008, 3, _0470
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 138
|
||||
Message 45
|
||||
CallIfEq VAR_UNK_0x40BD, 2, _043C
|
||||
|
|
@ -264,9 +264,9 @@ _048B:
|
|||
End
|
||||
|
||||
_0493:
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 139
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Return
|
||||
|
||||
_049D:
|
||||
|
|
@ -295,7 +295,7 @@ _04D0:
|
|||
End
|
||||
|
||||
_0539:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Return
|
||||
|
||||
_053D:
|
||||
|
|
@ -319,7 +319,7 @@ _0558:
|
|||
_0573:
|
||||
ScrCmd_02E 32
|
||||
WaitTime 10, VAR_RESULT
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 137
|
||||
CloseMessage
|
||||
ApplyMovement LOCALID_PLAYER, _05F0
|
||||
|
|
|
|||
|
|
@ -159,17 +159,17 @@ _0270:
|
|||
CloseMessage
|
||||
CallIfEq VAR_UNK_0x40B9, 0, _02C2
|
||||
CallIfEq VAR_UNK_0x40B9, 1, _02CE
|
||||
GoToIfEq VAR_RESULT, 1, _02DA
|
||||
GoToIfEq VAR_RESULT, 3, _02E2
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _02DA
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _02E2
|
||||
GoTo _0368
|
||||
End
|
||||
|
||||
_02C2:
|
||||
ScrCmd_0F2 27, 0, 0, VAR_RESULT
|
||||
StartBattleClient 27, 0, 0, VAR_RESULT
|
||||
Return
|
||||
|
||||
_02CE:
|
||||
ScrCmd_0F2 28, 0, 0, VAR_RESULT
|
||||
StartBattleClient 28, 0, 0, VAR_RESULT
|
||||
Return
|
||||
|
||||
_02DA:
|
||||
|
|
@ -177,7 +177,7 @@ _02DA:
|
|||
End
|
||||
|
||||
_02E2:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _022C
|
||||
End
|
||||
|
||||
|
|
@ -188,17 +188,17 @@ _02EC:
|
|||
CloseMessage
|
||||
CallIfEq VAR_UNK_0x40B9, 0, _033E
|
||||
CallIfEq VAR_UNK_0x40B9, 1, _034A
|
||||
GoToIfEq VAR_RESULT, 1, _0356
|
||||
GoToIfEq VAR_RESULT, 3, _035E
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _0356
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _035E
|
||||
GoTo _0368
|
||||
End
|
||||
|
||||
_033E:
|
||||
ScrCmd_0F3 27, 0, 0, VAR_RESULT
|
||||
StartBattleServer 27, 0, 0, VAR_RESULT
|
||||
Return
|
||||
|
||||
_034A:
|
||||
ScrCmd_0F3 28, 0, 0, VAR_RESULT
|
||||
StartBattleServer 28, 0, 0, VAR_RESULT
|
||||
Return
|
||||
|
||||
_0356:
|
||||
|
|
@ -206,7 +206,7 @@ _0356:
|
|||
End
|
||||
|
||||
_035E:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _022C
|
||||
End
|
||||
|
||||
|
|
@ -247,7 +247,7 @@ _03C1:
|
|||
End
|
||||
|
||||
_042A:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Return
|
||||
|
||||
_042E:
|
||||
|
|
@ -271,7 +271,7 @@ _0449:
|
|||
_0464:
|
||||
ScrCmd_02E 9
|
||||
WaitTime 15, VAR_RESULT
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 169
|
||||
CloseMessage
|
||||
ApplyMovement LOCALID_PLAYER, _04DC
|
||||
|
|
|
|||
|
|
@ -239,13 +239,13 @@ _03AC:
|
|||
|
||||
_03CF:
|
||||
Message 35
|
||||
ScrCmd_1FF 37, 1, 0, 0
|
||||
PrintBattleFrontierBanlist 37, 1, 0, 0
|
||||
GoTo _034D
|
||||
End
|
||||
|
||||
_03E2:
|
||||
Message 36
|
||||
ScrCmd_1FF 37, 2, 0, 0
|
||||
PrintBattleFrontierBanlist 37, 2, 0, 0
|
||||
GoTo _034D
|
||||
End
|
||||
|
||||
|
|
@ -326,9 +326,9 @@ _058E:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _054A
|
||||
CloseMessage
|
||||
ScrCmd_0F2 30, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _05D0
|
||||
GoToIfEq VAR_RESULT, 3, _05D8
|
||||
StartBattleClient 30, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _05D0
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _05D8
|
||||
GoTo _0636
|
||||
End
|
||||
|
||||
|
|
@ -337,7 +337,7 @@ _05D0:
|
|||
End
|
||||
|
||||
_05D8:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _054A
|
||||
End
|
||||
|
||||
|
|
@ -346,9 +346,9 @@ _05E2:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _054A
|
||||
CloseMessage
|
||||
ScrCmd_0F3 30, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _0624
|
||||
GoToIfEq VAR_RESULT, 3, _062C
|
||||
StartBattleServer 30, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _0624
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _062C
|
||||
GoTo _0636
|
||||
End
|
||||
|
||||
|
|
@ -357,16 +357,16 @@ _0624:
|
|||
End
|
||||
|
||||
_062C:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _054A
|
||||
End
|
||||
|
||||
_0636:
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 108
|
||||
ScrCmd_2CF VAR_MAP_LOCAL_1, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _067B
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 110
|
||||
Message 32
|
||||
CallIfEq VAR_UNK_0x40BB, 2, _0673
|
||||
|
|
@ -385,7 +385,7 @@ _067B:
|
|||
End
|
||||
|
||||
_068C:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Return
|
||||
|
||||
_0690:
|
||||
|
|
@ -414,7 +414,7 @@ _06C3:
|
|||
End
|
||||
|
||||
_072C:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Return
|
||||
|
||||
_0730:
|
||||
|
|
@ -438,7 +438,7 @@ _074B:
|
|||
_0766:
|
||||
ScrCmd_02E 9
|
||||
WaitTime 10, VAR_RESULT
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 109
|
||||
CloseMessage
|
||||
ApplyMovement LOCALID_PLAYER, _07E4
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -13,7 +13,7 @@
|
|||
_0016:
|
||||
GoToIfEq VAR_UNK_0x40D9, 0, _0035
|
||||
SetFlag FLAG_UNK_0x01CB
|
||||
ScrCmd_1DD 55, 0, VAR_MAP_LOCAL_0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0
|
||||
SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0
|
||||
_0035:
|
||||
End
|
||||
|
|
@ -46,10 +46,10 @@ _0070:
|
|||
_007D:
|
||||
WaitTime 30, VAR_RESULT
|
||||
SetVar VAR_UNK_0x40D8, 1
|
||||
ScrCmd_1DD 43, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE, 0, VAR_RESULT
|
||||
SetVar VAR_0x8008, VAR_RESULT
|
||||
GoToIfEq VAR_0x8008, 4, _00D9
|
||||
GoToIfEq VAR_0x8008, 5, _00D9
|
||||
GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_WIFI, _00D9
|
||||
GoToIfEq VAR_0x8008, BATTLE_TOWER_MODE_5, _00D9
|
||||
FadeScreenOut
|
||||
WaitFadeScreen
|
||||
Warp MAP_HEADER_BATTLE_TOWER, 0, 11, 6, 0
|
||||
|
|
@ -70,8 +70,8 @@ _00D9:
|
|||
_0101:
|
||||
LockAll
|
||||
SetVar VAR_UNK_0x40D9, 3
|
||||
ScrCmd_1DD 100, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _007D
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_CHECK_IS_NULL, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, TRUE, _007D
|
||||
Call _043C
|
||||
GoTo _0201
|
||||
End
|
||||
|
|
@ -79,39 +79,39 @@ _0101:
|
|||
_012C:
|
||||
LockAll
|
||||
SetVar VAR_UNK_0x40D9, 3
|
||||
ScrCmd_1DD 100, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _007D
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_CHECK_IS_NULL, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, TRUE, _007D
|
||||
Call _043C
|
||||
Call _0448
|
||||
GoTo _02F7
|
||||
End
|
||||
|
||||
_015D:
|
||||
ScrCmd_1DD 40, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_40, 0, 0
|
||||
Call _045C
|
||||
ScrCmd_1FE 0
|
||||
WaitABPress
|
||||
CloseMessage
|
||||
Call _047E
|
||||
ScrCmd_1DD 42, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_42, 0, 0
|
||||
CheckWonBattle VAR_RESULT
|
||||
SetVar VAR_0x8004, VAR_RESULT
|
||||
Return
|
||||
|
||||
_018C:
|
||||
ScrCmd_1DD 37, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_37, 0, 0
|
||||
GoTo _007D
|
||||
End
|
||||
|
||||
_019C:
|
||||
ScrCmd_1DD 38, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_38, 0, 0
|
||||
GoTo _007D
|
||||
End
|
||||
|
||||
_01AC:
|
||||
SetVar VAR_UNK_0x40D8, 2
|
||||
ScrCmd_1DD 39, 0, 0
|
||||
ScrCmd_1DC
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_39, 0, 0
|
||||
FreeBattleTower
|
||||
Message 4
|
||||
ShowSavingIcon
|
||||
TrySaveGame VAR_RESULT
|
||||
|
|
@ -121,7 +121,7 @@ _01AC:
|
|||
FadeScreenOut
|
||||
WaitFadeScreen
|
||||
CloseMessage
|
||||
ScrCmd_1DD 2, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_02, 0, 0
|
||||
End
|
||||
|
||||
_01E7:
|
||||
|
|
@ -129,8 +129,8 @@ _01E7:
|
|||
End
|
||||
|
||||
_01EF:
|
||||
ScrCmd_1DD 34, 0, VAR_RESULT
|
||||
ScrCmd_1DD 35, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_34, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_35, 0, VAR_RESULT
|
||||
Return
|
||||
|
||||
_0201:
|
||||
|
|
@ -145,7 +145,7 @@ _0201:
|
|||
End
|
||||
|
||||
_0241:
|
||||
ScrCmd_1DD 33, 0, VAR_0x8004
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_33, 0, VAR_0x8004
|
||||
BufferNumber 0, VAR_0x8004
|
||||
Message 1
|
||||
InitGlobalTextListMenu 31, 11, 0, VAR_RESULT, NO_EXIT_ON_B
|
||||
|
|
@ -184,9 +184,9 @@ _02D9:
|
|||
End
|
||||
|
||||
_02F7:
|
||||
ScrCmd_1DD 43, 0, VAR_RESULT
|
||||
GoToIfNe VAR_RESULT, 0, _0241
|
||||
ScrCmd_1DD 36, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE, 0, VAR_RESULT
|
||||
GoToIfNe VAR_RESULT, BATTLE_TOWER_MODE_SINGLE, _0241
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_36, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 20, _0336
|
||||
GoToIfEq VAR_RESULT, 48, _0336
|
||||
GoTo _0241
|
||||
|
|
@ -210,9 +210,9 @@ _0336:
|
|||
|
||||
_0395:
|
||||
Call _04BA
|
||||
ScrCmd_1DD 40, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_40, 0, 0
|
||||
Call _04CE
|
||||
ScrCmd_1DD 36, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_36, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 48, _041E
|
||||
BufferPlayerName 0
|
||||
BufferRivalName 1
|
||||
|
|
@ -220,14 +220,14 @@ _0395:
|
|||
_03C7:
|
||||
CloseMessage
|
||||
Call _047E
|
||||
ScrCmd_1DD 42, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_42, 0, 0
|
||||
CheckWonBattle VAR_RESULT
|
||||
SetVar VAR_0x8004, VAR_RESULT
|
||||
GoToIfEq VAR_0x8004, FALSE, _018C
|
||||
ScrCmd_1DD 36, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_36, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 48, _0429
|
||||
Message 17
|
||||
ScrCmd_1DD 44, 1, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_44, 1, 0
|
||||
_040E:
|
||||
CloseMessage
|
||||
Call _01EF
|
||||
|
|
@ -241,7 +241,7 @@ _041E:
|
|||
|
||||
_0429:
|
||||
Message 18
|
||||
ScrCmd_1DD 44, 2, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_44, 2, 0
|
||||
GoTo _040E
|
||||
End
|
||||
|
||||
|
|
@ -257,7 +257,7 @@ _0448:
|
|||
Return
|
||||
|
||||
_045C:
|
||||
ScrCmd_1DD 41, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_41, 0, VAR_RESULT
|
||||
SetVar VAR_OBJ_GFX_ID_1, VAR_RESULT
|
||||
ClearFlag FLAG_UNK_0x01CB
|
||||
AddObject 1
|
||||
|
|
|
|||
|
|
@ -18,35 +18,35 @@
|
|||
_002A:
|
||||
GoToIfUnset FLAG_UNK_0x00E3, _0121
|
||||
GoToIfNe VAR_UNK_0x40DF, 2, _0057
|
||||
ScrCmd_1DD 55, 2, VAR_MAP_LOCAL_9
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9
|
||||
GoToIfEq VAR_MAP_LOCAL_9, 0, _0121
|
||||
_0057:
|
||||
ClearFlag FLAG_UNK_0x01EC
|
||||
_005B:
|
||||
GoToIfUnset FLAG_UNK_0x00E4, _012D
|
||||
GoToIfNe VAR_UNK_0x40DF, 2, _0088
|
||||
ScrCmd_1DD 55, 2, VAR_MAP_LOCAL_9
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9
|
||||
GoToIfEq VAR_MAP_LOCAL_9, 1, _012D
|
||||
_0088:
|
||||
ClearFlag FLAG_UNK_0x01ED
|
||||
_008C:
|
||||
GoToIfUnset FLAG_UNK_0x00E5, _0139
|
||||
GoToIfNe VAR_UNK_0x40DF, 2, _00B9
|
||||
ScrCmd_1DD 55, 2, VAR_MAP_LOCAL_9
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9
|
||||
GoToIfEq VAR_MAP_LOCAL_9, 2, _0139
|
||||
_00B9:
|
||||
ClearFlag FLAG_UNK_0x01EE
|
||||
_00BD:
|
||||
GoToIfUnset FLAG_UNK_0x00E6, _0145
|
||||
GoToIfNe VAR_UNK_0x40DF, 2, _00EA
|
||||
ScrCmd_1DD 55, 2, VAR_MAP_LOCAL_9
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9
|
||||
GoToIfEq VAR_MAP_LOCAL_9, 3, _0145
|
||||
_00EA:
|
||||
ClearFlag FLAG_UNK_0x01EF
|
||||
_00EE:
|
||||
GoToIfUnset FLAG_UNK_0x00E7, _0151
|
||||
GoToIfNe VAR_UNK_0x40DF, 2, _011B
|
||||
ScrCmd_1DD 55, 2, VAR_MAP_LOCAL_9
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9
|
||||
GoToIfEq VAR_MAP_LOCAL_9, 4, _0151
|
||||
_011B:
|
||||
ClearFlag FLAG_UNK_0x01F0
|
||||
|
|
@ -97,7 +97,7 @@ _018D:
|
|||
Call _04A6
|
||||
Message 0
|
||||
CloseMessage
|
||||
ScrCmd_1DD 56, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_56, 0, 0
|
||||
ReleaseAll
|
||||
End
|
||||
|
||||
|
|
@ -172,7 +172,7 @@ _02D2:
|
|||
End
|
||||
|
||||
_02DD:
|
||||
ScrCmd_1DD 50, VAR_MAP_LOCAL_9, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0
|
||||
SetVar VAR_UNK_0x40DF, 2
|
||||
Message 8
|
||||
CloseMessage
|
||||
|
|
@ -200,7 +200,7 @@ _0336:
|
|||
End
|
||||
|
||||
_0341:
|
||||
ScrCmd_1DD 50, VAR_MAP_LOCAL_9, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0
|
||||
SetVar VAR_UNK_0x40DF, 2
|
||||
BufferPlayerName 0
|
||||
Message 17
|
||||
|
|
@ -228,7 +228,7 @@ _039A:
|
|||
End
|
||||
|
||||
_03A5:
|
||||
ScrCmd_1DD 50, VAR_MAP_LOCAL_9, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0
|
||||
SetVar VAR_UNK_0x40DF, 2
|
||||
Message 5
|
||||
CloseMessage
|
||||
|
|
@ -255,7 +255,7 @@ _03FB:
|
|||
End
|
||||
|
||||
_0406:
|
||||
ScrCmd_1DD 50, VAR_MAP_LOCAL_9, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0
|
||||
SetVar VAR_UNK_0x40DF, 2
|
||||
Message 14
|
||||
CloseMessage
|
||||
|
|
@ -282,7 +282,7 @@ _045C:
|
|||
End
|
||||
|
||||
_0467:
|
||||
ScrCmd_1DD 50, VAR_MAP_LOCAL_9, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0
|
||||
SetVar VAR_UNK_0x40DF, 2
|
||||
Message 11
|
||||
CloseMessage
|
||||
|
|
|
|||
|
|
@ -9,19 +9,19 @@
|
|||
|
||||
_000E:
|
||||
GoToIfEq VAR_UNK_0x40DD, 0, _0048
|
||||
ScrCmd_207 VAR_MAP_LOCAL_0
|
||||
GetCurNetID VAR_MAP_LOCAL_0
|
||||
GoToIfEq VAR_MAP_LOCAL_0, 1, _004A
|
||||
ScrCmd_1DD 55, 0, VAR_MAP_LOCAL_0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0
|
||||
SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0
|
||||
ScrCmd_1DD 55, 1, VAR_MAP_LOCAL_0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 1, VAR_MAP_LOCAL_0
|
||||
SetVar VAR_OBJ_GFX_ID_1, VAR_MAP_LOCAL_0
|
||||
_0048:
|
||||
End
|
||||
|
||||
_004A:
|
||||
ScrCmd_1DD 55, 0, VAR_MAP_LOCAL_0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0
|
||||
SetVar VAR_OBJ_GFX_ID_1, VAR_MAP_LOCAL_0
|
||||
ScrCmd_1DD 55, 1, VAR_MAP_LOCAL_0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 1, VAR_MAP_LOCAL_0
|
||||
SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0
|
||||
End
|
||||
|
||||
|
|
|
|||
|
|
@ -9,15 +9,15 @@
|
|||
|
||||
BattleTowerElevator_Init:
|
||||
CallIfNe VAR_UNK_0x40DB, 0, _008A
|
||||
ScrCmd_1DD 43, 0, VAR_MAP_LOCAL_A
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE, 0, VAR_MAP_LOCAL_A
|
||||
Call _008E
|
||||
CallIfEq VAR_MAP_LOCAL_A, 2, _009E
|
||||
CallIfEq VAR_MAP_LOCAL_A, 3, _009E
|
||||
CallIfEq VAR_MAP_LOCAL_A, 0, _008E
|
||||
CallIfEq VAR_MAP_LOCAL_A, 1, _008E
|
||||
CallIfEq VAR_MAP_LOCAL_A, 4, _0096
|
||||
CallIfEq VAR_MAP_LOCAL_A, 5, _0096
|
||||
CallIfEq VAR_MAP_LOCAL_A, 6, _0096
|
||||
CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_MULTI, _009E
|
||||
CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_LINK_MULTI, _009E
|
||||
CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_SINGLE, _008E
|
||||
CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_DOUBLE, _008E
|
||||
CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_WIFI, _0096
|
||||
CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_5, _0096
|
||||
CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_6, _0096
|
||||
End
|
||||
|
||||
_008A:
|
||||
|
|
@ -39,9 +39,9 @@ _009E:
|
|||
BattleTowerElevator_BattleRoomCheckWiFi:
|
||||
FadeScreenOut
|
||||
WaitFadeScreen
|
||||
ScrCmd_1DD 43, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 4, BattleTowerElevator_WiFiBattleRoom
|
||||
GoToIfEq VAR_RESULT, 5, BattleTowerElevator_WiFiBattleRoom
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, BATTLE_TOWER_MODE_WIFI, BattleTowerElevator_WiFiBattleRoom
|
||||
GoToIfEq VAR_RESULT, BATTLE_TOWER_MODE_5, BattleTowerElevator_WiFiBattleRoom
|
||||
ScrCmd_1F8
|
||||
ScrCmd_2C4 5
|
||||
ReturnToField
|
||||
|
|
|
|||
|
|
@ -13,19 +13,19 @@ _0012:
|
|||
GoToIfEq VAR_UNK_0x40DE, 0, _0054
|
||||
SetFlag FLAG_UNK_0x01EA
|
||||
SetFlag FLAG_UNK_0x01EB
|
||||
ScrCmd_207 VAR_MAP_LOCAL_0
|
||||
GetCurNetID VAR_MAP_LOCAL_0
|
||||
GoToIfEq VAR_MAP_LOCAL_0, 1, _0056
|
||||
ScrCmd_1DD 55, 0, VAR_MAP_LOCAL_0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0
|
||||
SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0
|
||||
ScrCmd_1DD 55, 1, VAR_MAP_LOCAL_0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 1, VAR_MAP_LOCAL_0
|
||||
SetVar VAR_OBJ_GFX_ID_1, VAR_MAP_LOCAL_0
|
||||
_0054:
|
||||
End
|
||||
|
||||
_0056:
|
||||
ScrCmd_1DD 55, 0, VAR_MAP_LOCAL_0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0
|
||||
SetVar VAR_OBJ_GFX_ID_1, VAR_MAP_LOCAL_0
|
||||
ScrCmd_1DD 55, 1, VAR_MAP_LOCAL_0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 1, VAR_MAP_LOCAL_0
|
||||
SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0
|
||||
End
|
||||
|
||||
|
|
@ -54,8 +54,8 @@ _00BE:
|
|||
Return
|
||||
|
||||
_00CB:
|
||||
ScrCmd_1DD 43, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 3, _0114
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, BATTLE_TOWER_MODE_LINK_MULTI, _0114
|
||||
WaitTime 30, VAR_RESULT
|
||||
SetVar VAR_UNK_0x40D8, 1
|
||||
FadeScreenOut
|
||||
|
|
@ -69,13 +69,13 @@ _00CB:
|
|||
_0114:
|
||||
WaitTime 30, VAR_RESULT
|
||||
SetVar VAR_UNK_0x40D8, 1
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 6
|
||||
FadeScreenOut
|
||||
WaitFadeScreen
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 8
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Warp MAP_HEADER_BATTLE_TOWER, 0, 7, 6, 0
|
||||
FadeScreenIn
|
||||
WaitFadeScreen
|
||||
|
|
@ -86,8 +86,8 @@ _0156:
|
|||
LockAll
|
||||
SetVar VAR_UNK_0x40DE, 3
|
||||
Call _048D
|
||||
ScrCmd_1DD 43, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 3, _039E
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, BATTLE_TOWER_MODE_LINK_MULTI, _039E
|
||||
GoTo _02B0
|
||||
End
|
||||
|
||||
|
|
@ -100,7 +100,7 @@ _0181:
|
|||
End
|
||||
|
||||
_019D:
|
||||
ScrCmd_1DD 40, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_40, 0, 0
|
||||
Call _04C5
|
||||
Call _0529
|
||||
ScrCmd_1FE 0
|
||||
|
|
@ -111,13 +111,13 @@ _019D:
|
|||
WaitABPress
|
||||
CloseMessage
|
||||
Call _0505
|
||||
ScrCmd_1DD 42, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_42, 0, 0
|
||||
CheckWonBattle VAR_RESULT
|
||||
SetVar VAR_0x8004, VAR_RESULT
|
||||
Return
|
||||
|
||||
_01DF:
|
||||
ScrCmd_1DD 40, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_40, 0, 0
|
||||
Call _04C5
|
||||
Call _0529
|
||||
ScrCmd_1FE 0
|
||||
|
|
@ -128,29 +128,29 @@ _01DF:
|
|||
WaitTime 30, VAR_RESULT
|
||||
CloseMessage
|
||||
Call _0505
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 4
|
||||
ScrCmd_1DD 42, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_42, 0, 0
|
||||
CheckWonBattle VAR_RESULT
|
||||
SetVar VAR_0x8004, VAR_RESULT
|
||||
Return
|
||||
|
||||
_022F:
|
||||
ScrCmd_1DD 37, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_37, 0, 0
|
||||
SetVar VAR_MAP_LOCAL_0, 0
|
||||
GoTo _00CB
|
||||
End
|
||||
|
||||
_0245:
|
||||
ScrCmd_1DD 38, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_38, 0, 0
|
||||
SetVar VAR_MAP_LOCAL_0, 1
|
||||
GoTo _00CB
|
||||
End
|
||||
|
||||
_025B:
|
||||
SetVar VAR_UNK_0x40D8, 2
|
||||
ScrCmd_1DD 39, 0, 0
|
||||
ScrCmd_1DC
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_39, 0, 0
|
||||
FreeBattleTower
|
||||
Message 0
|
||||
ShowSavingIcon
|
||||
TrySaveGame VAR_RESULT
|
||||
|
|
@ -160,7 +160,7 @@ _025B:
|
|||
FadeScreenOut
|
||||
WaitFadeScreen
|
||||
CloseMessage
|
||||
ScrCmd_1DD 2, 0, 0
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_02, 0, 0
|
||||
End
|
||||
|
||||
_0296:
|
||||
|
|
@ -168,8 +168,8 @@ _0296:
|
|||
End
|
||||
|
||||
_029E:
|
||||
ScrCmd_1DD 34, 0, VAR_RESULT
|
||||
ScrCmd_1DD 35, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_34, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_35, 0, VAR_RESULT
|
||||
Return
|
||||
|
||||
_02B0:
|
||||
|
|
@ -181,7 +181,7 @@ _02B0:
|
|||
Call _0565
|
||||
Call _00BE
|
||||
_02E8:
|
||||
ScrCmd_1DD 33, 0, VAR_0x8004
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_33, 0, VAR_0x8004
|
||||
BufferNumber 0, VAR_0x8004
|
||||
Message 3
|
||||
InitGlobalTextListMenu 31, 11, 0, VAR_RESULT, NO_EXIT_ON_B
|
||||
|
|
@ -228,7 +228,7 @@ _039E:
|
|||
Call _0565
|
||||
Call _00BE
|
||||
_03D6:
|
||||
ScrCmd_1DD 33, 0, VAR_0x8004
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_33, 0, VAR_0x8004
|
||||
BufferNumber 0, VAR_0x8004
|
||||
Message 3
|
||||
InitGlobalTextListMenu 31, 13, 0, VAR_RESULT, NO_EXIT_ON_B
|
||||
|
|
@ -241,7 +241,7 @@ _03D6:
|
|||
GoToIfEq VAR_RESULT, 1, _0452
|
||||
_0418:
|
||||
Message 12
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 5
|
||||
ScrCmd_1E1 2, VAR_MAP_LOCAL_0, VAR_RESULT
|
||||
ScrCmd_1E2 2, VAR_MAP_LOCAL_0
|
||||
|
|
@ -263,7 +263,7 @@ _0452:
|
|||
_0474:
|
||||
Message 11
|
||||
WaitTime 30, VAR_RESULT
|
||||
ScrCmd_136
|
||||
ClearReceivedTempDataAllPlayers
|
||||
ScrCmd_135 7
|
||||
CloseMessage
|
||||
GoTo _0296
|
||||
|
|
@ -284,9 +284,9 @@ _04A1:
|
|||
Return
|
||||
|
||||
_04C5:
|
||||
ScrCmd_1DD 41, 0, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_41, 0, VAR_RESULT
|
||||
SetVar VAR_OBJ_GFX_ID_2, VAR_RESULT
|
||||
ScrCmd_1DD 41, 1, VAR_RESULT
|
||||
CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_41, 1, VAR_RESULT
|
||||
SetVar VAR_OBJ_GFX_ID_3, VAR_RESULT
|
||||
ClearFlag FLAG_UNK_0x01EA
|
||||
ClearFlag FLAG_UNK_0x01EB
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ _0253:
|
|||
End
|
||||
|
||||
_0291:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
SetVar VAR_UNK_0x40D5, 0
|
||||
ClearFlag FLAG_COMMUNICATION_CLUB_ACCESSIBLE
|
||||
Message 11
|
||||
|
|
@ -463,9 +463,9 @@ _0669:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _0625
|
||||
CloseMessage
|
||||
ScrCmd_0F2 8, VAR_0x8005, VAR_0x8004, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _06AB
|
||||
GoToIfEq VAR_RESULT, 3, _06B3
|
||||
StartBattleClient 8, VAR_0x8005, VAR_0x8004, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _06AB
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _06B3
|
||||
GoTo _070D
|
||||
End
|
||||
|
||||
|
|
@ -482,9 +482,9 @@ _06BB:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _0625
|
||||
CloseMessage
|
||||
ScrCmd_0F3 8, VAR_0x8005, VAR_0x8004, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _06FD
|
||||
GoToIfEq VAR_RESULT, 3, _0705
|
||||
StartBattleServer 8, VAR_0x8005, VAR_0x8004, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _06FD
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _0705
|
||||
GoTo _070D
|
||||
End
|
||||
|
||||
|
|
@ -493,7 +493,7 @@ _06FD:
|
|||
End
|
||||
|
||||
_0705:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
CloseMessage
|
||||
ReleaseAll
|
||||
End
|
||||
|
|
|
|||
|
|
@ -245,20 +245,20 @@ _0384:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _0305
|
||||
CloseMessage
|
||||
ScrCmd_0F2 VAR_0x8004, VAR_0x8005, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _03D3
|
||||
GoToIfEq VAR_RESULT, 3, _03DD
|
||||
GoToIfEq VAR_RESULT, 4, _03EA
|
||||
StartBattleClient VAR_0x8004, VAR_0x8005, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _03D3
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _03DD
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_4, _03EA
|
||||
GoTo _046A
|
||||
End
|
||||
|
||||
_03D3:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _0305
|
||||
End
|
||||
|
||||
_03DD:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Message 16
|
||||
WaitABXPadPress
|
||||
CloseMessage
|
||||
|
|
@ -266,7 +266,7 @@ _03DD:
|
|||
End
|
||||
|
||||
_03EA:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Message 15
|
||||
WaitABXPadPress
|
||||
CloseMessage
|
||||
|
|
@ -278,20 +278,20 @@ _03F7:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _0305
|
||||
CloseMessage
|
||||
ScrCmd_0F3 VAR_0x8004, VAR_0x8005, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _0446
|
||||
GoToIfEq VAR_RESULT, 3, _0450
|
||||
GoToIfEq VAR_RESULT, 4, _045D
|
||||
StartBattleServer VAR_0x8004, VAR_0x8005, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _0446
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _0450
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_4, _045D
|
||||
GoTo _046A
|
||||
End
|
||||
|
||||
_0446:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _0305
|
||||
End
|
||||
|
||||
_0450:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Message 16
|
||||
WaitABXPadPress
|
||||
CloseMessage
|
||||
|
|
@ -299,7 +299,7 @@ _0450:
|
|||
End
|
||||
|
||||
_045D:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Message 15
|
||||
WaitABXPadPress
|
||||
CloseMessage
|
||||
|
|
@ -326,13 +326,13 @@ _046A:
|
|||
WaitMovement
|
||||
Call _0513
|
||||
GoToIfEq VAR_0x8004, 4, _04F3
|
||||
ScrCmd_207 VAR_RESULT
|
||||
GetCurNetID VAR_RESULT
|
||||
AddVar VAR_RESULT, 7
|
||||
ScrCmd_203 0x14C, 0, VAR_RESULT, 11, 0
|
||||
End
|
||||
|
||||
_04F3:
|
||||
ScrCmd_207 VAR_RESULT
|
||||
GetCurNetID VAR_RESULT
|
||||
AddVar VAR_RESULT, 6
|
||||
ScrCmd_203 0x14D, 0, VAR_RESULT, 11, 0
|
||||
End
|
||||
|
|
|
|||
|
|
@ -119,19 +119,19 @@ _01B7:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _0173
|
||||
CloseMessage
|
||||
ScrCmd_0F2 6, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _01F9
|
||||
GoToIfEq VAR_RESULT, 3, _0203
|
||||
StartBattleClient 6, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _01F9
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _0203
|
||||
GoTo _0263
|
||||
End
|
||||
|
||||
_01F9:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _0173
|
||||
End
|
||||
|
||||
_0203:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _0173
|
||||
End
|
||||
|
||||
|
|
@ -140,19 +140,19 @@ _020D:
|
|||
ShowYesNoMenu VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, MENU_NO, _0173
|
||||
CloseMessage
|
||||
ScrCmd_0F3 6, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, 1, _024F
|
||||
GoToIfEq VAR_RESULT, 3, _0259
|
||||
StartBattleServer 6, 0, 0, VAR_RESULT
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_CANCEL, _024F
|
||||
GoToIfEq VAR_RESULT, COMM_CLUB_RET_ERROR, _0259
|
||||
GoTo _0263
|
||||
End
|
||||
|
||||
_024F:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _0173
|
||||
End
|
||||
|
||||
_0259:
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
GoTo _0173
|
||||
End
|
||||
|
||||
|
|
@ -161,7 +161,7 @@ _0263:
|
|||
WaitFadeScreen
|
||||
ReleaseAll
|
||||
ScrCmd_1D7 1
|
||||
ScrCmd_150
|
||||
EndCommunication
|
||||
Call _0097
|
||||
GoTo _006D
|
||||
End
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"key": 9338,
|
||||
"messages": [
|
||||
{
|
||||
"id": "pl_msg_00000304_00000",
|
||||
"id": "BattleTower_Text_GuideToSingleDoubleBattleRooms",
|
||||
"en_US": [
|
||||
"Welcome to the Battle Tower!\r",
|
||||
"I am your guide to the Single\n",
|
||||
|
|
@ -10,18 +10,18 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00001",
|
||||
"id": "BattleTower_Text_AskTakeBattleRoomChallenge",
|
||||
"en_US": [
|
||||
"Would you like to take the\n",
|
||||
"Battle Room challenge?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00002",
|
||||
"id": "BattleTower_Text_WeHopeToSeeYouAgain",
|
||||
"en_US": "We hope to see you again!"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00003",
|
||||
"id": "BattleTower_Text_ExplainSingleDoubleBattleRoom",
|
||||
"en_US": [
|
||||
"The Battle Tower is a facility for Single\n",
|
||||
"or Double Battle challenges.\r",
|
||||
|
|
@ -45,52 +45,52 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00004",
|
||||
"id": "BattleTower_Text_AskSingleOrDoubleBattleRoom",
|
||||
"en_US": [
|
||||
"Which Battle Room would you like?\n",
|
||||
"Single or Double?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00005",
|
||||
"id": "BattleTower_Text_00005",
|
||||
"garbage": 192
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00006",
|
||||
"id": "BattleTower_Text_00006",
|
||||
"garbage": 258
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00007",
|
||||
"id": "BattleTower_Text_00007",
|
||||
"garbage": 32
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00008",
|
||||
"id": "BattleTower_Text_SelectPokemonToEnter",
|
||||
"en_US": [
|
||||
"Please select the Pokémon you wish\n",
|
||||
"to enter.\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00009",
|
||||
"id": "BattleTower_Text_PokemonMustAllBeDifferent",
|
||||
"en_US": "Your Pokémon must all be different.\r"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00010",
|
||||
"id": "BattleTower_Text_ItemsMustAllBeDifferent",
|
||||
"en_US": "Hold items must all be different.\r"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00011",
|
||||
"id": "BattleTower_Text_ShowYouToBattleRoom",
|
||||
"en_US": "I will now show you to the Battle Room."
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00012",
|
||||
"id": "BattleTower_Text_BeatenAllSevenTrainers",
|
||||
"en_US": [
|
||||
"Congratulations!\n",
|
||||
"You’ve beaten all seven Trainers!\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00013",
|
||||
"id": "BattleTower_Text_BeatenTowerTycoonReceivedBP",
|
||||
"en_US": [
|
||||
"Congratulations!\n",
|
||||
"You’ve beaten the Tower Tycoon!\r",
|
||||
|
|
@ -101,18 +101,18 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00014",
|
||||
"id": "BattleTower_Text_SavingDontTurnOffPower",
|
||||
"en_US": [
|
||||
"Saving...\n",
|
||||
"Don’t turn off the power."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00015",
|
||||
"id": "BattleTower_Text_WeHopeToSeeYouAgain2",
|
||||
"en_US": "We hope to see you again."
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00016",
|
||||
"id": "BattleTower_Text_SaveBeforeEntering",
|
||||
"en_US": [
|
||||
"We’ve been waiting for you!\r",
|
||||
"Before entering a Battle Room, your\n",
|
||||
|
|
@ -120,15 +120,15 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00017",
|
||||
"id": "BattleTower_Text_00017",
|
||||
"garbage": 22
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00018",
|
||||
"id": "BattleTower_Text_00018",
|
||||
"garbage": 9
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00019",
|
||||
"id": "BattleTower_Text_DidntSaveBeforeQuitting",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You didn’t save before you quit your\n",
|
||||
|
|
@ -138,7 +138,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00020",
|
||||
"id": "BattleTower_Text_GuideToMultiBattleRooms",
|
||||
"en_US": [
|
||||
"Welcome to the Battle Tower!\r",
|
||||
"I am your guide to the Multi\n",
|
||||
|
|
@ -146,18 +146,18 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00021",
|
||||
"id": "BattleTower_Text_AskTakeMultiBattleRoomChallenge",
|
||||
"en_US": [
|
||||
"Would you like to take the Multi\n",
|
||||
"Battle Room challenge?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00022",
|
||||
"id": "BattleTower_Text_00022",
|
||||
"garbage": 26
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00023",
|
||||
"id": "BattleTower_Text_ExplainMultiBattleRoom",
|
||||
"en_US": [
|
||||
"The Battle Tower’s Multi Battle Rooms\n",
|
||||
"are for Multi Battles with a partner.\r",
|
||||
|
|
@ -186,22 +186,22 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00024",
|
||||
"id": "BattleTower_Text_00024",
|
||||
"garbage": 259
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00025",
|
||||
"id": "BattleTower_Text_00025",
|
||||
"garbage": 32
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00026",
|
||||
"id": "BattleTower_Text_AskCommunicateWithFriend",
|
||||
"en_US": [
|
||||
"Would you like to communicate with\n",
|
||||
"a friend and form a tag team?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00027",
|
||||
"id": "BattleTower_Text_OneBecomeLeaderOtherJoinGroup",
|
||||
"en_US": [
|
||||
"One Trainer should select\n",
|
||||
"“BECOME LEADER.”\r",
|
||||
|
|
@ -210,30 +210,30 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00028",
|
||||
"id": "BattleTower_Text_00028",
|
||||
"garbage": 26
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00029",
|
||||
"id": "BattleTower_Text_00029",
|
||||
"garbage": 15
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00030",
|
||||
"id": "BattleTower_Text_00030",
|
||||
"garbage": 17
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00031",
|
||||
"id": "BattleTower_Text_00031",
|
||||
"garbage": 21
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00032",
|
||||
"id": "BattleTower_Text_DirectToMultiBattleRoom",
|
||||
"en_US": [
|
||||
"I’ll direct you to your Multi Battle\n",
|
||||
"Room now."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00033",
|
||||
"id": "BattleTower_Text_BothTrainersChoseThisPokemon",
|
||||
"en_US": [
|
||||
"Both Trainers have chosen the\n",
|
||||
"Pokémon {STRVAR_1 0, 0, 0}.\r",
|
||||
|
|
@ -242,7 +242,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00034",
|
||||
"id": "BattleTower_Text_BothTrainersChoseThesePokemon",
|
||||
"en_US": [
|
||||
"Both Trainers have chosen the Pokémon\n",
|
||||
"{STRVAR_1 0, 0, 0} and {STRVAR_1 0, 1, 0}.\r",
|
||||
|
|
@ -251,11 +251,11 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00035",
|
||||
"id": "BattleTower_Text_ShowYouToBattleSalon",
|
||||
"en_US": "I will now show you to the Battle Salon.\r"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00036",
|
||||
"id": "BattleTower_Text_GuideToWiFiBattleRooms",
|
||||
"en_US": [
|
||||
"Welcome to the Battle Tower!\r",
|
||||
"I am your guide to the Wi-Fi Battle\n",
|
||||
|
|
@ -263,14 +263,14 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00037",
|
||||
"id": "BattleTower_Text_AskTakeWifiBattleRoomChallenge",
|
||||
"en_US": [
|
||||
"Would you like to take the Wi-Fi\n",
|
||||
"Battle Room challenge?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00038",
|
||||
"id": "BattleTower_Text_ExplainWiFiBattleRoom",
|
||||
"en_US": [
|
||||
"The Battle Tower’s Wi-Fi Battle Rooms\n",
|
||||
"are places to conduct battles over\f",
|
||||
|
|
@ -300,39 +300,39 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00039",
|
||||
"id": "BattleTower_Text_WeHopeToSeeYouAgain3",
|
||||
"en_US": "We hope to see you again!"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00040",
|
||||
"id": "BattleTower_Text_00040",
|
||||
"garbage": 32
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00041",
|
||||
"id": "BattleTower_Text_00041",
|
||||
"garbage": 262
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00042",
|
||||
"id": "BattleTower_Text_00042",
|
||||
"garbage": 26
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00043",
|
||||
"id": "BattleTower_Text_00043",
|
||||
"garbage": 15
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00044",
|
||||
"id": "BattleTower_Text_00044",
|
||||
"garbage": 17
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00045",
|
||||
"id": "BattleTower_Text_00045",
|
||||
"garbage": 55
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00046",
|
||||
"id": "BattleTower_Text_00046",
|
||||
"garbage": 29
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00047",
|
||||
"id": "BattleTower_Text_DirectYouToBattleRoom",
|
||||
"en_US": [
|
||||
"OK. I’ll direct you to your Battle Room\n",
|
||||
"now.\r",
|
||||
|
|
@ -340,26 +340,26 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00048",
|
||||
"id": "BattleTower_Text_AskSaveAndInterruptChallenge",
|
||||
"en_US": [
|
||||
"Would you like to save and interrupt\n",
|
||||
"your challenge?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00049",
|
||||
"id": "BattleTower_Text_00049",
|
||||
"garbage": 24
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00050",
|
||||
"id": "BattleTower_Text_00050",
|
||||
"garbage": 31
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00051",
|
||||
"id": "BattleTower_Text_00051",
|
||||
"garbage": 22
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00052",
|
||||
"id": "BattleTower_Text_PleaseConfirmPastLeaderHistory",
|
||||
"en_US": [
|
||||
"I’ve downloaded the Rank {STRVAR_1 51, 0, 0} Battle\n",
|
||||
"Room {STRVAR_1 52, 1, 0}’s past leader history.\r",
|
||||
|
|
@ -368,39 +368,39 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00053",
|
||||
"id": "BattleTower_Text_ThankYouForPlaying",
|
||||
"en_US": "Thank you for playing!\r"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00054",
|
||||
"id": "BattleTower_Text_BeatenAllSevenTrainers2",
|
||||
"en_US": [
|
||||
"Congratulations!\n",
|
||||
"You’ve beaten all seven Trainers!\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00055",
|
||||
"id": "BattleTower_Text_PromotedToRank",
|
||||
"en_US": [
|
||||
"{STRVAR_1 3, 0, 0}, you have also been\n",
|
||||
"promoted to Rank {STRVAR_1 51, 1, 0}!\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00056",
|
||||
"id": "BattleTower_Text_SavingDontTurnOffPower2",
|
||||
"en_US": [
|
||||
"Saving...\n",
|
||||
"Don’t turn off the power."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00057",
|
||||
"id": "BattleTower_Text_AskSendResults",
|
||||
"en_US": [
|
||||
"Would you like to send these results\n",
|
||||
"using Nintendo WFC?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00058",
|
||||
"id": "BattleTower_Text_EarnedAndReceivedBP",
|
||||
"en_US": [
|
||||
"For your 7-win streak, we present\n",
|
||||
"you with the BP you have earned!\r",
|
||||
|
|
@ -409,18 +409,18 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00059",
|
||||
"id": "BattleTower_Text_00059",
|
||||
"garbage": 26
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00060",
|
||||
"id": "BattleTower_Text_ResultsWereSent",
|
||||
"en_US": [
|
||||
"Your results were sent out using\n",
|
||||
"Nintendo WFC!\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00061",
|
||||
"id": "BattleTower_Text_AskSendPreviousResults",
|
||||
"en_US": [
|
||||
"It’s good to see you back.\r",
|
||||
"Your previous results were not sent\n",
|
||||
|
|
@ -429,45 +429,45 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00062",
|
||||
"id": "BattleTower_Text_00062",
|
||||
"garbage": 42
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00063",
|
||||
"id": "BattleTower_Text_00063",
|
||||
"garbage": 26
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00064",
|
||||
"id": "BattleTower_Text_00064",
|
||||
"garbage": 11
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00065",
|
||||
"id": "BattleTower_Text_DemotedToRank",
|
||||
"en_US": [
|
||||
"Unfortunately, you have been\n",
|
||||
"demoted to Rank {STRVAR_1 51, 0, 0}...\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00066",
|
||||
"id": "BattleTower_Text_00066",
|
||||
"garbage": 33
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00067",
|
||||
"id": "BattleTower_Text_00067",
|
||||
"garbage": 26
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00068",
|
||||
"id": "BattleTower_Text_00068",
|
||||
"garbage": 27
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00069",
|
||||
"id": "BattleTower_Text_RecordWillBeSaved",
|
||||
"en_US": [
|
||||
"Your record will be saved.\n",
|
||||
"Please wait."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00070",
|
||||
"id": "BattleTower_Text_CongratulationsOnAchievingRank",
|
||||
"en_US": [
|
||||
"Congratulations on achieving Rank {STRVAR_1 51, 0, 0}.\r",
|
||||
"Your winning Pokémon team has won\n",
|
||||
|
|
@ -475,7 +475,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00071",
|
||||
"id": "BattleTower_Text_CongratulationsOnAchievingConsecutiveWins",
|
||||
"en_US": [
|
||||
"Congratulations on achieving {STRVAR_1 52, 0, 0}\n",
|
||||
"consecutive wins!\r",
|
||||
|
|
@ -484,11 +484,11 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00072",
|
||||
"id": "BattleTower_Text_00072",
|
||||
"en_US": "{STRVAR_1 3, 0, 0} obtained {STRVAR_1 8, 1, 0}!"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00073",
|
||||
"id": "BattleTower_Text_CongratulationsOnAchievingYour50WinStreak",
|
||||
"en_US": [
|
||||
"Congratulations on achieving your\n",
|
||||
"50-win streak.\r",
|
||||
|
|
@ -497,7 +497,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00074",
|
||||
"id": "BattleTower_Text_UsedToLiveInHoenn",
|
||||
"en_US": [
|
||||
"Yeah, I used to live in a place\n",
|
||||
"called Hoenn.\r",
|
||||
|
|
@ -506,7 +506,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00075",
|
||||
"id": "BattleTower_Text_WiFiBattleRoomsAreFullOfSurprises",
|
||||
"en_US": [
|
||||
"The Wi-Fi Battle Rooms are full of\n",
|
||||
"surprises.\r",
|
||||
|
|
@ -517,7 +517,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00076",
|
||||
"id": "BattleTower_Text_TheyProfileYouOnTV",
|
||||
"en_US": [
|
||||
"They profile you on TV if you set\n",
|
||||
"a good record here.\r",
|
||||
|
|
@ -526,7 +526,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00077",
|
||||
"id": "BattleTower_Text_ITrainedMyLittleGuy",
|
||||
"en_US": [
|
||||
"I trained my little guy till we\n",
|
||||
"couldn’t take any more.\r",
|
||||
|
|
@ -536,11 +536,11 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00078",
|
||||
"id": "BattleTower_Text_PikachuDotDotDot",
|
||||
"en_US": "PIKACHU: ..."
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00079",
|
||||
"id": "BattleTower_Text_YouLookPowerful",
|
||||
"en_US": [
|
||||
"Ooh-la-la!\n",
|
||||
"You look tremendously powerful!\r",
|
||||
|
|
@ -549,7 +549,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00080",
|
||||
"id": "BattleTower_Text_ThereAreManyToughTrainers",
|
||||
"en_US": [
|
||||
"There are so many tough Trainers\n",
|
||||
"around...\r",
|
||||
|
|
@ -558,11 +558,11 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00081",
|
||||
"id": "BattleTower_Text_PikachuPichuu",
|
||||
"en_US": "PIKACHU: Pichuu! Pichuu!"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00082",
|
||||
"id": "BattleTower_Text_CongratulationsOnAchievingA50WinStreak",
|
||||
"en_US": [
|
||||
"Congratulations on achieving\n",
|
||||
"a 50-win streak!\r",
|
||||
|
|
@ -571,7 +571,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00083",
|
||||
"id": "BattleTower_Text_CongratulationsOnAdvancingToRank",
|
||||
"en_US": [
|
||||
"Congratulations on advancing to\n",
|
||||
"Rank {STRVAR_1 50, 0, 0}!\r",
|
||||
|
|
@ -580,7 +580,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00084",
|
||||
"id": "BattleTower_Text_CongratulationsOnDefeatingTowerTycoon",
|
||||
"en_US": [
|
||||
"Congratulations on defeating\n",
|
||||
"the Tower Tycoon!\r",
|
||||
|
|
@ -589,7 +589,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00085",
|
||||
"id": "BattleTower_Text_CommemorativePrint",
|
||||
"en_US": [
|
||||
"Congratulations!\r",
|
||||
"In honor of your victory, we present\n",
|
||||
|
|
@ -597,21 +597,21 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00086",
|
||||
"id": "BattleTower_Text_GoldPrintWasAddedToVsRecorder",
|
||||
"en_US": [
|
||||
"The Gold Print was added to\n",
|
||||
"{STRVAR_1 3, 0, 0}’s Vs. Recorder!\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00087",
|
||||
"id": "BattleTower_Text_SilverPrintWasAddedToVsRecorder",
|
||||
"en_US": [
|
||||
"The Silver Print was added to\n",
|
||||
"{STRVAR_1 3, 0, 0}’s Vs. Recorder!\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00088",
|
||||
"id": "BattleTower_Text_CongratulationsOnAchievingWinStreak",
|
||||
"en_US": [
|
||||
"Congratulations on achieving your\n",
|
||||
"{STRVAR_1 52, 0, 0}-win streak!\r",
|
||||
|
|
@ -620,7 +620,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00089",
|
||||
"id": "BattleTower_Text_RunOutOfRoomForDecorationGoods",
|
||||
"en_US": [
|
||||
"...Uh-oh... You’ve run out of room\n",
|
||||
"for decoration goods.\r",
|
||||
|
|
@ -629,11 +629,11 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00090",
|
||||
"id": "BattleTower_Text_00090",
|
||||
"garbage": 61
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00091",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -646,7 +646,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00092",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon2",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -660,7 +660,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00093",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon3",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -674,7 +674,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00094",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon4",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -688,7 +688,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00095",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon5",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -703,7 +703,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00096",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon6",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -718,7 +718,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00097",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon7",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -734,7 +734,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00098",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon8",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -750,7 +750,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00099",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon9",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -767,7 +767,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00100",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon10",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -784,7 +784,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00101",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon11",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -802,7 +802,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00102",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon12",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -820,7 +820,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00103",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon13",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -839,7 +839,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00104",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon14",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -858,7 +858,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00105",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon15",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -878,7 +878,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00106",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon16",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -898,7 +898,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00107",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon17",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -919,7 +919,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00108",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon18",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -940,7 +940,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00109",
|
||||
"id": "BattleTower_Text_NotEnoughEligiblePokemon19",
|
||||
"en_US": [
|
||||
"Excuse me!\r",
|
||||
"You don’t have {STRVAR_1 50, 0, 0} eligible Pokémon.\r",
|
||||
|
|
@ -962,32 +962,32 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00110",
|
||||
"id": "BattleTower_Text_ThankYouForParticipating",
|
||||
"en_US": [
|
||||
"Thank you so much for participating!\n",
|
||||
"Please come again!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00111",
|
||||
"id": "BattleTower_Text_NoDataYet",
|
||||
"en_US": [
|
||||
"There doesn’t appear to be any\n",
|
||||
"data yet..."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00112",
|
||||
"id": "BattleTower_Text_DSWirelessCommunicationWillBeLaunched",
|
||||
"en_US": [
|
||||
"DS Wireless Communications will\n",
|
||||
"be launched."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00113",
|
||||
"id": "BattleTower_Text_WeLookForwardToYourNextVisit",
|
||||
"en_US": "We look forward to your next visit.\r"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00114",
|
||||
"id": "BattleTower_Text_JudgeExplanation",
|
||||
"en_US": [
|
||||
"You can call me the Judge.\r",
|
||||
"Heheh, it’s actually not my real name,\n",
|
||||
|
|
@ -1001,28 +1001,28 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00115",
|
||||
"id": "BattleTower_Text_ICouldJudgeYourPokemon",
|
||||
"en_US": [
|
||||
"If you’d like, I could judge the\n",
|
||||
"intriguing potential of your Pokémon.\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00116",
|
||||
"id": "BattleTower_Text_OhYouDontNeedMeToJudge",
|
||||
"en_US": [
|
||||
"...Oh.\n",
|
||||
"You don’t need me to judge. I get it."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00117",
|
||||
"id": "BattleTower_Text_CantJudgeAnEgg",
|
||||
"en_US": [
|
||||
"Judge an Egg?!\n",
|
||||
"That’s a tall order even for me.\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00118",
|
||||
"id": "BattleTower_Text_DecentPotential",
|
||||
"en_US": [
|
||||
"I see, I see...\r",
|
||||
"This Pokémon’s potential is decent all\n",
|
||||
|
|
@ -1031,7 +1031,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00119",
|
||||
"id": "BattleTower_Text_AboveAveragePotential",
|
||||
"en_US": [
|
||||
"I see, I see...\r",
|
||||
"This Pokémon’s potential is above\n",
|
||||
|
|
@ -1040,7 +1040,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00120",
|
||||
"id": "BattleTower_Text_RelativelySuperiorPotential",
|
||||
"en_US": [
|
||||
"I see, I see...\r",
|
||||
"This Pokémon has relatively superior\n",
|
||||
|
|
@ -1049,7 +1049,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00121",
|
||||
"id": "BattleTower_Text_OutstandingPotential",
|
||||
"en_US": [
|
||||
"I see, I see...\r",
|
||||
"This Pokémon has outstanding potential\n",
|
||||
|
|
@ -1058,77 +1058,77 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00122",
|
||||
"id": "BattleTower_Text_BestPotentialInHP",
|
||||
"en_US": [
|
||||
"Incidentally, I would say the best\n",
|
||||
"potential lies in its HP.\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00123",
|
||||
"id": "BattleTower_Text_BestPotentialInAttack",
|
||||
"en_US": [
|
||||
"Incidentally, I would say the best\n",
|
||||
"potential lies in its Attack stat.\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00124",
|
||||
"id": "BattleTower_Text_BestPotentialInDefense",
|
||||
"en_US": [
|
||||
"Incidentally, I would say the best\n",
|
||||
"potential lies in its Defense stat.\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00125",
|
||||
"id": "BattleTower_Text_BestPotentialInSpAtk",
|
||||
"en_US": [
|
||||
"Incidentally, I would say the best\n",
|
||||
"potential lies in its Sp. Atk stat.\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00126",
|
||||
"id": "BattleTower_Text_BestPotentialInSpDef",
|
||||
"en_US": [
|
||||
"Incidentally, I would say the best\n",
|
||||
"potential lies in its Sp. Def stat.\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00127",
|
||||
"id": "BattleTower_Text_BestPotentialInSpeed",
|
||||
"en_US": [
|
||||
"Incidentally, I would say the best\n",
|
||||
"potential lies in its Speed stat.\r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00128",
|
||||
"id": "BattleTower_Text_ItsRatherDecent",
|
||||
"en_US": [
|
||||
"It’s rather decent in that regard.\n",
|
||||
"That’s how I judged it."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00129",
|
||||
"id": "BattleTower_Text_ItsVeryGood",
|
||||
"en_US": [
|
||||
"It’s very good in that regard.\n",
|
||||
"That’s how I judged it."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00130",
|
||||
"id": "BattleTower_Text_ItsFantastic",
|
||||
"en_US": [
|
||||
"It’s fantastic in that regard.\n",
|
||||
"That’s how I judged it."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00131",
|
||||
"id": "BattleTower_Text_ItCantBeBetter",
|
||||
"en_US": [
|
||||
"It can’t be better in that regard.\n",
|
||||
"That’s how I judged it."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000304_00132",
|
||||
"id": "BattleTower_Text_AwardRibbonToParticipatingPokemon",
|
||||
"en_US": [
|
||||
"A Ribbon will be awarded to the\n",
|
||||
"participating Pokémon!"
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
"en_US": "FROZEN"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000361_00005",
|
||||
"id": "MenuEntries_Text_Exit",
|
||||
"en_US": "EXIT"
|
||||
},
|
||||
{
|
||||
|
|
@ -54,11 +54,11 @@
|
|||
"en_US": "EXIT"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000361_00013",
|
||||
"id": "MenuEntries_Text_BattleTower_JoinGroup",
|
||||
"en_US": "JOIN GROUP"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000361_00014",
|
||||
"id": "MenuEntries_Text_BattleTower_BecomeLeader",
|
||||
"en_US": "BECOME LEADER"
|
||||
},
|
||||
{
|
||||
|
|
@ -402,7 +402,7 @@
|
|||
"garbage": 7
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000361_00094",
|
||||
"id": "MenuEntries_Text_BattleTower_Cancel",
|
||||
"en_US": "CANCEL"
|
||||
},
|
||||
{
|
||||
|
|
@ -590,15 +590,15 @@
|
|||
"en_US": "RECORDS"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000361_00141",
|
||||
"id": "MenuEntries_Text_BattleTower_Challenge",
|
||||
"en_US": "CHALLENGE"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000361_00142",
|
||||
"id": "MenuEntries_Text_BattleTower_Info",
|
||||
"en_US": "INFO"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000361_00143",
|
||||
"id": "MenuEntries_Text_BattleTower_Exit",
|
||||
"en_US": "EXIT"
|
||||
},
|
||||
{
|
||||
|
|
@ -630,11 +630,11 @@
|
|||
"en_US": "JOIN GROUP"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000361_00151",
|
||||
"id": "MenuEntries_Text_BattleTower_CheckLeaders",
|
||||
"en_US": "CHECK LEADERS"
|
||||
},
|
||||
{
|
||||
"id": "pl_msg_00000361_00152",
|
||||
"id": "MenuEntries_Text_BattleTower_ChallengeEarlierRoom",
|
||||
"en_US": "CHALLENGE EARLIER ROOM"
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ BOOL Battle_Main(ApplicationManager *appMan, int *param1)
|
|||
break;
|
||||
case 1:
|
||||
ov16_0223D10C(appMan, v0);
|
||||
sub_02038F8C(v0->wiFiHistory);
|
||||
WiFiHistory_FlagGeonetLinkInfo(v0->wiFiHistory);
|
||||
|
||||
if (!CommMan_IsConnectedToWifi()) {
|
||||
GameRecords_IncrementRecordValue(v0->records, RECORD_UNK_020);
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ static void Task_StartBattleClient(void)
|
|||
return;
|
||||
}
|
||||
|
||||
ov7_0224B450();
|
||||
CommClub_PrintChooseJoinMsg();
|
||||
FieldCommMan_SetTask(Task_ClientWait, 0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -433,12 +433,12 @@ static void ov5_021F6AD4(UnkStruct_ov5_021F6704 *param0)
|
|||
}
|
||||
|
||||
static const u16 sHighestIVMessageIndices[] = {
|
||||
pl_msg_00000304_00122,
|
||||
pl_msg_00000304_00123,
|
||||
pl_msg_00000304_00124,
|
||||
pl_msg_00000304_00127,
|
||||
pl_msg_00000304_00125,
|
||||
pl_msg_00000304_00126
|
||||
BattleTower_Text_BestPotentialInHP,
|
||||
BattleTower_Text_BestPotentialInAttack,
|
||||
BattleTower_Text_BestPotentialInDefense,
|
||||
BattleTower_Text_BestPotentialInSpeed,
|
||||
BattleTower_Text_BestPotentialInSpAtk,
|
||||
BattleTower_Text_BestPotentialInSpDef
|
||||
};
|
||||
|
||||
BOOL ScrCmd_JudgeStats(ScriptContext *ctx)
|
||||
|
|
@ -1119,12 +1119,12 @@ BOOL ScrCmd_339(ScriptContext *ctx)
|
|||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_330(ScriptContext *ctx)
|
||||
BOOL ScrCmd_LogLinkInfoInWiFiHistory(ScriptContext *ctx)
|
||||
{
|
||||
WiFiHistory *wiFiHistory = SaveData_WiFiHistory(ctx->fieldSystem->saveData);
|
||||
|
||||
sub_02038F8C(wiFiHistory);
|
||||
return 1;
|
||||
WiFiHistory_FlagGeonetLinkInfo(wiFiHistory);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_333(ScriptContext *ctx)
|
||||
|
|
|
|||
|
|
@ -367,7 +367,7 @@ BOOL ScrCmd_ShowMoveTutorMoveSelectionMenu(ScriptContext *scriptContext)
|
|||
miscMessageLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MENU_ENTRIES, HEAP_ID_FIELD3);
|
||||
|
||||
MoveTutorManager_SetMessageLoader(moveTutorManager, miscMessageLoader);
|
||||
MoveTutorManager_AddMenuEntry(moveTutorManager, pl_msg_00000361_00005, 0xff, (u16)LIST_CANCEL); // cast required to match
|
||||
MoveTutorManager_AddMenuEntry(moveTutorManager, MenuEntries_Text_Exit, 0xff, (u16)LIST_CANCEL); // cast required to match
|
||||
MessageLoader_Free(miscMessageLoader);
|
||||
|
||||
MoveTutorManager_SetMessageLoader(moveTutorManager, moveNamesLoader);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "constants/communication/comm_type.h"
|
||||
#include "generated/comm_club_ret_codes.h"
|
||||
|
||||
#include "field/field_system.h"
|
||||
|
||||
|
|
@ -71,19 +72,11 @@ typedef struct CommClubManager {
|
|||
u8 unk_98;
|
||||
} CommClubManager;
|
||||
|
||||
enum CommClubRetCode {
|
||||
COMM_CLUB_RET_0,
|
||||
COMM_CLUB_RET_CANCEL,
|
||||
COMM_CLUB_RET_2,
|
||||
COMM_CLUB_RET_ERROR,
|
||||
COMM_CLUB_RET_4,
|
||||
};
|
||||
|
||||
static void CommClubMan_Run(SysTask *task, void *param1);
|
||||
static void CommClubMan_SetTask(CommClubManTaskFunc param0);
|
||||
static void CommClubMan_PrintMessage(int param0, BOOL param1);
|
||||
static void CommClubMan_StartBattleClient(CommClubManager *param0);
|
||||
static void ov7_0224A510(CommClubManager *param0);
|
||||
static void CommClubMan_StartBattleServer(CommClubManager *param0);
|
||||
static void ov7_02249C44(ListMenu *param0, u32 param1, u8 param2);
|
||||
static void ov7_02249C64(ListMenu *param0, u32 param1, u8 param2);
|
||||
static void ov7_02249C94(ListMenu *param0, u32 param1, u8 param2);
|
||||
|
|
@ -216,7 +209,7 @@ static void CommClubMan_Init(FieldSystem *fieldSystem)
|
|||
sCommClubMan = Heap_Alloc(HEAP_ID_FIELD1, sizeof(CommClubManager));
|
||||
MI_CpuFill8(sCommClubMan, 0, sizeof(CommClubManager));
|
||||
|
||||
sCommClubMan->retCode = 0;
|
||||
sCommClubMan->retCode = COMM_CLUB_RET_0;
|
||||
sCommClubMan->fieldSystem = fieldSystem;
|
||||
sCommClubMan->unk_97 = 0;
|
||||
sCommClubMan->msgLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_UNK_0353, HEAP_ID_FIELD1);
|
||||
|
|
@ -666,7 +659,7 @@ static void ov7_0224A438(ListMenu *param0, u32 param1, u8 param2)
|
|||
}
|
||||
}
|
||||
|
||||
static void ov7_0224A510(CommClubManager *commClubMan)
|
||||
static void CommClubMan_StartBattleServer(CommClubManager *commClubMan)
|
||||
{
|
||||
FieldCommMan_StartBattleServer(commClubMan->fieldSystem, commClubMan->commType, CommClubMan_Regulation());
|
||||
}
|
||||
|
|
@ -1052,7 +1045,7 @@ static void CommClubTask_DifferentRegulation(SysTask *task, void *param1)
|
|||
if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) {
|
||||
CommClubMan_DestroyList(task, commClubMan);
|
||||
CommClubMan_Disconnect();
|
||||
sCommClubMan->retCode = 4;
|
||||
sCommClubMan->retCode = COMM_CLUB_RET_4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1573,7 +1566,7 @@ static void ov7_0224B370(SysTask *task, void *param1)
|
|||
static void ov7_0224B3A8(CommClubManager *commClubMan)
|
||||
{
|
||||
sub_02036994(0);
|
||||
sCommClubMan->retCode = 2;
|
||||
sCommClubMan->retCode = COMM_CLUB_RET_2;
|
||||
CommMan_SetErrorHandling(1, 1);
|
||||
CommInfo_SendBattleRegulation();
|
||||
sub_02033EA8(1);
|
||||
|
|
@ -1594,12 +1587,12 @@ static int CommClubMan_Regulation(void)
|
|||
return sCommClubMan->unk_92 + (sCommClubMan->unk_93 << 4);
|
||||
}
|
||||
|
||||
void ov7_0224B414(FieldSystem *fieldSystem, int commType, int param2, int param3)
|
||||
void CommClub_StartBattleClient(FieldSystem *fieldSystem, int commType, int param2, int param3)
|
||||
{
|
||||
CommClubMan_Init(fieldSystem);
|
||||
sCommClubMan->commType = commType;
|
||||
|
||||
if ((commType == COMM_TYPE_MIX_BATTLE) || (commType == COMM_TYPE_MULTI_BATTLE_1)) {
|
||||
if (commType == COMM_TYPE_MIX_BATTLE || commType == COMM_TYPE_MULTI_BATTLE_1) {
|
||||
fieldSystem->unk_B0 = NULL;
|
||||
}
|
||||
|
||||
|
|
@ -1609,35 +1602,35 @@ void ov7_0224B414(FieldSystem *fieldSystem, int commType, int param2, int param3
|
|||
CommClubMan_StartBattleClient(sCommClubMan);
|
||||
}
|
||||
|
||||
void ov7_0224B450(void)
|
||||
void CommClub_PrintChooseJoinMsg(void)
|
||||
{
|
||||
CommClubMan_PrintChooseJoinMsg(sCommClubMan);
|
||||
}
|
||||
|
||||
u32 ov7_0224B460(void)
|
||||
u32 CommClub_CheckWindowOpenClient(void)
|
||||
{
|
||||
u32 v0 = sCommClubMan->retCode;
|
||||
u32 ret = sCommClubMan->retCode;
|
||||
|
||||
if (0 != v0) {
|
||||
if (COMM_CLUB_RET_0 != ret) {
|
||||
CommClubMan_Delete();
|
||||
}
|
||||
|
||||
return v0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
void ov7_0224B47C(FieldSystem *fieldSystem, int commType, int param2, int param3)
|
||||
void CommClub_StartBattleServer(FieldSystem *fieldSystem, int commType, int param2, int param3)
|
||||
{
|
||||
CommClubMan_Init(fieldSystem);
|
||||
sCommClubMan->commType = commType;
|
||||
|
||||
if ((commType == COMM_TYPE_MIX_BATTLE) || (commType == COMM_TYPE_MULTI_BATTLE_1)) {
|
||||
if (commType == COMM_TYPE_MIX_BATTLE || commType == COMM_TYPE_MULTI_BATTLE_1) {
|
||||
fieldSystem->unk_B0 = NULL;
|
||||
}
|
||||
|
||||
sCommClubMan->unk_92 = param2;
|
||||
sCommClubMan->unk_93 = param3;
|
||||
|
||||
ov7_0224A510(sCommClubMan);
|
||||
CommClubMan_StartBattleServer(sCommClubMan);
|
||||
}
|
||||
|
||||
void ov7_0224B4B8(void)
|
||||
|
|
@ -1645,11 +1638,11 @@ void ov7_0224B4B8(void)
|
|||
ov7_0224A53C(sCommClubMan);
|
||||
}
|
||||
|
||||
u32 CommClub_CheckWindowOpenClient(void)
|
||||
u32 CommClub_CheckWindowOpenServer(void)
|
||||
{
|
||||
u32 ret = sCommClubMan->retCode;
|
||||
|
||||
if (0 != ret) {
|
||||
if (COMM_CLUB_RET_0 != ret) {
|
||||
CommClubMan_Delete();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4156,7 +4156,7 @@ static int ov65_022321F4(UnkStruct_ov65_0222EBE0 *param0, int param1)
|
|||
} else {
|
||||
if (param0->unk_3BC == 0) {
|
||||
if (CommTiming_IsSyncState(13)) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(14);
|
||||
|
||||
param0->unk_3E4 = 0;
|
||||
|
|
|
|||
|
|
@ -1905,7 +1905,7 @@ static BOOL ov65_02237DF8(UnkStruct_ov65_022367A8 *param0, UnkStruct_0207DE04 *p
|
|||
{
|
||||
if (CommTiming_IsSyncState(13)) {
|
||||
ov65_02237498(param0, param1);
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(14);
|
||||
|
||||
param0->unk_00.unk_05 = 15;
|
||||
|
|
@ -2375,7 +2375,7 @@ static BOOL ov65_022383D0(UnkStruct_ov65_022367A8 *param0, UnkStruct_0207DE04 *p
|
|||
}
|
||||
|
||||
if (ov65_02237A10(param0) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(14);
|
||||
|
||||
ov65_022378C4(param0, param1, param2);
|
||||
|
|
|
|||
|
|
@ -488,7 +488,7 @@ BOOL ov70_02265F38(UnkStruct_ov70_02263344 *param0, UnkStruct_ov70_0225DEE8 *par
|
|||
ov70_02266CCC(&v0->unk_3C, 0);
|
||||
ov70_02266CF0(&v0->unk_3C, param1, 0);
|
||||
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
|
||||
ov66_0222E238(v2);
|
||||
ov70_02266B18(v0, param0, 13, 14);
|
||||
|
|
|
|||
|
|
@ -1138,7 +1138,7 @@ static void ov88_0223C370(UnkStruct_02095E80 *param0, ApplicationManager *appMan
|
|||
param0->unk_18C = TrainerInfo_NameNewStrbuf(v0->unk_04, 26);
|
||||
param0->unk_190 = MessageLoader_GetNewStrbuf(param0->unk_184, 42);
|
||||
|
||||
sub_02038F8C(v0->wiFiHistory);
|
||||
WiFiHistory_FlagGeonetLinkInfo(v0->wiFiHistory);
|
||||
}
|
||||
|
||||
static void ov88_0223C44C(BgConfig *param0)
|
||||
|
|
|
|||
|
|
@ -612,6 +612,6 @@ void ov104_0222E630(SaveData *saveData)
|
|||
{
|
||||
WiFiHistory *wiFiHistory = SaveData_WiFiHistory(saveData);
|
||||
|
||||
sub_02038F8C(wiFiHistory);
|
||||
WiFiHistory_FlagGeonetLinkInfo(wiFiHistory);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1912,7 +1912,7 @@ static BOOL ov104_02230FCC(UnkStruct_ov104_0222E930 *param0)
|
|||
|
||||
static BOOL ov104_02230FEC(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,14 +39,14 @@ BOOL ov104_02239364(UnkStruct_ov104_0222E930 *param0);
|
|||
BOOL ov104_0223939C(UnkStruct_ov104_0222E930 *param0);
|
||||
BOOL ov104_02239400(UnkStruct_ov104_0222E930 *param0);
|
||||
static BOOL ov104_0223942C(UnkStruct_ov104_0222E930 *param0);
|
||||
static u16 ov104_0223927C(UnkStruct_0204AFC4 *param0, u8 param1);
|
||||
static BOOL ov104_02239464(UnkStruct_ov104_0222E930 *param0, UnkStruct_0204AFC4 *param1, SaveData *saveData, u16 param3, u16 param4);
|
||||
static u16 ov104_0223927C(BattleTower *battleTower, u8 param1);
|
||||
static BOOL ov104_02239464(UnkStruct_ov104_0222E930 *param0, BattleTower *battleTower, SaveData *saveData, u16 param3, u16 param4);
|
||||
|
||||
BOOL ov104_02239130(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
TVBroadcast *broadcast;
|
||||
Pokemon *v1;
|
||||
UnkStruct_0204AFC4 *v2;
|
||||
BattleTower *battleTower;
|
||||
int v3, v4;
|
||||
u16 v5, v6;
|
||||
u16 *v7;
|
||||
|
|
@ -55,62 +55,62 @@ BOOL ov104_02239130(UnkStruct_ov104_0222E930 *param0)
|
|||
v5 = ov104_0222EA48(param0);
|
||||
v6 = ov104_0222FC00(param0);
|
||||
v7 = ov104_0222FBE4(param0);
|
||||
v2 = sub_0209B978(param0->unk_00->unk_00);
|
||||
battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
|
||||
switch (v5) {
|
||||
case 2:
|
||||
sub_02049F8C();
|
||||
break;
|
||||
case (30 + 16):
|
||||
*v7 = sub_0204AA04(v2);
|
||||
*v7 = sub_0204AA04(battleTower);
|
||||
broadcast = SaveData_GetTVBroadcast(v8->saveData);
|
||||
sub_0206D0C8(broadcast, *v7);
|
||||
GameRecords_AddToRecordValue(SaveData_GetGameRecords(v8->saveData), RECORD_UNK_068, *v7);
|
||||
break;
|
||||
case (30 + 25):
|
||||
*v7 = ov104_0223927C(v2, v6);
|
||||
*v7 = ov104_0223927C(battleTower, v6);
|
||||
break;
|
||||
case (30 + 3):
|
||||
*v7 = sub_0204A578(v2);
|
||||
*v7 = sub_0204A578(battleTower);
|
||||
break;
|
||||
case (30 + 4):
|
||||
*v7 = ov104_022395B4(v2);
|
||||
*v7 = ov104_022395B4(battleTower);
|
||||
break;
|
||||
case (30 + 5):
|
||||
*v7 = sub_0204A57C(v2);
|
||||
*v7 = sub_0204A57C(battleTower);
|
||||
break;
|
||||
case (30 + 6):
|
||||
*v7 = ov104_022395D8(v2);
|
||||
*v7 = ov104_022395D8(battleTower);
|
||||
break;
|
||||
case (30 + 13):
|
||||
*v7 = (u16)sub_0204A9F8(v2);
|
||||
*v7 = (u16)BattleTower_GetChallengeMode(battleTower);
|
||||
break;
|
||||
case (30 + 10):
|
||||
ov104_022394A4(v2, v8->saveData);
|
||||
ov104_022394A4(battleTower, v8->saveData);
|
||||
break;
|
||||
case (30 + 11):
|
||||
*v7 = ov104_02239588(v2, v6);
|
||||
*v7 = ov104_02239588(battleTower, v6);
|
||||
break;
|
||||
case (30 + 14):
|
||||
ov104_022395A0(v2, v6);
|
||||
ov104_022395A0(battleTower, v6);
|
||||
break;
|
||||
case (30 + 7):
|
||||
sub_0204A660(v2, v8->saveData);
|
||||
sub_0204A660(battleTower, v8->saveData);
|
||||
break;
|
||||
case (30 + 8):
|
||||
sub_0204A7A4(v2, v8->saveData, v8->journalEntry);
|
||||
sub_0204A7A4(battleTower, v8->saveData, v8->journalEntry);
|
||||
break;
|
||||
case (30 + 9):
|
||||
sub_0204A8C8(v2);
|
||||
sub_0204A8C8(battleTower);
|
||||
break;
|
||||
case (30 + 28):
|
||||
MI_CpuClear8(v2->unk_884, 70);
|
||||
MI_CpuClear8(battleTower->unk_884, 70);
|
||||
break;
|
||||
case (30 + 29):
|
||||
v2->unk_8D6 = 1;
|
||||
battleTower->unk_8D6 = 1;
|
||||
break;
|
||||
case 100:
|
||||
if (v2 == NULL) {
|
||||
if (battleTower == NULL) {
|
||||
*v7 = 1;
|
||||
} else {
|
||||
*v7 = 0;
|
||||
|
|
@ -124,7 +124,7 @@ BOOL ov104_02239130(UnkStruct_ov104_0222E930 *param0)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static u16 ov104_0223927C(UnkStruct_0204AFC4 *param0, u8 param1)
|
||||
static u16 ov104_0223927C(BattleTower *battleTower, u8 param1)
|
||||
{
|
||||
static const u16 v0[] = {
|
||||
0x8d,
|
||||
|
|
@ -135,14 +135,14 @@ static u16 ov104_0223927C(UnkStruct_0204AFC4 *param0, u8 param1)
|
|||
};
|
||||
|
||||
if (param1 == 2) {
|
||||
return param0->unk_10_5;
|
||||
return battleTower->unk_10_5;
|
||||
}
|
||||
|
||||
if (param1 == 1) {
|
||||
if (param0->unk_0F == 2) {
|
||||
return v0[param0->unk_10_5];
|
||||
if (battleTower->challengeMode == 2) {
|
||||
return v0[battleTower->unk_10_5];
|
||||
} else {
|
||||
if (param0->unk_12) {
|
||||
if (battleTower->unk_12) {
|
||||
return 0x61;
|
||||
} else {
|
||||
return 0x0;
|
||||
|
|
@ -150,7 +150,7 @@ static u16 ov104_0223927C(UnkStruct_0204AFC4 *param0, u8 param1)
|
|||
}
|
||||
}
|
||||
|
||||
if (param0->unk_11) {
|
||||
if (battleTower->unk_11) {
|
||||
return 0x61;
|
||||
} else {
|
||||
return 0x0;
|
||||
|
|
@ -161,26 +161,26 @@ BOOL ov104_022392C0(UnkStruct_ov104_0222E930 *param0)
|
|||
{
|
||||
u8 v0;
|
||||
u16 *v1;
|
||||
UnkStruct_0204AFC4 *v2;
|
||||
BattleTower *battleTower;
|
||||
UnkStruct_ov104_02230BE4 *v3 = sub_0209B970(param0->unk_00->unk_00);
|
||||
u16 v4 = (*((param0)->unk_1C++));
|
||||
|
||||
v2 = sub_0209B978(param0->unk_00->unk_00);
|
||||
battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
|
||||
if (v2 == NULL) {
|
||||
if (battleTower == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v1 = v2->unk_78[v4].unk_00.unk_18;
|
||||
v1 = battleTower->unk_78[v4].unk_00.unk_18;
|
||||
|
||||
ov104_0223310C(param0, v1, ov104_0223A790(v2->unk_0F));
|
||||
ov104_0223310C(param0, v1, ov104_0223A790(battleTower->challengeMode));
|
||||
return 1;
|
||||
}
|
||||
|
||||
BOOL ov104_02239300(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
UnkStruct_0204AFC4 *v0 = sub_0209B978(param0->unk_00->unk_00);
|
||||
sub_0204A32C(v0);
|
||||
BattleTower *battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
BattleTower_Free(battleTower);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -188,13 +188,13 @@ BOOL ov104_02239300(UnkStruct_ov104_0222E930 *param0)
|
|||
BOOL ov104_02239314(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
FieldBattleDTO *v0;
|
||||
UnkStruct_0204AFC4 *v1;
|
||||
BattleTower *battleTower;
|
||||
UnkStruct_ov104_02230BE4 *v2 = sub_0209B970(param0->unk_00->unk_00);
|
||||
|
||||
v1 = sub_0209B978(param0->unk_00->unk_00);
|
||||
v0 = ov104_0223A580(v1, v2);
|
||||
battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
v0 = ov104_0223A580(battleTower, v2);
|
||||
|
||||
v1->unk_8D0 = v0;
|
||||
battleTower->unk_8D0 = v0;
|
||||
|
||||
Sound_SetSceneAndPlayBGM(SOUND_SCENE_BATTLE, SEQ_BATTLE_TRAINER, 1);
|
||||
sub_0209B988(param0->unk_00->unk_00, &gBattleApplicationTemplate, v0, 0, NULL);
|
||||
|
|
@ -204,16 +204,16 @@ BOOL ov104_02239314(UnkStruct_ov104_0222E930 *param0)
|
|||
|
||||
BOOL ov104_02239364(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
UnkStruct_0204AFC4 *v0;
|
||||
BattleTower *battleTower;
|
||||
FieldBattleDTO *v1;
|
||||
u16 *v2;
|
||||
|
||||
v0 = sub_0209B978(param0->unk_00->unk_00);
|
||||
battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
v2 = ov104_0222FBE4(param0);
|
||||
v1 = v0->unk_8D0;
|
||||
v1 = battleTower->unk_8D0;
|
||||
|
||||
v0->unk_8CC = CheckPlayerWonBattle(v1->resultMask);
|
||||
*v2 = v0->unk_8CC;
|
||||
battleTower->unk_8CC = CheckPlayerWonBattle(v1->resultMask);
|
||||
*v2 = battleTower->unk_8CC;
|
||||
|
||||
FieldBattleDTO_Free(v1);
|
||||
return 0;
|
||||
|
|
@ -221,24 +221,24 @@ BOOL ov104_02239364(UnkStruct_ov104_0222E930 *param0)
|
|||
|
||||
BOOL ov104_0223939C(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
UnkStruct_0204AFC4 *v0;
|
||||
BattleTower *battleTower;
|
||||
UnkStruct_ov104_02230BE4 *v1 = sub_0209B970(param0->unk_00->unk_00);
|
||||
u16 v2 = ov104_0222FC00(param0);
|
||||
u16 v3 = ov104_0222FC00(param0);
|
||||
u16 *v4 = ov104_0222FBE4(param0);
|
||||
|
||||
v0 = sub_0209B978(param0->unk_00->unk_00);
|
||||
battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
|
||||
switch (v2) {
|
||||
case 2:
|
||||
ov104_0223A734(v0, v3);
|
||||
ov104_0223A734(battleTower, v3);
|
||||
break;
|
||||
default:
|
||||
GF_ASSERT(0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (sub_02036614(CommSys_CurNetId(), v0->unk_83E) == 1) {
|
||||
if (sub_02036614(CommSys_CurNetId(), battleTower->unk_83E) == 1) {
|
||||
*v4 = 1;
|
||||
} else {
|
||||
*v4 = 0;
|
||||
|
|
@ -262,19 +262,19 @@ BOOL ov104_02239400(UnkStruct_ov104_0222E930 *param0)
|
|||
|
||||
static BOOL ov104_0223942C(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
UnkStruct_0204AFC4 *v0;
|
||||
BattleTower *battleTower;
|
||||
UnkStruct_ov104_02230BE4 *v1 = sub_0209B970(param0->unk_00->unk_00);
|
||||
|
||||
v0 = sub_0209B978(param0->unk_00->unk_00);
|
||||
battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
|
||||
if (ov104_02239464(param0, v0, v1->saveData, param0->unk_78[0], param0->unk_78[1]) == 1) {
|
||||
if (ov104_02239464(param0, battleTower, v1->saveData, param0->unk_78[0], param0->unk_78[1]) == 1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static BOOL ov104_02239464(UnkStruct_ov104_0222E930 *param0, UnkStruct_0204AFC4 *param1, SaveData *saveData, u16 param3, u16 param4)
|
||||
static BOOL ov104_02239464(UnkStruct_ov104_0222E930 *param0, BattleTower *battleTower, SaveData *saveData, u16 param3, u16 param4)
|
||||
{
|
||||
u16 *v0;
|
||||
const void *v1 = sub_0203664C(1 - CommSys_CurNetId());
|
||||
|
|
@ -287,7 +287,7 @@ static BOOL ov104_02239464(UnkStruct_ov104_0222E930 *param0, UnkStruct_0204AFC4
|
|||
|
||||
switch (param3) {
|
||||
case 2:
|
||||
*v0 = ov104_0223A750(param1, v1);
|
||||
*v0 = ov104_0223A750(battleTower, v1);
|
||||
break;
|
||||
default:
|
||||
GF_ASSERT(0);
|
||||
|
|
|
|||
|
|
@ -9,67 +9,67 @@
|
|||
#include "savedata.h"
|
||||
#include "unk_0206B9D8.h"
|
||||
|
||||
u16 ov104_02239588(UnkStruct_0204AFC4 *param0, u16 param1);
|
||||
void ov104_022395A0(UnkStruct_0204AFC4 *param0, u16 param1);
|
||||
u16 ov104_022395B4(UnkStruct_0204AFC4 *param0);
|
||||
u16 ov104_022395D8(UnkStruct_0204AFC4 *param0);
|
||||
u16 ov104_02239588(BattleTower *battleTower, u16 param1);
|
||||
void ov104_022395A0(BattleTower *battleTower, u16 param1);
|
||||
u16 ov104_022395B4(BattleTower *battleTower);
|
||||
u16 ov104_022395D8(BattleTower *battleTower);
|
||||
|
||||
void ov104_022394A4(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
||||
void ov104_022394A4(BattleTower *battleTower, SaveData *saveData)
|
||||
{
|
||||
switch (param0->unk_0F) {
|
||||
switch (battleTower->challengeMode) {
|
||||
case 4:
|
||||
case 5:
|
||||
ov104_0223A30C(saveData, param0->unk_78, param0->unk_0C - 1);
|
||||
ov104_0223A30C(saveData, battleTower->unk_78, battleTower->unk_0C - 1);
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 6:
|
||||
ov104_0223A0C4(param0, &(param0->unk_78[0]), param0->unk_3E[(param0->unk_0C - 1) * 2 + 0], param0->unk_0E, NULL, NULL, NULL, param0->heapID);
|
||||
ov104_0223A0C4(battleTower, &(battleTower->unk_78[0]), battleTower->unk_3E[(battleTower->unk_0C - 1) * 2 + 0], battleTower->partySize, NULL, NULL, NULL, battleTower->heapID);
|
||||
|
||||
u16 v1[2];
|
||||
u16 v2[2];
|
||||
|
||||
for (int v0 = 0; v0 < param0->unk_0E; v0++) {
|
||||
v1[v0] = param0->unk_78[0].unk_30[v0].species;
|
||||
v2[v0] = param0->unk_78[0].unk_30[v0].item;
|
||||
for (int v0 = 0; v0 < battleTower->partySize; v0++) {
|
||||
v1[v0] = battleTower->unk_78[0].unk_30[v0].species;
|
||||
v2[v0] = battleTower->unk_78[0].unk_30[v0].item;
|
||||
}
|
||||
|
||||
ov104_0223A0C4(param0, &(param0->unk_78[1]), param0->unk_3E[(param0->unk_0C - 1) * 2 + 1], param0->unk_0E, v1, v2, NULL, param0->heapID);
|
||||
ov104_0223A0C4(battleTower, &(battleTower->unk_78[1]), battleTower->unk_3E[(battleTower->unk_0C - 1) * 2 + 1], battleTower->partySize, v1, v2, NULL, battleTower->heapID);
|
||||
break;
|
||||
case 1:
|
||||
case 0:
|
||||
default:
|
||||
ov104_0223A0C4(param0, &(param0->unk_78[0]), param0->unk_3E[param0->unk_0C - 1], param0->unk_0E, NULL, NULL, NULL, param0->heapID);
|
||||
ov104_0223A0C4(battleTower, &(battleTower->unk_78[0]), battleTower->unk_3E[battleTower->unk_0C - 1], battleTower->partySize, NULL, NULL, NULL, battleTower->heapID);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
u16 ov104_02239588(UnkStruct_0204AFC4 *param0, u16 param1)
|
||||
u16 ov104_02239588(BattleTower *battleTower, u16 param1)
|
||||
{
|
||||
return ov104_0222E10C(param0->unk_78[param1].unk_00.trainerType);
|
||||
return ov104_0222E10C(battleTower->unk_78[param1].unk_00.trainerType);
|
||||
}
|
||||
|
||||
void ov104_022395A0(UnkStruct_0204AFC4 *param0, u16 param1)
|
||||
void ov104_022395A0(BattleTower *battleTower, u16 param1)
|
||||
{
|
||||
param0->unk_10_1 = param1;
|
||||
battleTower->unk_10_1 = param1;
|
||||
}
|
||||
|
||||
u16 ov104_022395B4(UnkStruct_0204AFC4 *param0)
|
||||
u16 ov104_022395B4(BattleTower *battleTower)
|
||||
{
|
||||
++param0->unk_0D;
|
||||
++battleTower->unk_0D;
|
||||
|
||||
if (param0->unk_0F != 6) {
|
||||
param0->unk_08 = sub_0206BFF0(param0->unk_08);
|
||||
if (battleTower->challengeMode != 6) {
|
||||
battleTower->unk_08 = sub_0206BFF0(battleTower->unk_08);
|
||||
}
|
||||
|
||||
return ++param0->unk_0C;
|
||||
return ++battleTower->unk_0C;
|
||||
}
|
||||
|
||||
u16 ov104_022395D8(UnkStruct_0204AFC4 *param0)
|
||||
u16 ov104_022395D8(BattleTower *battleTower)
|
||||
{
|
||||
if ((u32)param0->unk_1A + param0->unk_0D > 0xFFFF) {
|
||||
if ((u32)battleTower->unk_1A + battleTower->unk_0D > 0xFFFF) {
|
||||
return 0xFFFF;
|
||||
} else {
|
||||
return param0->unk_1A + param0->unk_0D;
|
||||
return battleTower->unk_1A + battleTower->unk_0D;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ BOOL ov104_022397B0(UnkStruct_ov104_0222E930 *param0)
|
|||
BOOL ov104_02239B14(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
int v0;
|
||||
UnkStruct_0204AFC4 *v1;
|
||||
BattleTower *battleTower;
|
||||
UnkStruct_ov104_02230BE4 *v2;
|
||||
UnkStruct_0209BBA4 *v3;
|
||||
UnkStruct_0209BBA4 v4;
|
||||
|
|
@ -324,43 +324,43 @@ BOOL ov104_02239B14(UnkStruct_ov104_0222E930 *param0)
|
|||
v4 = *v3;
|
||||
ov104_02239C7C(v3);
|
||||
|
||||
v1 = sub_0204A124(v2->saveData, 0, 6);
|
||||
sub_0209B980(param0->unk_00->unk_00, v1);
|
||||
battleTower = BattleTower_Init(v2->saveData, 0, 6);
|
||||
sub_0209B980(param0->unk_00->unk_00, battleTower);
|
||||
|
||||
if (v1->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == 6) {
|
||||
ov104_0222E630(v2->saveData);
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < v1->unk_0E; v0++) {
|
||||
v1->unk_2A[v0] = v4.unk_6A[v0];
|
||||
v1->unk_2E[v0] = v4.unk_76[v0];
|
||||
v1->unk_36[v0] = v4.unk_7E[v0];
|
||||
for (v0 = 0; v0 < battleTower->partySize; v0++) {
|
||||
battleTower->unk_2A[v0] = v4.unk_6A[v0];
|
||||
battleTower->unk_2E[v0] = v4.unk_76[v0];
|
||||
battleTower->unk_36[v0] = v4.unk_7E[v0];
|
||||
}
|
||||
|
||||
v1->unk_16[0] = v4.unk_86[0];
|
||||
v1->unk_16[1] = v4.unk_86[1];
|
||||
v1->unk_12 = v4.unk_58;
|
||||
v1->unk_10_5 = 5 + v1->unk_12;
|
||||
battleTower->unk_16[0] = v4.unk_86[0];
|
||||
battleTower->unk_16[1] = v4.unk_86[1];
|
||||
battleTower->unk_12 = v4.unk_58;
|
||||
battleTower->unk_10_5 = 5 + battleTower->unk_12;
|
||||
|
||||
if (CommSys_CurNetId() == 0) {
|
||||
sub_0204A4C8(v1, v2->saveData);
|
||||
sub_0204A4C8(battleTower, v2->saveData);
|
||||
}
|
||||
|
||||
Party_HealAllMembers(SaveData_GetParty(v2->saveData));
|
||||
sub_0209BA80(v1);
|
||||
sub_0209BA80(battleTower);
|
||||
|
||||
v1->unk_8D4 = 0;
|
||||
battleTower->unk_8D4 = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL ov104_02239BF4(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
UnkStruct_0204AFC4 *v0;
|
||||
BattleTower *battleTower;
|
||||
u16 *v1 = ov104_0222FBE4(param0);
|
||||
|
||||
v0 = sub_0209B978(param0->unk_00->unk_00);
|
||||
*v1 = sub_0209BB08(v0);
|
||||
battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
*v1 = sub_0209BB08(battleTower);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -373,21 +373,21 @@ BOOL ov104_02239C10(UnkStruct_ov104_0222E930 *param0)
|
|||
|
||||
static BOOL ov104_02239C20(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
UnkStruct_0204AFC4 *v0 = sub_0209B978(param0->unk_00->unk_00);
|
||||
BattleTower *battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
|
||||
if (v0->unk_8D4 < 2) {
|
||||
if (battleTower->unk_8D4 < 2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0->unk_8D4 = 0;
|
||||
battleTower->unk_8D4 = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
BOOL ov104_02239C44(UnkStruct_ov104_0222E930 *param0)
|
||||
{
|
||||
UnkStruct_0204AFC4 *v0 = sub_0209B978(param0->unk_00->unk_00);
|
||||
sub_0204A32C(v0);
|
||||
v0 = NULL;
|
||||
BattleTower *battleTower = sub_0209B978(param0->unk_00->unk_00);
|
||||
BattleTower_Free(battleTower);
|
||||
battleTower = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "generated/battle_tower_modes.h"
|
||||
#include "generated/species_data_params.h"
|
||||
|
||||
#include "struct_defs/battle_frontier_pokemon_data.h"
|
||||
|
|
@ -624,31 +625,31 @@ static const UnkStruct_ov104_0223FCB4 Unk_ov104_0223FCB4[] = {
|
|||
|
||||
void FieldBattleDTO_CopyPlayerInfoToTrainerData(FieldBattleDTO *param0);
|
||||
void ov104_0223A30C(SaveData *saveData, UnkStruct_ov104_0223A348 *param1, const u8 param2);
|
||||
FieldBattleDTO *ov104_0223A580(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_02230BE4 *param1);
|
||||
void ov104_0223A734(UnkStruct_0204AFC4 *param0, u16 param1);
|
||||
u16 ov104_0223A750(UnkStruct_0204AFC4 *param0, const u16 *param1);
|
||||
FieldBattleDTO *ov104_0223A580(BattleTower *battleTower, UnkStruct_ov104_02230BE4 *param1);
|
||||
void ov104_0223A734(BattleTower *battleTower, u16 param1);
|
||||
u16 ov104_0223A750(BattleTower *battleTower, const u16 *param1);
|
||||
int ov104_0223A768(u8 param0);
|
||||
int ov104_0223A77C(u8 param0);
|
||||
int ov104_0223A790(u8 param0);
|
||||
static BOOL ov104_0223A118(UnkStruct_0204AFC4 *param0, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8);
|
||||
static BOOL ov104_0223A118(BattleTower *battleTower, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8);
|
||||
static void ov104_0223A348(UnkStruct_ov104_0223A348 *param0, const u8 param1);
|
||||
static u32 ov104_0223A3A8(UnkStruct_0204AFC4 *param0, FrontierPokemonDataDTO *param1, u16 param2, u32 param3, u32 param4, u8 param5, u8 param6, BOOL param7, int param8);
|
||||
static u32 ov104_0223A700(u8 param0);
|
||||
static u32 ov104_0223A3A8(BattleTower *battleTower, FrontierPokemonDataDTO *param1, u16 param2, u32 param3, u32 param4, u8 param5, u8 param6, BOOL param7, int param8);
|
||||
static u32 BattleTower_GetBattleTypeFromChallengeMode(u8 challengeMode);
|
||||
static void ov104_0223A6AC(FieldBattleDTO *param0, UnkStruct_ov104_0223A348 *param1, int param2, int param3, int param4);
|
||||
static int ov104_0223A7AC(u8 param0);
|
||||
|
||||
BOOL ov104_0223A0C4(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID)
|
||||
BOOL ov104_0223A0C4(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID)
|
||||
{
|
||||
BOOL v0 = 0;
|
||||
BattleFrontierTrainerData *v1 = ov104_0222DD04(¶m1->unk_00, param2, heapID, ov104_0223A77C(param0->unk_0F));
|
||||
v0 = ov104_0223A118(param0, v1, param2, ¶m1->unk_30[0], param3, param4, param5, param6, heapID);
|
||||
BattleFrontierTrainerData *v1 = ov104_0222DD04(¶m1->unk_00, param2, heapID, ov104_0223A77C(battleTower->challengeMode));
|
||||
v0 = ov104_0223A118(battleTower, v1, param2, ¶m1->unk_30[0], param3, param4, param5, param6, heapID);
|
||||
|
||||
Heap_Free(v1);
|
||||
|
||||
return v0;
|
||||
}
|
||||
|
||||
static BOOL ov104_0223A118(UnkStruct_0204AFC4 *param0, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8)
|
||||
static BOOL ov104_0223A118(BattleTower *battleTower, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8)
|
||||
{
|
||||
int v0;
|
||||
u8 v2;
|
||||
|
|
@ -669,13 +670,13 @@ static BOOL ov104_0223A118(UnkStruct_0204AFC4 *param0, BattleFrontierTrainerData
|
|||
v9 = 0;
|
||||
|
||||
while (v8 != param4) {
|
||||
v3 = sub_0204AEC0(param0) % param1->numSets;
|
||||
v3 = sub_0204AEC0(battleTower) % param1->numSets;
|
||||
v5 = param1->setIDs[v3];
|
||||
|
||||
ov104_0222DCF4(&v12, v5, ov104_0223A768(param0->unk_0F));
|
||||
ov104_0222DCF4(&v12, v5, ov104_0223A768(battleTower->challengeMode));
|
||||
|
||||
for (v0 = 0; v0 < v8; v0++) {
|
||||
ov104_0222DCF4(&v11, v6[v0], ov104_0223A768(param0->unk_0F));
|
||||
ov104_0222DCF4(&v11, v6[v0], ov104_0223A768(battleTower->challengeMode));
|
||||
|
||||
if (v11.species == v12.species) {
|
||||
break;
|
||||
|
|
@ -700,7 +701,7 @@ static BOOL ov104_0223A118(UnkStruct_0204AFC4 *param0, BattleFrontierTrainerData
|
|||
|
||||
if (v9 < 50) {
|
||||
for (v0 = 0; v0 < v8; v0++) {
|
||||
ov104_0222DCF4(&v11, v6[v0], ov104_0223A768(param0->unk_0F));
|
||||
ov104_0222DCF4(&v11, v6[v0], ov104_0223A768(battleTower->challengeMode));
|
||||
|
||||
if ((v11.item) && (v11.item == v12.item)) {
|
||||
break;
|
||||
|
|
@ -731,14 +732,14 @@ static BOOL ov104_0223A118(UnkStruct_0204AFC4 *param0, BattleFrontierTrainerData
|
|||
}
|
||||
|
||||
v2 = sub_0204AE84(param2);
|
||||
v4 = (sub_0204AEC0(param0) | (sub_0204AEC0(param0) << 16));
|
||||
v4 = (sub_0204AEC0(battleTower) | (sub_0204AEC0(battleTower) << 16));
|
||||
|
||||
if (v9 >= 50) {
|
||||
v10 = 1;
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < v8; v0++) {
|
||||
v7[v0] = ov104_0223A3A8(param0, &(param3[v0]), v6[v0], v4, 0, v2, v0, v10, param8);
|
||||
v7[v0] = ov104_0223A3A8(battleTower, &(param3[v0]), v6[v0], v4, 0, v2, v0, v10, param8);
|
||||
}
|
||||
|
||||
if (param7 == NULL) {
|
||||
|
|
@ -793,7 +794,7 @@ static const u16 Unk_ov104_0223FCAC[] = {
|
|||
ITEM_QUICK_CLAW,
|
||||
};
|
||||
|
||||
static u32 ov104_0223A3A8(UnkStruct_0204AFC4 *param0, FrontierPokemonDataDTO *param1, u16 param2, u32 param3, u32 param4, u8 param5, u8 param6, BOOL param7, int param8)
|
||||
static u32 ov104_0223A3A8(BattleTower *battleTower, FrontierPokemonDataDTO *param1, u16 param2, u32 param3, u32 param4, u8 param5, u8 param6, BOOL param7, int param8)
|
||||
{
|
||||
int v0;
|
||||
int v1;
|
||||
|
|
@ -801,7 +802,7 @@ static u32 ov104_0223A3A8(UnkStruct_0204AFC4 *param0, FrontierPokemonDataDTO *pa
|
|||
BattleFrontierPokemonData v4;
|
||||
|
||||
MI_CpuClear8(param1, sizeof(FrontierPokemonDataDTO));
|
||||
ov104_0222DCF4(&v4, param2, ov104_0223A768(param0->unk_0F));
|
||||
ov104_0222DCF4(&v4, param2, ov104_0223A768(battleTower->challengeMode));
|
||||
|
||||
param1->species = v4.species;
|
||||
param1->form = v4.form;
|
||||
|
|
@ -826,7 +827,7 @@ static u32 ov104_0223A3A8(UnkStruct_0204AFC4 *param0, FrontierPokemonDataDTO *pa
|
|||
|
||||
if (param4 == 0) {
|
||||
do {
|
||||
v2 = (sub_0204AEC0(param0) | sub_0204AEC0(param0) << 16);
|
||||
v2 = (sub_0204AEC0(battleTower) | sub_0204AEC0(battleTower) << 16);
|
||||
} while ((v4.nature != Pokemon_GetNatureOf(v2)) || (Pokemon_IsPersonalityShiny(param3, v2) == 1));
|
||||
|
||||
param1->personality = v2;
|
||||
|
|
@ -883,11 +884,11 @@ static u32 ov104_0223A3A8(UnkStruct_0204AFC4 *param0, FrontierPokemonDataDTO *pa
|
|||
return v2;
|
||||
}
|
||||
|
||||
FieldBattleDTO *ov104_0223A580(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_02230BE4 *param1)
|
||||
FieldBattleDTO *ov104_0223A580(BattleTower *battleTower, UnkStruct_ov104_02230BE4 *param1)
|
||||
{
|
||||
int v0;
|
||||
|
||||
FieldBattleDTO *v3 = FieldBattleDTO_New(param0->heapID, ov104_0223A700(param0->unk_0F));
|
||||
FieldBattleDTO *v3 = FieldBattleDTO_New(battleTower->heapID, BattleTower_GetBattleTypeFromChallengeMode(battleTower->challengeMode));
|
||||
SaveData *saveData = param1->saveData;
|
||||
Party *party = SaveData_GetParty(saveData);
|
||||
|
||||
|
|
@ -896,13 +897,13 @@ FieldBattleDTO *ov104_0223A580(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_02230
|
|||
v3->background = BACKGROUND_BATTLE_TOWER;
|
||||
v3->terrain = TERRAIN_BATTLE_TOWER;
|
||||
|
||||
Pokemon *mon = Pokemon_New(param0->heapID);
|
||||
Pokemon *mon = Pokemon_New(battleTower->heapID);
|
||||
u8 level = 50;
|
||||
|
||||
Party_InitWithCapacity(v3->parties[BATTLER_PLAYER_1], param0->unk_0E);
|
||||
Party_InitWithCapacity(v3->parties[BATTLER_PLAYER_1], battleTower->partySize);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_0E; v0++) {
|
||||
Pokemon_Copy(Party_GetPokemonBySlotIndex(party, param0->unk_2A[v0]), mon);
|
||||
for (v0 = 0; v0 < battleTower->partySize; v0++) {
|
||||
Pokemon_Copy(Party_GetPokemonBySlotIndex(party, battleTower->unk_2A[v0]), mon);
|
||||
|
||||
if (Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL) > level) {
|
||||
u32 v2 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL), level);
|
||||
|
|
@ -917,19 +918,19 @@ FieldBattleDTO *ov104_0223A580(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_02230
|
|||
Heap_Free(mon);
|
||||
FieldBattleDTO_CopyPlayerInfoToTrainerData(v3);
|
||||
|
||||
ov104_0223A6AC(v3, &(param0->unk_78[0]), param0->unk_0E, BATTLER_ENEMY_1, param0->heapID);
|
||||
ov104_0223A6AC(v3, &(battleTower->unk_78[0]), battleTower->partySize, BATTLER_ENEMY_1, battleTower->heapID);
|
||||
|
||||
for (v0 = 0; v0 < MAX_BATTLERS; v0++) {
|
||||
v3->trainer[v0].header.aiMask = (0x1 | 0x2 | 0x4);
|
||||
}
|
||||
|
||||
switch (param0->unk_0F) {
|
||||
switch (battleTower->challengeMode) {
|
||||
case 2:
|
||||
ov104_0223A6AC(v3, &(param0->unk_298[param0->unk_10_5]), param0->unk_0E, BATTLER_PLAYER_2, param0->heapID);
|
||||
ov104_0223A6AC(v3, &(battleTower->unk_298[battleTower->unk_10_5]), battleTower->partySize, BATTLER_PLAYER_2, battleTower->heapID);
|
||||
// fall through
|
||||
case 3:
|
||||
case 6:
|
||||
ov104_0223A6AC(v3, &(param0->unk_78[1]), param0->unk_0E, BATTLER_ENEMY_2, param0->heapID);
|
||||
ov104_0223A6AC(v3, &(battleTower->unk_78[1]), battleTower->partySize, BATTLER_ENEMY_2, battleTower->heapID);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
@ -951,35 +952,35 @@ static void ov104_0223A6AC(FieldBattleDTO *param0, UnkStruct_ov104_0223A348 *par
|
|||
Heap_Free(mon);
|
||||
}
|
||||
|
||||
static u32 ov104_0223A700(u8 param0)
|
||||
static u32 BattleTower_GetBattleTypeFromChallengeMode(u8 challengeMode)
|
||||
{
|
||||
switch (param0) {
|
||||
case 0:
|
||||
case 4:
|
||||
switch (challengeMode) {
|
||||
case BATTLE_TOWER_MODE_SINGLE:
|
||||
case BATTLE_TOWER_MODE_WIFI:
|
||||
return (BATTLE_TYPE_SINGLES | BATTLE_TYPE_TRAINER) | BATTLE_TYPE_FRONTIER;
|
||||
case 1:
|
||||
case BATTLE_TOWER_MODE_DOUBLE:
|
||||
return BATTLE_TYPE_FRONTIER_DOUBLES;
|
||||
case 2:
|
||||
case BATTLE_TOWER_MODE_MULTI:
|
||||
return BATTLE_TYPE_FRONTIER_WITH_AI_PARTNER;
|
||||
case 3:
|
||||
case 6:
|
||||
case BATTLE_TOWER_MODE_LINK_MULTI:
|
||||
case BATTLE_TOWER_MODE_6:
|
||||
return (BATTLE_TYPE_LINK_DOUBLES | BATTLE_TYPE_2vs2) | BATTLE_TYPE_FRONTIER;
|
||||
}
|
||||
|
||||
return (BATTLE_TYPE_SINGLES | BATTLE_TYPE_TRAINER) | BATTLE_TYPE_FRONTIER;
|
||||
}
|
||||
|
||||
void ov104_0223A734(UnkStruct_0204AFC4 *param0, u16 param1)
|
||||
void ov104_0223A734(BattleTower *battleTower, u16 param1)
|
||||
{
|
||||
param0->unk_10_3 = param1;
|
||||
param0->unk_83E[0] = param1;
|
||||
battleTower->unk_10_3 = param1;
|
||||
battleTower->unk_83E[0] = param1;
|
||||
}
|
||||
|
||||
u16 ov104_0223A750(UnkStruct_0204AFC4 *param0, const u16 *param1)
|
||||
u16 ov104_0223A750(BattleTower *battleTower, const u16 *param1)
|
||||
{
|
||||
int v0;
|
||||
|
||||
if (param0->unk_10_3 || param1[0]) {
|
||||
if (battleTower->unk_10_3 || param1[0]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -612,7 +612,7 @@ static BOOL ov105_02241FF4(UnkStruct_ov105_02241FF4 *param0)
|
|||
switch (param0->unk_08) {
|
||||
case 0:
|
||||
if (ov104_0223AED4(param0->unk_09) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(237);
|
||||
}
|
||||
|
||||
|
|
@ -621,7 +621,7 @@ static BOOL ov105_02241FF4(UnkStruct_ov105_02241FF4 *param0)
|
|||
case 1:
|
||||
if (ov104_0223AED4(param0->unk_09) == 1) {
|
||||
if (CommTiming_IsSyncState(237) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
param0->unk_08++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -1250,14 +1250,14 @@ static BOOL ov105_02242D04(UnkStruct_ov105_02241FF4 *param0)
|
|||
if (ov105_02245620(param0, 8, 0) == 1) {
|
||||
param0->unk_10 = ov105_02244D14(param0, 2);
|
||||
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(164);
|
||||
param0->unk_08++;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (CommTiming_IsSyncState(164) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
|
|
@ -2024,7 +2024,7 @@ static BOOL ov105_0224439C(UnkStruct_ov105_02241FF4 *param0)
|
|||
case 0:
|
||||
param0->unk_10 = ov105_02244D14(param0, 15);
|
||||
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(165);
|
||||
|
||||
param0->unk_08++;
|
||||
|
|
@ -2032,7 +2032,7 @@ static BOOL ov105_0224439C(UnkStruct_ov105_02241FF4 *param0)
|
|||
break;
|
||||
case 1:
|
||||
if (CommTiming_IsSyncState(165) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -324,7 +324,7 @@ static BOOL ov106_02241D28(UnkStruct_ov106_02243118 *param0)
|
|||
switch (param0->unk_08) {
|
||||
case 0:
|
||||
if ((param0->unk_12 == 0) && (ov104_0223B5B0(param0->unk_09) == 1)) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(112);
|
||||
}
|
||||
|
||||
|
|
@ -333,7 +333,7 @@ static BOOL ov106_02241D28(UnkStruct_ov106_02243118 *param0)
|
|||
case 1:
|
||||
if ((param0->unk_12 == 0) && (ov104_0223B5B0(param0->unk_09) == 1)) {
|
||||
if (CommTiming_IsSyncState(112) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
param0->unk_12 = 1;
|
||||
param0->unk_08++;
|
||||
}
|
||||
|
|
@ -639,13 +639,13 @@ static BOOL ov106_02242108(UnkStruct_ov106_02243118 *param0)
|
|||
}
|
||||
break;
|
||||
case 8:
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(104);
|
||||
param0->unk_08 = 9;
|
||||
break;
|
||||
case 9:
|
||||
if (CommTiming_IsSyncState(104) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTool_Init(98);
|
||||
param0->unk_18 = 0xff;
|
||||
return 1;
|
||||
|
|
@ -662,13 +662,13 @@ static BOOL ov106_0224230C(UnkStruct_ov106_02243118 *param0)
|
|||
|
||||
switch (param0->unk_08) {
|
||||
case 0:
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(104);
|
||||
param0->unk_08++;
|
||||
break;
|
||||
case 1:
|
||||
if (CommTiming_IsSyncState(104) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -594,7 +594,7 @@ static BOOL ov107_02241D6C(UnkStruct_ov107_02241D6C *param0)
|
|||
switch (param0->unk_08) {
|
||||
case 0:
|
||||
if (ov104_0223BA14(param0->unk_09) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(215);
|
||||
}
|
||||
|
||||
|
|
@ -603,7 +603,7 @@ static BOOL ov107_02241D6C(UnkStruct_ov107_02241D6C *param0)
|
|||
case 1:
|
||||
if (ov104_0223BA14(param0->unk_09) == 1) {
|
||||
if (CommTiming_IsSyncState(215) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
param0->unk_08++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -1277,7 +1277,7 @@ static BOOL ov107_02242C64(UnkStruct_ov107_02241D6C *param0)
|
|||
param0->unk_0B--;
|
||||
|
||||
if (param0->unk_0B == 0) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(130);
|
||||
param0->unk_08++;
|
||||
break;
|
||||
|
|
@ -1285,7 +1285,7 @@ static BOOL ov107_02242C64(UnkStruct_ov107_02241D6C *param0)
|
|||
break;
|
||||
case 4:
|
||||
if (CommTiming_IsSyncState(130) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTool_Init(100);
|
||||
|
||||
param0->unk_12 = 0xff;
|
||||
|
|
@ -1322,14 +1322,14 @@ static BOOL ov107_02242D60(UnkStruct_ov107_02241D6C *param0)
|
|||
}
|
||||
|
||||
if (param0->unk_0B == 0) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(131);
|
||||
param0->unk_08++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (CommTiming_IsSyncState(131) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
ov107_02245288(¶m0->unk_50[6]);
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -389,7 +389,7 @@ static BOOL ov107_02246170(UnkStruct_ov107_02246170 *param0)
|
|||
switch (param0->unk_08) {
|
||||
case 0:
|
||||
if (ov104_0223BA14(param0->unk_09) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(216);
|
||||
}
|
||||
|
||||
|
|
@ -398,7 +398,7 @@ static BOOL ov107_02246170(UnkStruct_ov107_02246170 *param0)
|
|||
case 1:
|
||||
if (ov104_0223BA14(param0->unk_09) == 1) {
|
||||
if (CommTiming_IsSyncState(216) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
param0->unk_08++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -955,7 +955,7 @@ static BOOL ov107_02246BDC(UnkStruct_ov107_02246170 *param0)
|
|||
param0->unk_16--;
|
||||
|
||||
if (param0->unk_16 == 0) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(133);
|
||||
param0->unk_08++;
|
||||
break;
|
||||
|
|
@ -970,7 +970,7 @@ static BOOL ov107_02246BDC(UnkStruct_ov107_02246170 *param0)
|
|||
v0 = ov107_02249C9C(param0->unk_15, param0->unk_11);
|
||||
|
||||
if (ov107_02248674(param0, v0, param0->unk_13) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTool_Init(100);
|
||||
param0->unk_11 = 0xff;
|
||||
param0->unk_436 = 0;
|
||||
|
|
@ -999,14 +999,14 @@ static BOOL ov107_02246CD0(UnkStruct_ov107_02246170 *param0)
|
|||
}
|
||||
|
||||
if (param0->unk_16 == 0) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(134);
|
||||
param0->unk_08++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (CommTiming_IsSyncState(134) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
ov107_02248860(¶m0->unk_50[7]);
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -421,7 +421,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
|
|||
switch (param0->unk_08) {
|
||||
case 0:
|
||||
if (ov104_0223C000(param0->unk_09) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(199);
|
||||
param0->unk_08++;
|
||||
} else {
|
||||
|
|
@ -431,7 +431,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
|
|||
case 1:
|
||||
if (ov104_0223C000(param0->unk_09) == 1) {
|
||||
if (CommTiming_IsSyncState(199) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
param0->unk_08++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -452,7 +452,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
|
|||
break;
|
||||
case 5:
|
||||
if (ov104_0223C000(param0->unk_09) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(201);
|
||||
param0->unk_08++;
|
||||
} else {
|
||||
|
|
@ -462,7 +462,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
|
|||
case 6:
|
||||
if (ov104_0223C000(param0->unk_09) == 1) {
|
||||
if (CommTiming_IsSyncState(201) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
param0->unk_08++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -654,13 +654,13 @@ static BOOL ov108_02242104(UnkStruct_ov108_02241DB0 *param0)
|
|||
param0->unk_08++;
|
||||
break;
|
||||
case 3:
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(151);
|
||||
param0->unk_08++;
|
||||
break;
|
||||
case 4:
|
||||
if (CommTiming_IsSyncState(151) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTool_Init(103);
|
||||
param0->unk_0E = 0xff;
|
||||
return 1;
|
||||
|
|
@ -684,14 +684,14 @@ static BOOL ov108_02242198(UnkStruct_ov108_02241DB0 *param0)
|
|||
}
|
||||
|
||||
if (param0->unk_0B == 0) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
CommTiming_StartSync(152);
|
||||
param0->unk_08++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (CommTiming_IsSyncState(152) == 1) {
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -5001,7 +5001,7 @@ int LowestBit(u32 flag)
|
|||
return i;
|
||||
}
|
||||
|
||||
static const u16 sBattleFrontierBanlist[] = {
|
||||
static const u16 sBattleFrontierBanlist[BATTLE_FRONTIER_BANLIST_SIZE] = {
|
||||
SPECIES_MEWTWO,
|
||||
SPECIES_MEW,
|
||||
SPECIES_LUGIA,
|
||||
|
|
|
|||
121
src/scrcmd.c
121
src/scrcmd.c
|
|
@ -15,6 +15,7 @@
|
|||
#include "constants/species.h"
|
||||
#include "constants/string.h"
|
||||
#include "generated/accessories.h"
|
||||
#include "generated/comm_club_ret_codes.h"
|
||||
#include "generated/first_arrival_to_zones.h"
|
||||
#include "generated/journal_location_events.h"
|
||||
#include "generated/movement_actions.h"
|
||||
|
|
@ -290,7 +291,7 @@ static BOOL ScrCmd_1FB(ScriptContext *ctx);
|
|||
static BOOL ScrCmd_Unused_1FC(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_Unused_1FD(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_1FE(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_1FF(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_PrintBattleFrontierBanlist(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_26D(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_Message(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_MessageVar(ScriptContext *ctx);
|
||||
|
|
@ -370,7 +371,7 @@ static BOOL ScrCmd_1F8(ScriptContext *ctx);
|
|||
static BOOL ScrCmd_0A2(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_0A3(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_Unused_0A4(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_207(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_GetCurNetID(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_DrawPokemonPreview(ScriptContext *ctx);
|
||||
static void FieldSystem_WriteSpeciesSeen(FieldSystem *fieldSystem, u16 param1);
|
||||
static BOOL ScrCmd_209(ScriptContext *ctx);
|
||||
|
|
@ -426,9 +427,9 @@ static BOOL ScrCmd_ChangePlayerState(ScriptContext *ctx);
|
|||
static BOOL ScrCmd_GetPlayerStarterSpecies(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_GetSwarmMapAndSpecies(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_PrintTrainerDialogue(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_0F2(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_StartBattleClient(ScriptContext *ctx);
|
||||
static BOOL sub_02042F74(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_0F3(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_StartBattleServer(ScriptContext *ctx);
|
||||
static BOOL sub_0204300C(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_Unused_0F4(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_Unused_0F5(ScriptContext *ctx);
|
||||
|
|
@ -461,7 +462,7 @@ static BOOL ScrCmd_RegisterPoketchApp(ScriptContext *ctx);
|
|||
static BOOL ScrCmd_CheckPoketchAppRegistered(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_135(ScriptContext *ctx);
|
||||
static BOOL sub_02043678(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_136(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_ClearReceivedTempDataAllPlayers(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_Unused_137(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_138(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_139(ScriptContext *ctx);
|
||||
|
|
@ -493,8 +494,8 @@ static BOOL ScrCmd_14C(ScriptContext *ctx);
|
|||
static BOOL ScrCmd_GetPlayerGender(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_HealParty(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_14F(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_150(ScriptContext *ctx);
|
||||
static BOOL sub_02043C70(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_EndCommunication(ScriptContext *ctx);
|
||||
static BOOL ScriptContext_WaitForCommManIsDeleted(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_151(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_152(ScriptContext *ctx);
|
||||
static BOOL ScrCmd_SetObjectEventPos(ScriptContext *ctx);
|
||||
|
|
@ -1010,8 +1011,8 @@ const ScrCmdFunc Unk_020EAC58[] = {
|
|||
ScrCmd_StartDummyTrainerBattle,
|
||||
ScrCmd_SetTargetTrainerDefeated,
|
||||
ScrCmd_GoToIfTargetTrainerDefeated,
|
||||
ScrCmd_0F2,
|
||||
ScrCmd_0F3,
|
||||
ScrCmd_StartBattleClient,
|
||||
ScrCmd_StartBattleServer,
|
||||
ScrCmd_Unused_0F4,
|
||||
ScrCmd_Unused_0F5,
|
||||
ScrCmd_StartLinkBattle,
|
||||
|
|
@ -1078,7 +1079,7 @@ const ScrCmdFunc Unk_020EAC58[] = {
|
|||
ScrCmd_RegisterPoketchApp,
|
||||
ScrCmd_CheckPoketchAppRegistered,
|
||||
ScrCmd_135,
|
||||
ScrCmd_136,
|
||||
ScrCmd_ClearReceivedTempDataAllPlayers,
|
||||
ScrCmd_Unused_137,
|
||||
ScrCmd_138,
|
||||
ScrCmd_139,
|
||||
|
|
@ -1104,7 +1105,7 @@ const ScrCmdFunc Unk_020EAC58[] = {
|
|||
ScrCmd_GetPlayerGender,
|
||||
ScrCmd_HealParty,
|
||||
ScrCmd_14F,
|
||||
ScrCmd_150,
|
||||
ScrCmd_EndCommunication,
|
||||
ScrCmd_151,
|
||||
ScrCmd_152,
|
||||
ScrCmd_153,
|
||||
|
|
@ -1242,10 +1243,10 @@ const ScrCmdFunc Unk_020EAC58[] = {
|
|||
ScrCmd_1D7,
|
||||
ScrCmd_1D8,
|
||||
ScrCmd_1D9,
|
||||
ScrCmd_1DA,
|
||||
ScrCmd_1DB,
|
||||
ScrCmd_1DC,
|
||||
ScrCmd_1DD,
|
||||
ScrCmd_SetBattleTowerNull,
|
||||
ScrCmd_InitBattleTower,
|
||||
ScrCmd_FreeBattleTower,
|
||||
ScrCmd_CallBattleTowerFunction,
|
||||
ScrCmd_1DE,
|
||||
ScrCmd_1DF,
|
||||
ScrCmd_1E0,
|
||||
|
|
@ -1279,7 +1280,7 @@ const ScrCmdFunc Unk_020EAC58[] = {
|
|||
ScrCmd_Unused_1FC,
|
||||
ScrCmd_Unused_1FD,
|
||||
ScrCmd_1FE,
|
||||
ScrCmd_1FF,
|
||||
ScrCmd_PrintBattleFrontierBanlist,
|
||||
ScrCmd_GetPreviousMapID,
|
||||
ScrCmd_GetCurrentMapID,
|
||||
ScrCmd_StartEndSafariGame,
|
||||
|
|
@ -1287,7 +1288,7 @@ const ScrCmdFunc Unk_020EAC58[] = {
|
|||
ScrCmd_204,
|
||||
ScrCmd_205,
|
||||
ScrCmd_StartGreatMarshLookout,
|
||||
ScrCmd_207,
|
||||
ScrCmd_GetCurNetID,
|
||||
ScrCmd_DrawPokemonPreview,
|
||||
ScrCmd_209,
|
||||
ScrCmd_20A,
|
||||
|
|
@ -1584,7 +1585,7 @@ const ScrCmdFunc Unk_020EAC58[] = {
|
|||
ScrCmd_32D,
|
||||
ScrCmd_32E,
|
||||
ScrCmd_CheckPartyHasHeldItem,
|
||||
ScrCmd_330,
|
||||
ScrCmd_LogLinkInfoInWiFiHistory,
|
||||
ScrCmd_331,
|
||||
ScrCmd_332,
|
||||
ScrCmd_333,
|
||||
|
|
@ -2093,13 +2094,13 @@ static BOOL ScrCmd_1FE(ScriptContext *ctx)
|
|||
{
|
||||
u16 v3 = ScriptContext_ReadByte(ctx);
|
||||
|
||||
UnkStruct_0204AFC4 *v1 = ctx->fieldSystem->unk_AC;
|
||||
BattleTower *battleTower = ctx->fieldSystem->battleTower;
|
||||
|
||||
if (v1 == NULL) {
|
||||
if (battleTower == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u16 *v0 = v1->unk_78[v3].unk_00.unk_18;
|
||||
u16 *v0 = battleTower->unk_78[v3].unk_00.unk_18;
|
||||
|
||||
if (v0[0] == 0xFFFF) {
|
||||
MessageLoader *msgLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_UNK_0613, HEAP_ID_FIELD3);
|
||||
|
|
@ -2113,19 +2114,19 @@ static BOOL ScrCmd_1FE(ScriptContext *ctx)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL ScrCmd_1FF(ScriptContext *ctx)
|
||||
static BOOL ScrCmd_PrintBattleFrontierBanlist(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
u8 v1 = ScriptContext_ReadByte(ctx);
|
||||
u16 v2 = ScriptContext_GetVar(ctx);
|
||||
u16 v3 = ScriptContext_ReadHalfWord(ctx);
|
||||
u8 v4 = ScriptContext_ReadByte(ctx);
|
||||
u8 v5 = 0;
|
||||
u8 messageID = ScriptContext_ReadByte(ctx);
|
||||
u16 numRequiredEligiblePokemon = ScriptContext_GetVar(ctx);
|
||||
u16 unused3 = ScriptContext_ReadHalfWord(ctx);
|
||||
u8 unused4 = ScriptContext_ReadByte(ctx);
|
||||
u8 numBannedSpeciesSeen = 0;
|
||||
|
||||
StringTemplate *v6 = sub_0204AEE8(fieldSystem->saveData, v2, v3, v4, &v5);
|
||||
StringTemplate *strTemplate = BattleFrontier_GetStringWithSeenBannedSpecies(fieldSystem->saveData, numRequiredEligiblePokemon, unused3, unused4, &numBannedSpeciesSeen);
|
||||
|
||||
ScriptMessage_ShowTemplate(ctx, v6, v1 + v5, TRUE);
|
||||
StringTemplate_Free(v6);
|
||||
ScriptMessage_ShowTemplate(ctx, strTemplate, messageID + numBannedSpeciesSeen, TRUE);
|
||||
StringTemplate_Free(strTemplate);
|
||||
ScriptContext_Pause(ctx, ScriptContext_WaitForFinishedPrinting);
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -3836,11 +3837,11 @@ static BOOL ScrCmd_Unused_0A4(ScriptContext *ctx)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL ScrCmd_207(ScriptContext *ctx)
|
||||
static BOOL ScrCmd_GetCurNetID(ScriptContext *ctx)
|
||||
{
|
||||
u16 *v0 = ScriptContext_GetVarPointer(ctx);
|
||||
u16 *destVarID = ScriptContext_GetVarPointer(ctx);
|
||||
|
||||
*v0 = CommSys_CurNetId();
|
||||
*destVarID = CommSys_CurNetId();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -4650,16 +4651,16 @@ static BOOL ScrCmd_PrintTrainerDialogue(ScriptContext *ctx)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL ScrCmd_0F2(ScriptContext *ctx)
|
||||
static BOOL ScrCmd_StartBattleClient(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
u16 commType = ScriptContext_GetVar(ctx);
|
||||
u16 v2 = ScriptContext_GetVar(ctx);
|
||||
u16 v3 = ScriptContext_GetVar(ctx);
|
||||
u16 v4 = ScriptContext_ReadHalfWord(ctx);
|
||||
u16 destVarID = ScriptContext_ReadHalfWord(ctx);
|
||||
|
||||
ov7_0224B414(fieldSystem, commType, v2, v3);
|
||||
ctx->data[0] = v4;
|
||||
CommClub_StartBattleClient(fieldSystem, commType, v2, v3);
|
||||
ctx->data[0] = destVarID;
|
||||
ScriptContext_Pause(ctx, sub_02042F74);
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -4668,28 +4669,28 @@ static BOOL ScrCmd_0F2(ScriptContext *ctx)
|
|||
static BOOL sub_02042F74(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
u16 *v2 = FieldSystem_GetVarPointer(fieldSystem, ctx->data[0]);
|
||||
u16 *destVar = FieldSystem_GetVarPointer(fieldSystem, ctx->data[0]);
|
||||
|
||||
u32 v0 = ov7_0224B460();
|
||||
u32 retCode = CommClub_CheckWindowOpenClient();
|
||||
|
||||
if (v0 == 0) {
|
||||
if (retCode == COMM_CLUB_RET_0) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
*v2 = v0;
|
||||
*destVar = retCode;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL ScrCmd_0F3(ScriptContext *ctx)
|
||||
static BOOL ScrCmd_StartBattleServer(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
u16 commType = ScriptContext_GetVar(ctx);
|
||||
u16 v2 = ScriptContext_GetVar(ctx);
|
||||
u16 v3 = ScriptContext_GetVar(ctx);
|
||||
u16 v4 = ScriptContext_ReadHalfWord(ctx);
|
||||
u16 destVarID = ScriptContext_ReadHalfWord(ctx);
|
||||
|
||||
ov7_0224B47C(fieldSystem, commType, v2, v3);
|
||||
ctx->data[0] = v4;
|
||||
CommClub_StartBattleServer(fieldSystem, commType, v2, v3);
|
||||
ctx->data[0] = destVarID;
|
||||
ScriptContext_Pause(ctx, sub_0204300C);
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -4698,15 +4699,15 @@ static BOOL ScrCmd_0F3(ScriptContext *ctx)
|
|||
static BOOL sub_0204300C(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
u16 *v2 = FieldSystem_GetVarPointer(fieldSystem, ctx->data[0]);
|
||||
u16 *destVar = FieldSystem_GetVarPointer(fieldSystem, ctx->data[0]);
|
||||
|
||||
u32 v0 = CommClub_CheckWindowOpenClient();
|
||||
u32 retCode = CommClub_CheckWindowOpenServer();
|
||||
|
||||
if (v0 == 0) {
|
||||
if (retCode == COMM_CLUB_RET_0) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
*v2 = v0;
|
||||
*destVar = retCode;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -5017,11 +5018,11 @@ static BOOL ScrCmd_CheckPoketchAppRegistered(ScriptContext *ctx)
|
|||
|
||||
static BOOL ScrCmd_135(ScriptContext *ctx)
|
||||
{
|
||||
u16 v0 = ScriptContext_GetVar(ctx);
|
||||
u16 syncNo = ScriptContext_GetVar(ctx);
|
||||
|
||||
ctx->data[0] = v0;
|
||||
ctx->data[0] = syncNo;
|
||||
|
||||
CommTiming_StartSync(v0);
|
||||
CommTiming_StartSync(syncNo);
|
||||
ScriptContext_Pause(ctx, sub_02043678);
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -5032,7 +5033,7 @@ static BOOL sub_02043678(ScriptContext *ctx)
|
|||
int v0;
|
||||
|
||||
if (CommSys_ConnectedCount() < 2) {
|
||||
v0 = 1;
|
||||
v0 = TRUE;
|
||||
} else {
|
||||
v0 = CommTiming_IsSyncState(ctx->data[0]);
|
||||
}
|
||||
|
|
@ -5040,9 +5041,9 @@ static BOOL sub_02043678(ScriptContext *ctx)
|
|||
return v0;
|
||||
}
|
||||
|
||||
static BOOL ScrCmd_136(ScriptContext *ctx)
|
||||
static BOOL ScrCmd_ClearReceivedTempDataAllPlayers(ScriptContext *ctx)
|
||||
{
|
||||
sub_020365F4();
|
||||
CommTool_ClearReceivedTempDataAllPlayers();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -5366,14 +5367,14 @@ static BOOL ScrCmd_14F(ScriptContext *ctx)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL ScrCmd_150(ScriptContext *ctx)
|
||||
static BOOL ScrCmd_EndCommunication(ScriptContext *ctx)
|
||||
{
|
||||
FieldCommMan_EndBattle();
|
||||
ScriptContext_Pause(ctx, sub_02043C70);
|
||||
ScriptContext_Pause(ctx, ScriptContext_WaitForCommManIsDeleted);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL sub_02043C70(ScriptContext *ctx)
|
||||
static BOOL ScriptContext_WaitForCommManIsDeleted(ScriptContext *ctx)
|
||||
{
|
||||
if (CommMan_IsInitialized() != TRUE) {
|
||||
if (CommServerClient_IsInitialized() != TRUE) {
|
||||
|
|
@ -5387,7 +5388,7 @@ static BOOL sub_02043C70(ScriptContext *ctx)
|
|||
static BOOL ScrCmd_2BB(ScriptContext *ctx)
|
||||
{
|
||||
sub_020598A0();
|
||||
ScriptContext_Pause(ctx, sub_02043C70);
|
||||
ScriptContext_Pause(ctx, ScriptContext_WaitForCommManIsDeleted);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -7428,7 +7429,7 @@ static BOOL ScrCmd_2C4(ScriptContext *ctx)
|
|||
*v0 = v2;
|
||||
|
||||
if (v1 == 5 || v1 == 6) {
|
||||
v2->unk_00 = ctx->fieldSystem->unk_AC;
|
||||
v2->unk_00 = ctx->fieldSystem->battleTower;
|
||||
} else {
|
||||
v2->unk_00 = NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -176,12 +176,10 @@ void CommList_Refresh(void)
|
|||
}
|
||||
}
|
||||
|
||||
void sub_020365F4(void)
|
||||
void CommTool_ClearReceivedTempDataAllPlayers(void)
|
||||
{
|
||||
int v0;
|
||||
|
||||
for (v0 = 0; v0 < MAX_CONNECTED_PLAYERS; v0++) {
|
||||
sCommTool->hasRecievedTempData[v0] = 0;
|
||||
for (int i = 0; i < MAX_CONNECTED_PLAYERS; i++) {
|
||||
sCommTool->hasRecievedTempData[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,25 +10,22 @@
|
|||
#include "trainer_info.h"
|
||||
#include "unk_0202C858.h"
|
||||
|
||||
void sub_02038F8C(WiFiHistory *wiFiHistory)
|
||||
void WiFiHistory_FlagGeonetLinkInfo(WiFiHistory *wiFiHistory)
|
||||
{
|
||||
int v0;
|
||||
int v1, v2, v3;
|
||||
TrainerInfo *v4;
|
||||
int v5 = CommSys_ConnectedCount();
|
||||
int connectedCnt = CommSys_ConnectedCount();
|
||||
|
||||
if (CommInfo_TrainerInfo(0) == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < v5; v0++) {
|
||||
if (CommSys_CurNetId() != v0) {
|
||||
v1 = CommInfo_PlayerCountry(v0);
|
||||
v2 = CommInfo_PlayerRegion(v0);
|
||||
v4 = CommInfo_TrainerInfo(v0);
|
||||
v3 = TrainerInfo_RegionCode(v4);
|
||||
for (int i = 0; i < connectedCnt; i++) {
|
||||
if (CommSys_CurNetId() != i) {
|
||||
int country = CommInfo_PlayerCountry(i);
|
||||
int region = CommInfo_PlayerRegion(i);
|
||||
TrainerInfo *trainerInfo = CommInfo_TrainerInfo(i);
|
||||
int regionCode = TrainerInfo_RegionCode(trainerInfo);
|
||||
|
||||
WiFiHistory_FlagGeonetCommunicatedWith(wiFiHistory, v1, v2, v3);
|
||||
WiFiHistory_FlagGeonetCommunicatedWith(wiFiHistory, country, region, regionCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "generated/battle_tower_functions.h"
|
||||
#include "generated/game_records.h"
|
||||
|
||||
#include "struct_defs/struct_02049A68.h"
|
||||
|
|
@ -28,301 +29,296 @@
|
|||
#include "unk_0206B9D8.h"
|
||||
#include "unk_0209BA80.h"
|
||||
|
||||
static u16 sub_02049AE0(UnkStruct_0204AFC4 *param0, u8 param1);
|
||||
static u16 sub_02049AE0(BattleTower *battleTower, u8 param1);
|
||||
|
||||
BOOL ScrCmd_1DB(ScriptContext *param0)
|
||||
BOOL ScrCmd_InitBattleTower(ScriptContext *ctx)
|
||||
{
|
||||
u16 v0 = ScriptContext_ReadHalfWord(param0);
|
||||
u16 v1 = ScriptContext_ReadHalfWord(param0);
|
||||
u16 v0 = ScriptContext_ReadHalfWord(ctx);
|
||||
u16 challengeMode = ScriptContext_ReadHalfWord(ctx);
|
||||
|
||||
param0->fieldSystem->unk_AC = sub_0204A124(FieldSystem_GetSaveData(param0->fieldSystem), v0, v1);
|
||||
ctx->fieldSystem->battleTower = BattleTower_Init(FieldSystem_GetSaveData(ctx->fieldSystem), v0, challengeMode);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_SetBattleTowerNull(ScriptContext *ctx)
|
||||
{
|
||||
BattleTower_SetNull(&(ctx->fieldSystem->battleTower));
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_1DA(ScriptContext *param0)
|
||||
BOOL ScrCmd_FreeBattleTower(ScriptContext *ctx)
|
||||
{
|
||||
sub_0204A110(&(param0->fieldSystem->unk_AC));
|
||||
return 0;
|
||||
BattleTower_Free(ctx->fieldSystem->battleTower);
|
||||
ctx->fieldSystem->battleTower = NULL;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_1DC(ScriptContext *param0)
|
||||
BOOL ScrCmd_CallBattleTowerFunction(ScriptContext *ctx)
|
||||
{
|
||||
UnkStruct_0204AFC4 *v0;
|
||||
void **partyMenu;
|
||||
|
||||
sub_0204A32C(param0->fieldSystem->unk_AC);
|
||||
param0->fieldSystem->unk_AC = NULL;
|
||||
u16 functionIndex = ScriptContext_ReadHalfWord(ctx);
|
||||
u16 functionArgument = ScriptContext_GetVar(ctx);
|
||||
u16 varID = ScriptContext_ReadHalfWord(ctx);
|
||||
u16 *destVar = FieldSystem_GetVarPointer(ctx->fieldSystem, varID);
|
||||
BattleTower *battleTower = ctx->fieldSystem->battleTower;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_1DD(ScriptContext *param0)
|
||||
{
|
||||
u16 v0, v1, v2;
|
||||
u16 *v3, *v4;
|
||||
void **v5;
|
||||
UnkStruct_0204AFC4 *v6;
|
||||
|
||||
v0 = ScriptContext_ReadHalfWord(param0);
|
||||
v1 = ScriptContext_GetVar(param0);
|
||||
v2 = ScriptContext_ReadHalfWord(param0);
|
||||
v3 = FieldSystem_GetVarPointer(param0->fieldSystem, v2);
|
||||
v6 = param0->fieldSystem->unk_AC;
|
||||
|
||||
switch (v0) {
|
||||
case 1:
|
||||
if (v1 == 0) {
|
||||
*v3 = sub_02049EC4(v6->unk_0E, param0->fieldSystem->saveData, 1);
|
||||
switch (functionIndex) {
|
||||
case BATTLE_TOWER_FUNCTION_CHECK_ENOUGH_VALID_POKEMON: // enough pokemon?
|
||||
if (functionArgument == 0) {
|
||||
*destVar = sub_02049EC4(battleTower->partySize, ctx->fieldSystem->saveData, 1);
|
||||
} else {
|
||||
*v3 = sub_02049EC4(v1, param0->fieldSystem->saveData, 1);
|
||||
*destVar = sub_02049EC4(functionArgument, ctx->fieldSystem->saveData, 1);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case BATTLE_TOWER_FUNCTION_UNK_02:
|
||||
sub_02049F8C();
|
||||
break;
|
||||
case 3:
|
||||
sub_02049F98(sub_0202D740(param0->fieldSystem->saveData));
|
||||
case BATTLE_TOWER_FUNCTION_UNK_03:
|
||||
sub_02049F98(sub_0202D740(ctx->fieldSystem->saveData));
|
||||
break;
|
||||
case 4:
|
||||
*v3 = sub_02049FA0(sub_0202D740(param0->fieldSystem->saveData));
|
||||
case BATTLE_TOWER_FUNCTION_UNK_04:
|
||||
*destVar = sub_02049FA0(sub_0202D740(ctx->fieldSystem->saveData));
|
||||
break;
|
||||
case 5:
|
||||
sub_02049FA8(param0->fieldSystem);
|
||||
case BATTLE_TOWER_FUNCTION_SET_COMMUNICATION_CLUB_ACCESSIBLE:
|
||||
BattleTower_SetCommunicationClubAccessible(ctx->fieldSystem);
|
||||
break;
|
||||
case 6:
|
||||
sub_02049FE8(param0->fieldSystem);
|
||||
case BATTLE_TOWER_FUNCTION_CLEAR_COMMUNICATION_CLUB_ACCESSIBLE:
|
||||
BattleTower_ClearCommunicationClubAccessible(ctx->fieldSystem);
|
||||
break;
|
||||
case 8:
|
||||
*v3 = sub_02049FF8(param0->fieldSystem->saveData, v1);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_08:
|
||||
*destVar = sub_02049FF8(ctx->fieldSystem->saveData, functionArgument);
|
||||
break;
|
||||
case 9:
|
||||
*v3 = sub_0204AABC(NULL, param0->fieldSystem->saveData, 2);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_09:
|
||||
*destVar = sub_0204AABC(NULL, ctx->fieldSystem->saveData, 2);
|
||||
break;
|
||||
case 10:
|
||||
*v3 = sub_0204AABC(NULL, param0->fieldSystem->saveData, 0);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_10:
|
||||
*destVar = sub_0204AABC(NULL, ctx->fieldSystem->saveData, 0);
|
||||
break;
|
||||
case 11:
|
||||
sub_0204A030(param0->fieldSystem->saveData, v1);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_11:
|
||||
sub_0204A030(ctx->fieldSystem->saveData, functionArgument);
|
||||
break;
|
||||
case 12:
|
||||
*v3 = sub_0204A050(param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_12:
|
||||
*destVar = sub_0204A050(ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case 14:
|
||||
*v3 = sub_0204A064(param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_14:
|
||||
*destVar = sub_0204A064(ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case 15:
|
||||
*v3 = sub_0204A100(param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_15:
|
||||
*destVar = sub_0204A100(ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case 16:
|
||||
sub_0206BCE4(param0->task, v1, v2, *v3);
|
||||
return 1;
|
||||
case (30 + 0):
|
||||
v5 = FieldSystem_GetScriptMemberPtr(param0->fieldSystem, 19);
|
||||
sub_0204A358(v6, param0->task, v5);
|
||||
return 1;
|
||||
case (30 + 1):
|
||||
v5 = FieldSystem_GetScriptMemberPtr(param0->fieldSystem, 19);
|
||||
*v3 = sub_0204A378(v6, v5, param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_16:
|
||||
sub_0206BCE4(ctx->task, functionArgument, varID, *destVar);
|
||||
return TRUE;
|
||||
case BATTLE_TOWER_FUNCTION_UNK_30:
|
||||
partyMenu = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_PARTY_MANAGEMENT_DATA);
|
||||
sub_0204A358(battleTower, ctx->task, partyMenu);
|
||||
return TRUE;
|
||||
case BATTLE_TOWER_FUNCTION_UNK_31:
|
||||
partyMenu = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_PARTY_MANAGEMENT_DATA);
|
||||
*destVar = sub_0204A378(battleTower, partyMenu, ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case (30 + 2):
|
||||
*v3 = sub_0204A410(v6, param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_CHECK_DUPLICATE_SPECIES_AND_HELD_ITEMS:
|
||||
*destVar = BattleTower_CheckDuplicateSpeciesAndHeldItems(battleTower, ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case (30 + 5):
|
||||
*v3 = sub_0204A57C(v6);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_35:
|
||||
*destVar = sub_0204A57C(battleTower);
|
||||
break;
|
||||
case (30 + 7):
|
||||
sub_0204A660(v6, param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_37:
|
||||
sub_0204A660(battleTower, ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case (30 + 8):
|
||||
sub_0204A7A4(v6, param0->fieldSystem->saveData, param0->fieldSystem->journalEntry);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_38:
|
||||
sub_0204A7A4(battleTower, ctx->fieldSystem->saveData, ctx->fieldSystem->journalEntry);
|
||||
break;
|
||||
case (30 + 9):
|
||||
sub_0204A8C8(v6);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_39:
|
||||
sub_0204A8C8(battleTower);
|
||||
break;
|
||||
case (30 + 26):
|
||||
sub_0204A97C(v6);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_56:
|
||||
sub_0204A97C(battleTower);
|
||||
break;
|
||||
case (30 + 11):
|
||||
*v3 = sub_0204A9E0(v6, v1);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_41:
|
||||
*destVar = sub_0204A9E0(battleTower, functionArgument);
|
||||
break;
|
||||
case (30 + 13):
|
||||
*v3 = (u16)sub_0204A9F8(v6);
|
||||
case BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE:
|
||||
*destVar = (u16)BattleTower_GetChallengeMode(battleTower);
|
||||
break;
|
||||
case (30 + 15):
|
||||
*v3 = sub_0204A9FC(v6);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_45:
|
||||
*destVar = sub_0204A9FC(battleTower);
|
||||
break;
|
||||
case (30 + 17):
|
||||
sub_0204AA7C(v6, param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_47:
|
||||
sub_0204AA7C(battleTower, ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case (30 + 18):
|
||||
*v3 = sub_0204AB68(v6, param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_48:
|
||||
*destVar = sub_0204AB68(battleTower, ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case (30 + 19):
|
||||
*v3 = sub_0204ABA0(v6, param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_49:
|
||||
*destVar = sub_0204ABA0(battleTower, ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case (30 + 20):
|
||||
v6->unk_10_5 = v1;
|
||||
case BATTLE_TOWER_FUNCTION_UNK_50:
|
||||
battleTower->unk_10_5 = functionArgument;
|
||||
break;
|
||||
case (30 + 21):
|
||||
*v3 = v6->unk_10_5;
|
||||
case BATTLE_TOWER_FUNCTION_UNK_51:
|
||||
*destVar = battleTower->unk_10_5;
|
||||
break;
|
||||
case (30 + 22):
|
||||
sub_0204A4C8(v6, param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_52:
|
||||
sub_0204A4C8(battleTower, ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case (30 + 23):
|
||||
*v3 = v6->unk_2A[v1];
|
||||
case BATTLE_TOWER_FUNCTION_GET_SLOT_INDEX:
|
||||
*destVar = battleTower->unk_2A[functionArgument];
|
||||
break;
|
||||
case (30 + 24):
|
||||
*v3 = sub_0204AABC(v6, param0->fieldSystem->saveData, 1);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_54:
|
||||
*destVar = sub_0204AABC(battleTower, ctx->fieldSystem->saveData, 1);
|
||||
break;
|
||||
case (30 + 25):
|
||||
*v3 = sub_02049AE0(v6, v1);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_55:
|
||||
*destVar = sub_02049AE0(battleTower, functionArgument);
|
||||
break;
|
||||
case (30 + 27):
|
||||
*v3 = sub_0204ABF4(v6, param0->fieldSystem->saveData);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_57:
|
||||
*destVar = sub_0204ABF4(battleTower, ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case 100:
|
||||
if (v6 == NULL) {
|
||||
*v3 = 1;
|
||||
case BATTLE_TOWER_FUNCTION_CHECK_IS_NULL:
|
||||
if (battleTower == NULL) {
|
||||
*destVar = TRUE;
|
||||
} else {
|
||||
*v3 = 0;
|
||||
*destVar = FALSE;
|
||||
}
|
||||
break;
|
||||
case (30 + 28):
|
||||
MI_CpuClear8(v6->unk_884, 70);
|
||||
case BATTLE_TOWER_FUNCTION_UNK_58:
|
||||
MI_CpuClear8(battleTower->unk_884, 70);
|
||||
break;
|
||||
default:
|
||||
GF_ASSERT(FALSE);
|
||||
*v3 = 0;
|
||||
*destVar = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_1DE(ScriptContext *param0)
|
||||
BOOL ScrCmd_1DE(ScriptContext *ctx)
|
||||
{
|
||||
u16 v0, v1;
|
||||
u16 *v2, *v3;
|
||||
UnkStruct_0204AFC4 *v4 = param0->fieldSystem->unk_AC;
|
||||
BattleTower *battleTower = ctx->fieldSystem->battleTower;
|
||||
|
||||
v0 = ScriptContext_GetVar(param0);
|
||||
v1 = ScriptContext_GetVar(param0);
|
||||
v2 = FieldSystem_GetVarPointer(param0->fieldSystem, ScriptContext_ReadHalfWord(param0));
|
||||
v3 = FieldSystem_GetVarPointer(param0->fieldSystem, ScriptContext_ReadHalfWord(param0));
|
||||
v0 = ScriptContext_GetVar(ctx);
|
||||
v1 = ScriptContext_GetVar(ctx);
|
||||
v2 = FieldSystem_GetVarPointer(ctx->fieldSystem, ScriptContext_ReadHalfWord(ctx));
|
||||
v3 = FieldSystem_GetVarPointer(ctx->fieldSystem, ScriptContext_ReadHalfWord(ctx));
|
||||
|
||||
*v2 = v4->unk_298[v0].unk_30[v1].species;
|
||||
*v3 = v4->unk_298[v0].unk_30[v1].moves[0];
|
||||
*v2 = battleTower->unk_298[v0].unk_30[v1].species;
|
||||
*v3 = battleTower->unk_298[v0].unk_30[v1].moves[0];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_1DF(ScriptContext *param0)
|
||||
BOOL ScrCmd_1DF(ScriptContext *ctx)
|
||||
{
|
||||
u16 v0, v1, v2;
|
||||
u16 *v3;
|
||||
|
||||
v0 = ScriptContext_ReadHalfWord(param0);
|
||||
v3 = FieldSystem_GetVarPointer(param0->fieldSystem, v0);
|
||||
*v3 = sub_0206BDBC(param0->fieldSystem->saveData);
|
||||
v0 = ScriptContext_ReadHalfWord(ctx);
|
||||
v3 = FieldSystem_GetVarPointer(ctx->fieldSystem, v0);
|
||||
*v3 = sub_0206BDBC(ctx->fieldSystem->saveData);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_1E0(ScriptContext *param0)
|
||||
BOOL ScrCmd_1E0(ScriptContext *ctx)
|
||||
{
|
||||
u16 v0, v1, v2;
|
||||
u16 *v3;
|
||||
|
||||
v0 = ScriptContext_ReadHalfWord(param0);
|
||||
v3 = FieldSystem_GetVarPointer(param0->fieldSystem, v0);
|
||||
*v3 = sub_0206BF04(param0->fieldSystem->saveData);
|
||||
v0 = ScriptContext_ReadHalfWord(ctx);
|
||||
v3 = FieldSystem_GetVarPointer(ctx->fieldSystem, v0);
|
||||
*v3 = sub_0206BF04(ctx->fieldSystem->saveData);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_1E1(ScriptContext *param0)
|
||||
BOOL ScrCmd_1E1(ScriptContext *ctx)
|
||||
{
|
||||
int v0, v1;
|
||||
int cmd, v1;
|
||||
const TrainerInfo *v2;
|
||||
u16 v3 = ScriptContext_GetVar(param0);
|
||||
u16 v4 = ScriptContext_GetVar(param0);
|
||||
u16 *v5 = ScriptContext_GetVarPointer(param0);
|
||||
UnkStruct_0204AFC4 *v6 = param0->fieldSystem->unk_AC;
|
||||
u16 v3 = ScriptContext_GetVar(ctx);
|
||||
u16 v4 = ScriptContext_GetVar(ctx);
|
||||
u16 *destVar = ScriptContext_GetVarPointer(ctx);
|
||||
BattleTower *battleTower = ctx->fieldSystem->battleTower;
|
||||
|
||||
*v5 = 0;
|
||||
*destVar = 0;
|
||||
|
||||
switch (v3) {
|
||||
case 0:
|
||||
v0 = 62;
|
||||
sub_0204B060(param0->fieldSystem->unk_AC, param0->fieldSystem->saveData);
|
||||
cmd = 62;
|
||||
sub_0204B060(ctx->fieldSystem->battleTower, ctx->fieldSystem->saveData);
|
||||
break;
|
||||
case 1:
|
||||
v0 = 63;
|
||||
sub_0204B0BC(param0->fieldSystem->unk_AC);
|
||||
cmd = 63;
|
||||
sub_0204B0BC(ctx->fieldSystem->battleTower);
|
||||
break;
|
||||
case 2:
|
||||
v0 = 64;
|
||||
sub_0204B0D4(param0->fieldSystem->unk_AC, v4);
|
||||
cmd = 64;
|
||||
sub_0204B0D4(ctx->fieldSystem->battleTower, v4);
|
||||
break;
|
||||
}
|
||||
|
||||
if (sub_0205E6D8(param0->fieldSystem->saveData) == 1) {
|
||||
if (sub_02036614(CommSys_CurNetId(), v6->unk_83E) == 1) {
|
||||
*v5 = 1;
|
||||
if (sub_0205E6D8(ctx->fieldSystem->saveData) == 1) {
|
||||
if (sub_02036614(CommSys_CurNetId(), battleTower->unk_83E) == 1) {
|
||||
*destVar = 1;
|
||||
} else {
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
} else {
|
||||
sub_0209BA80(v6);
|
||||
sub_0209BA80(battleTower);
|
||||
|
||||
v1 = 70;
|
||||
|
||||
if (CommSys_SendData(v0, v6->unk_83E, v1) == 1) {
|
||||
*v5 = 1;
|
||||
if (CommSys_SendData(cmd, battleTower->unk_83E, v1) == 1) {
|
||||
*destVar = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL sub_02049A20(ScriptContext *param0);
|
||||
static BOOL sub_02049A20(ScriptContext *ctx);
|
||||
|
||||
BOOL ScrCmd_1E2(ScriptContext *param0)
|
||||
BOOL ScrCmd_1E2(ScriptContext *ctx)
|
||||
{
|
||||
u16 v0;
|
||||
u16 v1;
|
||||
UnkStruct_0204AFC4 *v2 = param0->fieldSystem->unk_AC;
|
||||
u16 destVarID;
|
||||
BattleTower *battleTower = ctx->fieldSystem->battleTower;
|
||||
|
||||
v1 = ScriptContext_GetVar(param0);
|
||||
v0 = ScriptContext_ReadHalfWord(param0);
|
||||
destVarID = ScriptContext_GetVar(ctx);
|
||||
v0 = ScriptContext_ReadHalfWord(ctx);
|
||||
|
||||
if (sub_0205E6D8(param0->fieldSystem->saveData) == 1) {
|
||||
sub_0206BD88(param0->fieldSystem->task, v1, v0);
|
||||
if (sub_0205E6D8(ctx->fieldSystem->saveData) == 1) {
|
||||
sub_0206BD88(ctx->fieldSystem->task, destVarID, v0);
|
||||
} else {
|
||||
v2->unk_8DA = v0;
|
||||
v2->unk_8D5 = v1;
|
||||
battleTower->unk_8DA = v0;
|
||||
battleTower->unk_8D5 = destVarID;
|
||||
|
||||
ScriptContext_Pause(param0, sub_02049A20);
|
||||
ScriptContext_Pause(ctx, sub_02049A20);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL sub_02049A20(ScriptContext *param0)
|
||||
static BOOL sub_02049A20(ScriptContext *ctx)
|
||||
{
|
||||
u8 v0;
|
||||
UnkStruct_0204AFC4 *v1 = param0->fieldSystem->unk_AC;
|
||||
u16 *v2 = FieldSystem_GetVarPointer(param0->fieldSystem, v1->unk_8DA);
|
||||
BattleTower *battleTower = ctx->fieldSystem->battleTower;
|
||||
u16 *v2 = FieldSystem_GetVarPointer(ctx->fieldSystem, battleTower->unk_8DA);
|
||||
|
||||
if (v1->unk_8D5 == 1) {
|
||||
if (battleTower->unk_8D5 == 1) {
|
||||
v0 = 1;
|
||||
} else {
|
||||
v0 = 2;
|
||||
}
|
||||
|
||||
if (v1->unk_8D4 == v0) {
|
||||
v1->unk_8D4 = 0;
|
||||
*v2 = v1->unk_8D8;
|
||||
if (battleTower->unk_8D4 == v0) {
|
||||
battleTower->unk_8D4 = 0;
|
||||
*v2 = battleTower->unk_8D8;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -330,13 +326,13 @@ static BOOL sub_02049A20(ScriptContext *param0)
|
|||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_1E3(ScriptContext *param0)
|
||||
BOOL ScrCmd_1E3(ScriptContext *ctx)
|
||||
{
|
||||
UnkStruct_02049A68 v0;
|
||||
u16 *v1 = FieldSystem_GetVarPointer(param0->fieldSystem, ScriptContext_ReadHalfWord(param0));
|
||||
u16 *v2 = FieldSystem_GetVarPointer(param0->fieldSystem, ScriptContext_ReadHalfWord(param0));
|
||||
u16 *v1 = FieldSystem_GetVarPointer(ctx->fieldSystem, ScriptContext_ReadHalfWord(ctx));
|
||||
u16 *v2 = FieldSystem_GetVarPointer(ctx->fieldSystem, ScriptContext_ReadHalfWord(ctx));
|
||||
|
||||
sub_0202D708(sub_0202D764(param0->fieldSystem->saveData), &v0);
|
||||
sub_0202D708(sub_0202D764(ctx->fieldSystem->saveData), &v0);
|
||||
|
||||
*v1 = v0.unk_00;
|
||||
*v2 = v0.unk_04;
|
||||
|
|
@ -344,15 +340,15 @@ BOOL ScrCmd_1E3(ScriptContext *param0)
|
|||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_1E4(ScriptContext *param0)
|
||||
BOOL ScrCmd_1E4(ScriptContext *ctx)
|
||||
{
|
||||
u16 *v0 = FieldSystem_GetVarPointer(param0->fieldSystem, ScriptContext_ReadHalfWord(param0));
|
||||
u16 *destVar = FieldSystem_GetVarPointer(ctx->fieldSystem, ScriptContext_ReadHalfWord(ctx));
|
||||
|
||||
*v0 = sub_0202D5F0(sub_0202D764(param0->fieldSystem->saveData));
|
||||
return 0;
|
||||
*destVar = sub_0202D5F0(sub_0202D764(ctx->fieldSystem->saveData));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static u16 sub_02049AE0(UnkStruct_0204AFC4 *param0, u8 param1)
|
||||
static u16 sub_02049AE0(BattleTower *battleTower, u8 param1)
|
||||
{
|
||||
static const u16 v0[] = {
|
||||
0x8d,
|
||||
|
|
@ -363,14 +359,14 @@ static u16 sub_02049AE0(UnkStruct_0204AFC4 *param0, u8 param1)
|
|||
};
|
||||
|
||||
if (param1 == 2) {
|
||||
return param0->unk_10_5;
|
||||
return battleTower->unk_10_5;
|
||||
}
|
||||
|
||||
if (param1 == 1) {
|
||||
if (param0->unk_0F == 2) {
|
||||
return v0[param0->unk_10_5];
|
||||
if (battleTower->challengeMode == 2) {
|
||||
return v0[battleTower->unk_10_5];
|
||||
} else {
|
||||
if (param0->unk_12) {
|
||||
if (battleTower->unk_12) {
|
||||
return 0x61;
|
||||
} else {
|
||||
return 0x0;
|
||||
|
|
@ -378,83 +374,83 @@ static u16 sub_02049AE0(UnkStruct_0204AFC4 *param0, u8 param1)
|
|||
}
|
||||
}
|
||||
|
||||
if (param0->unk_11) {
|
||||
if (battleTower->unk_11) {
|
||||
return 0x61;
|
||||
} else {
|
||||
return 0x0;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL ScrCmd_ShowBattlePoints(ScriptContext *param0)
|
||||
BOOL ScrCmd_ShowBattlePoints(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = param0->fieldSystem;
|
||||
u8 tilemapLeft = ScriptContext_ReadByte(param0);
|
||||
u8 tilemapTop = ScriptContext_ReadByte(param0);
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
u8 tilemapLeft = ScriptContext_ReadByte(ctx);
|
||||
u8 tilemapTop = ScriptContext_ReadByte(ctx);
|
||||
Window **bpWindow = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_SPECIAL_CURRENCY_WINDOW);
|
||||
*bpWindow = FieldMenu_DrawBPWindow(param0->fieldSystem, tilemapLeft, tilemapTop);
|
||||
*bpWindow = FieldMenu_DrawBPWindow(ctx->fieldSystem, tilemapLeft, tilemapTop);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_HideBattlePoints(ScriptContext *param0)
|
||||
BOOL ScrCmd_HideBattlePoints(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = param0->fieldSystem;
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
Window **bpWindow = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_SPECIAL_CURRENCY_WINDOW);
|
||||
|
||||
FieldMenu_DeleteSpecialCurrencyWindow(*bpWindow);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_UpdateBPDisplay(ScriptContext *param0)
|
||||
BOOL ScrCmd_UpdateBPDisplay(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = param0->fieldSystem;
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
Window **bpWindow = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_SPECIAL_CURRENCY_WINDOW);
|
||||
|
||||
FieldMenu_PrintBPToWindow(param0->fieldSystem, *bpWindow);
|
||||
FieldMenu_PrintBPToWindow(ctx->fieldSystem, *bpWindow);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_297(ScriptContext *param0)
|
||||
BOOL ScrCmd_297(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = param0->fieldSystem;
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
SaveData *saveData = fieldSystem->saveData;
|
||||
u16 *v2 = ScriptContext_GetVarPointer(param0);
|
||||
u16 *v2 = ScriptContext_GetVarPointer(ctx);
|
||||
|
||||
*v2 = sub_0202D230(sub_0202D750(saveData), 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_298(ScriptContext *param0)
|
||||
BOOL ScrCmd_298(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = param0->fieldSystem;
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
SaveData *saveData = fieldSystem->saveData;
|
||||
u16 v2 = ScriptContext_GetVar(param0);
|
||||
u16 v2 = ScriptContext_GetVar(ctx);
|
||||
|
||||
GameRecords_AddToRecordValue(SaveData_GetGameRecords(param0->fieldSystem->saveData), RECORD_UNK_068, v2);
|
||||
GameRecords_AddToRecordValue(SaveData_GetGameRecords(ctx->fieldSystem->saveData), RECORD_UNK_068, v2);
|
||||
sub_0202D230(sub_0202D750(saveData), v2, 5);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_299(ScriptContext *param0)
|
||||
BOOL ScrCmd_299(ScriptContext *ctx)
|
||||
{
|
||||
FieldSystem *fieldSystem = param0->fieldSystem;
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
SaveData *saveData = fieldSystem->saveData;
|
||||
u16 v2 = ScriptContext_GetVar(param0);
|
||||
u16 v2 = ScriptContext_GetVar(ctx);
|
||||
|
||||
GameRecords_AddToRecordValue(SaveData_GetGameRecords(param0->fieldSystem->saveData), RECORD_UNK_069, v2);
|
||||
GameRecords_AddToRecordValue(SaveData_GetGameRecords(ctx->fieldSystem->saveData), RECORD_UNK_069, v2);
|
||||
sub_0202D230(sub_0202D750(saveData), v2, 6);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_29A(ScriptContext *param0)
|
||||
BOOL ScrCmd_29A(ScriptContext *ctx)
|
||||
{
|
||||
u16 v0;
|
||||
FieldSystem *fieldSystem = param0->fieldSystem;
|
||||
FieldSystem *fieldSystem = ctx->fieldSystem;
|
||||
SaveData *saveData = fieldSystem->saveData;
|
||||
u16 v3 = ScriptContext_GetVar(param0);
|
||||
u16 *v4 = ScriptContext_GetVarPointer(param0);
|
||||
u16 v3 = ScriptContext_GetVar(ctx);
|
||||
u16 *v4 = ScriptContext_GetVarPointer(ctx);
|
||||
|
||||
v0 = sub_0202D230(
|
||||
sub_0202D750(saveData), 0, 0);
|
||||
|
|
@ -468,13 +464,13 @@ BOOL ScrCmd_29A(ScriptContext *param0)
|
|||
return 0;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_29B(ScriptContext *param0)
|
||||
BOOL ScrCmd_29B(ScriptContext *ctx)
|
||||
{
|
||||
u8 v0 = 0;
|
||||
u16 v1 = ScriptContext_GetVar(param0);
|
||||
u16 v2 = ScriptContext_GetVar(param0);
|
||||
u16 *v3 = ScriptContext_GetVarPointer(param0);
|
||||
u16 *v4 = ScriptContext_GetVarPointer(param0);
|
||||
u16 v1 = ScriptContext_GetVar(ctx);
|
||||
u16 v2 = ScriptContext_GetVar(ctx);
|
||||
u16 *v3 = ScriptContext_GetVarPointer(ctx);
|
||||
u16 *v4 = ScriptContext_GetVarPointer(ctx);
|
||||
static const u16 v5[][2] = {
|
||||
{ 0x2E, 0x1 },
|
||||
{ 0x31, 0x1 },
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "generated/battle_tower_modes.h"
|
||||
#include "generated/game_records.h"
|
||||
#include "generated/trainer_score_events.h"
|
||||
|
||||
|
|
@ -46,22 +47,22 @@ typedef struct {
|
|||
u16 unk_02;
|
||||
} UnkStruct_02049D38;
|
||||
|
||||
static u16 sub_0204AC54(SaveData *saveData, u8 param1, UnkStruct_0204AFC4 *param2);
|
||||
static u16 sub_0204ACC8(UnkStruct_0204AFC4 *param0);
|
||||
static void sub_0204AE20(UnkStruct_0204AFC4 *param0, SaveData *saveData, int param2);
|
||||
static u16 sub_0204AC54(SaveData *saveData, enum PokemonDataParam param, BattleTower *battleTower);
|
||||
static u16 sub_0204ACC8(BattleTower *battleTower);
|
||||
static void sub_0204AE20(BattleTower *battleTower, SaveData *saveData, int param2);
|
||||
|
||||
u16 sub_02049D08(u16 param0)
|
||||
u16 BattleTower_GetPartySizeForChallengeMode(u16 challengeMode)
|
||||
{
|
||||
switch (param0) {
|
||||
case 0:
|
||||
case 4:
|
||||
case 5:
|
||||
switch (challengeMode) {
|
||||
case BATTLE_TOWER_MODE_SINGLE:
|
||||
case BATTLE_TOWER_MODE_WIFI:
|
||||
case BATTLE_TOWER_MODE_5:
|
||||
return 3;
|
||||
case 1:
|
||||
case BATTLE_TOWER_MODE_DOUBLE:
|
||||
return 4;
|
||||
case 2:
|
||||
case 3:
|
||||
case 6:
|
||||
case BATTLE_TOWER_MODE_MULTI:
|
||||
case BATTLE_TOWER_MODE_LINK_MULTI:
|
||||
case BATTLE_TOWER_MODE_6:
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
|
@ -221,7 +222,7 @@ BOOL sub_02049FA0(UnkStruct_0202D060 *param0)
|
|||
return sub_0202D214(param0);
|
||||
}
|
||||
|
||||
void sub_02049FA8(FieldSystem *fieldSystem)
|
||||
void BattleTower_SetCommunicationClubAccessible(FieldSystem *fieldSystem)
|
||||
{
|
||||
Location *v0 = FieldOverworldState_GetSpecialLocation(SaveData_GetFieldOverworldState(fieldSystem->saveData));
|
||||
|
||||
|
|
@ -231,7 +232,7 @@ void sub_02049FA8(FieldSystem *fieldSystem)
|
|||
return;
|
||||
}
|
||||
|
||||
void sub_02049FE8(FieldSystem *fieldSystem)
|
||||
void BattleTower_ClearCommunicationClubAccessible(FieldSystem *fieldSystem)
|
||||
{
|
||||
SystemFlag_ClearCommunicationClubAccessible(SaveData_GetVarsFlags(fieldSystem->saveData));
|
||||
}
|
||||
|
|
@ -305,123 +306,120 @@ u16 sub_0204A100(SaveData *saveData)
|
|||
return (u16)sub_0202D5E8(v0);
|
||||
}
|
||||
|
||||
void sub_0204A110(UnkStruct_0204AFC4 **param0)
|
||||
void BattleTower_SetNull(BattleTower **battleTower)
|
||||
{
|
||||
GF_ASSERT(*param0 == NULL);
|
||||
*param0 = NULL;
|
||||
GF_ASSERT(*battleTower == NULL);
|
||||
*battleTower = NULL;
|
||||
}
|
||||
|
||||
UnkStruct_0204AFC4 *sub_0204A124(SaveData *saveData, u16 param1, u16 param2)
|
||||
BattleTower *BattleTower_Init(SaveData *saveData, u16 param1, u16 challengeMode)
|
||||
{
|
||||
u8 v0;
|
||||
u16 v1, v2;
|
||||
UnkStruct_0204AFC4 *v3;
|
||||
BattleTower *battleTower;
|
||||
BattleFrontier *frontier;
|
||||
GameRecords *v5;
|
||||
|
||||
v3 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_0204AFC4));
|
||||
MI_CpuClear8(v3, sizeof(UnkStruct_0204AFC4));
|
||||
battleTower = Heap_Alloc(HEAP_ID_FIELD2, sizeof(BattleTower));
|
||||
MI_CpuClear8(battleTower, sizeof(BattleTower));
|
||||
|
||||
v3->heapID = HEAP_ID_FIELD2;
|
||||
v3->unk_70 = sub_0202D740(saveData);
|
||||
v3->unk_74 = sub_0202D750(saveData);
|
||||
v3->unk_00 = 0x12345678;
|
||||
battleTower->heapID = HEAP_ID_FIELD2;
|
||||
battleTower->unk_70 = sub_0202D740(saveData);
|
||||
battleTower->unk_74 = sub_0202D750(saveData);
|
||||
battleTower->unk_00 = 0x12345678;
|
||||
|
||||
sub_0202D21C(v3->unk_70, 0);
|
||||
sub_0202D21C(battleTower->unk_70, 0);
|
||||
|
||||
if (param1 == 0) {
|
||||
v3->unk_0F = param2;
|
||||
v3->unk_0E = (u8)sub_02049D08(v3->unk_0F);
|
||||
v3->unk_0C = 1;
|
||||
v3->unk_0D = 0;
|
||||
battleTower->challengeMode = challengeMode;
|
||||
battleTower->partySize = (u8)BattleTower_GetPartySizeForChallengeMode(battleTower->challengeMode);
|
||||
battleTower->unk_0C = 1;
|
||||
battleTower->unk_0D = 0;
|
||||
|
||||
for (v1 = 0; v1 < 4; v1++) {
|
||||
v3->unk_2A[v1] = 0xFF;
|
||||
battleTower->unk_2A[v1] = 0xFF;
|
||||
}
|
||||
|
||||
for (v1 = 0; v1 < 14; v1++) {
|
||||
v3->unk_3E[v1] = 0xFFFF;
|
||||
battleTower->unk_3E[v1] = 0xFFFF;
|
||||
}
|
||||
|
||||
sub_0202D060(v3->unk_70);
|
||||
v0 = v3->unk_0F;
|
||||
sub_0202D140(v3->unk_70, 0, &v0);
|
||||
sub_0202D060(battleTower->unk_70);
|
||||
v0 = battleTower->challengeMode;
|
||||
sub_0202D140(battleTower->unk_70, 0, &v0);
|
||||
} else {
|
||||
v3->unk_0F = (u8)sub_0202D0BC(v3->unk_70, 0, NULL);
|
||||
v3->unk_0C = (u8)sub_0202D0BC(v3->unk_70, 1, NULL);
|
||||
v3->unk_0D = v3->unk_0C - 1;
|
||||
v3->unk_0E = (u8)sub_02049D08(v3->unk_0F);
|
||||
battleTower->challengeMode = (u8)sub_0202D0BC(battleTower->unk_70, 0, NULL);
|
||||
battleTower->unk_0C = (u8)sub_0202D0BC(battleTower->unk_70, 1, NULL);
|
||||
battleTower->unk_0D = battleTower->unk_0C - 1;
|
||||
battleTower->partySize = (u8)BattleTower_GetPartySizeForChallengeMode(battleTower->challengeMode);
|
||||
|
||||
sub_0202D0BC(v3->unk_70, 5, v3->unk_2A);
|
||||
sub_0202D0BC(v3->unk_70, 8, v3->unk_3E);
|
||||
sub_0202D0BC(battleTower->unk_70, 5, battleTower->unk_2A);
|
||||
sub_0202D0BC(battleTower->unk_70, 8, battleTower->unk_3E);
|
||||
|
||||
v3->unk_08 = sub_0202D0BC(v3->unk_70, 10, NULL);
|
||||
battleTower->unk_08 = sub_0202D0BC(battleTower->unk_70, 10, NULL);
|
||||
|
||||
if (v3->unk_0F == 2) {
|
||||
v3->unk_10_5 = (u8)sub_0202D0BC(v3->unk_70, 9, NULL);
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_MULTI) {
|
||||
battleTower->unk_10_5 = (u8)sub_0202D0BC(battleTower->unk_70, 9, NULL);
|
||||
|
||||
sub_0202D0BC(v3->unk_70, 6, &(v3->unk_7E8[v3->unk_10_5]));
|
||||
sub_0204B404(v3, &v3->unk_298[v3->unk_10_5], 300 + v3->unk_10_5, sub_0202D0BC(v3->unk_70, 7, NULL), &(v3->unk_7E8[v3->unk_10_5]), v3->heapID);
|
||||
sub_0202D0BC(battleTower->unk_70, 6, &(battleTower->unk_7E8[battleTower->unk_10_5]));
|
||||
sub_0204B404(battleTower, &battleTower->unk_298[battleTower->unk_10_5], 300 + battleTower->unk_10_5, sub_0202D0BC(battleTower->unk_70, 7, NULL), &(battleTower->unk_7E8[battleTower->unk_10_5]), battleTower->heapID);
|
||||
}
|
||||
}
|
||||
|
||||
v3->unk_11 = TrainerInfo_Gender(SaveData_GetTrainerInfo(saveData));
|
||||
battleTower->unk_11 = TrainerInfo_Gender(SaveData_GetTrainerInfo(saveData));
|
||||
|
||||
if (v3->unk_0F != 5) {
|
||||
if (battleTower->challengeMode != BATTLE_TOWER_MODE_5) {
|
||||
frontier = SaveData_GetBattleFrontier(saveData);
|
||||
v5 = SaveData_GetGameRecords(saveData);
|
||||
|
||||
if (v3->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
v2 = SystemVars_GetWiFiFrontierCleared(SaveData_GetVarsFlags(saveData));
|
||||
} else {
|
||||
v2 = sub_0202D414(v3->unk_74, 8 + v3->unk_0F, 0);
|
||||
v2 = sub_0202D414(battleTower->unk_74, 8 + battleTower->challengeMode, 0);
|
||||
}
|
||||
|
||||
if (v2) {
|
||||
if (v3->unk_0F == 6) {
|
||||
v3->unk_1A = sub_02030698(
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
battleTower->unk_1A = sub_02030698(
|
||||
frontier, 113, sub_0205E6A8(113));
|
||||
} else {
|
||||
v3->unk_1A = sub_02030698(
|
||||
frontier, 1 + v3->unk_0F * 2, 0xff);
|
||||
battleTower->unk_1A = sub_02030698(
|
||||
frontier, 1 + battleTower->challengeMode * 2, 0xff);
|
||||
}
|
||||
|
||||
v3->unk_1C = sub_0202D3B4(v3->unk_74, v3->unk_0F, 0);
|
||||
battleTower->unk_1C = sub_0202D3B4(battleTower->unk_74, battleTower->challengeMode, 0);
|
||||
}
|
||||
|
||||
v3->unk_20 = GameRecords_GetRecordValue(v5, RECORD_UNK_029);
|
||||
battleTower->unk_20 = GameRecords_GetRecordValue(v5, RECORD_UNK_029);
|
||||
}
|
||||
|
||||
if (v3->unk_0F == 6) {
|
||||
v3->unk_1C = sub_0202D3FC(v3->unk_74, 6, (v3->unk_1A / 7));
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
battleTower->unk_1C = sub_0202D3FC(battleTower->unk_74, 6, (battleTower->unk_1A / 7));
|
||||
}
|
||||
|
||||
return v3;
|
||||
return battleTower;
|
||||
}
|
||||
|
||||
void sub_0204A32C(UnkStruct_0204AFC4 *param0)
|
||||
void BattleTower_Free(BattleTower *battleTower)
|
||||
{
|
||||
int v0;
|
||||
|
||||
if (param0 == NULL) {
|
||||
if (battleTower == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
GF_ASSERT(param0->unk_00 == 0x12345678);
|
||||
v0 = param0->heapID;
|
||||
GF_ASSERT(battleTower->unk_00 == 0x12345678);
|
||||
|
||||
MI_CpuClear8(param0, sizeof(UnkStruct_0204AFC4));
|
||||
Heap_Free(param0);
|
||||
MI_CpuClear8(battleTower, sizeof(BattleTower));
|
||||
Heap_Free(battleTower);
|
||||
|
||||
param0 = NULL;
|
||||
battleTower = NULL;
|
||||
}
|
||||
|
||||
void sub_0204A358(UnkStruct_0204AFC4 *param0, FieldTask *param1, void **param2)
|
||||
void sub_0204A358(BattleTower *battleTower, FieldTask *param1, void **param2)
|
||||
{
|
||||
sub_0206BBFC(param1, param2, 17, 0, param0->unk_0E, param0->unk_0E, 100, 0);
|
||||
sub_0206BBFC(param1, param2, 17, 0, battleTower->partySize, battleTower->partySize, 100, 0);
|
||||
}
|
||||
|
||||
BOOL sub_0204A378(UnkStruct_0204AFC4 *param0, void **param1, SaveData *saveData)
|
||||
BOOL sub_0204A378(BattleTower *battleTower, void **param1, SaveData *saveData)
|
||||
{
|
||||
u16 v0 = 0;
|
||||
PartyMenu *partyMenu = *param1;
|
||||
|
|
@ -436,11 +434,11 @@ BOOL sub_0204A378(UnkStruct_0204AFC4 *param0, void **param1, SaveData *saveData)
|
|||
|
||||
v2 = SaveData_GetParty(saveData);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_0E; v0++) {
|
||||
param0->unk_2A[v0] = partyMenu->selectionOrder[v0] - 1;
|
||||
v3 = Party_GetPokemonBySlotIndex(v2, param0->unk_2A[v0]);
|
||||
param0->unk_2E[v0] = Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL);
|
||||
param0->unk_36[v0] = Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL);
|
||||
for (v0 = 0; v0 < battleTower->partySize; v0++) {
|
||||
battleTower->unk_2A[v0] = partyMenu->selectionOrder[v0] - 1;
|
||||
v3 = Party_GetPokemonBySlotIndex(v2, battleTower->unk_2A[v0]);
|
||||
battleTower->unk_2E[v0] = Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL);
|
||||
battleTower->unk_36[v0] = Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL);
|
||||
}
|
||||
|
||||
Heap_Free(*param1);
|
||||
|
|
@ -448,30 +446,27 @@ BOOL sub_0204A378(UnkStruct_0204AFC4 *param0, void **param1, SaveData *saveData)
|
|||
return 1;
|
||||
}
|
||||
|
||||
int sub_0204A410(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
||||
int BattleTower_CheckDuplicateSpeciesAndHeldItems(BattleTower *battleTower, SaveData *saveData)
|
||||
{
|
||||
u16 v0 = 0, v1 = 0;
|
||||
u16 v2[4], v3[4];
|
||||
Party *v4;
|
||||
Pokemon *v5;
|
||||
u16 i = 0, j = 0;
|
||||
u16 species[4], heldItems[4];
|
||||
Party *party = SaveData_GetParty(saveData);
|
||||
|
||||
v4 = SaveData_GetParty(saveData);
|
||||
for (i = 0; i < battleTower->partySize; i++) {
|
||||
Pokemon *mon = Party_GetPokemonBySlotIndex(party, battleTower->unk_2A[i]);
|
||||
species[i] = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL);
|
||||
heldItems[i] = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_0E; v0++) {
|
||||
v5 = Party_GetPokemonBySlotIndex(v4, param0->unk_2A[v0]);
|
||||
v2[v0] = Pokemon_GetValue(v5, MON_DATA_SPECIES, NULL);
|
||||
v3[v0] = Pokemon_GetValue(v5, MON_DATA_HELD_ITEM, NULL);
|
||||
|
||||
if (v0 == 0) {
|
||||
if (i == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (v1 = 0; v1 < v0; v1++) {
|
||||
if (v2[v0] == v2[v1]) {
|
||||
for (j = 0; j < i; j++) {
|
||||
if (species[i] == species[j]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((v3[v0] != 0) && (v3[v0] == v3[v1])) {
|
||||
if (heldItems[i] != 0 && heldItems[i] == heldItems[j]) {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
|
@ -493,101 +488,101 @@ static BOOL sub_0204A4A0(u16 *param0, u16 param1, u16 param2)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void sub_0204A4C8(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
||||
void sub_0204A4C8(BattleTower *battleTower, SaveData *saveData)
|
||||
{
|
||||
int v0;
|
||||
u16 v1, v2;
|
||||
|
||||
if ((param0->unk_0F == 2) || (param0->unk_0F == 6) || (param0->unk_0F == 3)) {
|
||||
if (((param0->unk_0F == 3) && (param0->unk_14 > param0->unk_1C)) || ((param0->unk_0F == 6) && (param0->unk_14 > param0->unk_1C))) {
|
||||
v2 = param0->unk_14;
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_MULTI || battleTower->challengeMode == BATTLE_TOWER_MODE_6 || battleTower->challengeMode == BATTLE_TOWER_MODE_LINK_MULTI) {
|
||||
if ((battleTower->challengeMode == BATTLE_TOWER_MODE_LINK_MULTI && battleTower->unk_14 > battleTower->unk_1C) || (battleTower->challengeMode == BATTLE_TOWER_MODE_6 && battleTower->unk_14 > battleTower->unk_1C)) {
|
||||
v2 = battleTower->unk_14;
|
||||
} else {
|
||||
v2 = param0->unk_1C;
|
||||
v2 = battleTower->unk_1C;
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < 14; v0++) {
|
||||
do {
|
||||
v1 = sub_0204B0F0(param0, v2, v0 / 2, param0->unk_0F);
|
||||
} while (sub_0204A4A0(param0->unk_3E, v1, v0));
|
||||
v1 = sub_0204B0F0(battleTower, v2, v0 / 2, battleTower->challengeMode);
|
||||
} while (sub_0204A4A0(battleTower->unk_3E, v1, v0));
|
||||
|
||||
param0->unk_3E[v0] = v1;
|
||||
battleTower->unk_3E[v0] = v1;
|
||||
}
|
||||
} else {
|
||||
for (v0 = 0; v0 < (14 / 2); v0++) {
|
||||
do {
|
||||
v1 = sub_0204B0F0(param0, param0->unk_1C, v0, param0->unk_0F);
|
||||
} while (sub_0204A4A0(param0->unk_3E, v1, v0));
|
||||
v1 = sub_0204B0F0(battleTower, battleTower->unk_1C, v0, battleTower->challengeMode);
|
||||
} while (sub_0204A4A0(battleTower->unk_3E, v1, v0));
|
||||
|
||||
param0->unk_3E[v0] = v1;
|
||||
battleTower->unk_3E[v0] = v1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u16 sub_0204A578(UnkStruct_0204AFC4 *param0)
|
||||
u16 sub_0204A578(BattleTower *battleTower)
|
||||
{
|
||||
return param0->unk_0C;
|
||||
return battleTower->unk_0C;
|
||||
}
|
||||
|
||||
BOOL sub_0204A57C(UnkStruct_0204AFC4 *param0)
|
||||
BOOL sub_0204A57C(BattleTower *battleTower)
|
||||
{
|
||||
if (param0->unk_10_0) {
|
||||
if (battleTower->unk_10_0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (param0->unk_0C > 7) {
|
||||
param0->unk_10_0 = 1;
|
||||
if (battleTower->unk_0C > 7) {
|
||||
battleTower->unk_10_0 = 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void sub_0204A5A0(UnkStruct_0204AFC4 *param0, SaveData *saveData, u16 param2)
|
||||
static void sub_0204A5A0(BattleTower *battleTower, SaveData *saveData, u16 param2)
|
||||
{
|
||||
Party *v0;
|
||||
|
||||
if ((param0->unk_0F != 0) && (param0->unk_0F != 1)) {
|
||||
if (battleTower->challengeMode != BATTLE_TOWER_MODE_SINGLE && battleTower->challengeMode != BATTLE_TOWER_MODE_DOUBLE) {
|
||||
return;
|
||||
}
|
||||
|
||||
v0 = SaveData_GetParty(saveData);
|
||||
|
||||
if (param0->unk_0F == 0) {
|
||||
sub_0206DBB0(saveData, param2, Party_GetPokemonBySlotIndex(v0, param0->unk_2A[0]), 1);
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_SINGLE) {
|
||||
sub_0206DBB0(saveData, param2, Party_GetPokemonBySlotIndex(v0, battleTower->unk_2A[0]), 1);
|
||||
} else {
|
||||
sub_0206DBB0(saveData, param2, Party_GetPokemonBySlotIndex(v0, param0->unk_2A[0]), 0);
|
||||
sub_0206DBB0(saveData, param2, Party_GetPokemonBySlotIndex(v0, battleTower->unk_2A[0]), 0);
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_0204A5EC(UnkStruct_0204AFC4 *param0, SaveData *saveData, u8 param2, u16 param3)
|
||||
static void sub_0204A5EC(BattleTower *battleTower, SaveData *saveData, u8 param2, u16 param3)
|
||||
{
|
||||
u8 v0;
|
||||
|
||||
switch (param0->unk_0F) {
|
||||
case 0:
|
||||
sub_0204AE20(param0, saveData, 0);
|
||||
case 1:
|
||||
switch (battleTower->challengeMode) {
|
||||
case BATTLE_TOWER_MODE_SINGLE:
|
||||
sub_0204AE20(battleTower, saveData, 0);
|
||||
case BATTLE_TOWER_MODE_DOUBLE:
|
||||
if (param3 >= 7) {
|
||||
sub_0206CFE4(SaveData_GetTVBroadcast(saveData), param2, param3);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
sub_0204AE20(param0, saveData, 1);
|
||||
sub_0202D1E8(param0->unk_70, param0->unk_28, param0->unk_24, param0->unk_26);
|
||||
case BATTLE_TOWER_MODE_WIFI:
|
||||
sub_0204AE20(battleTower, saveData, 1);
|
||||
sub_0202D1E8(battleTower->unk_70, battleTower->unk_28, battleTower->unk_24, battleTower->unk_26);
|
||||
|
||||
v0 = param0->unk_0F;
|
||||
sub_0202D140(param0->unk_70, 0, &v0);
|
||||
v0 = battleTower->challengeMode;
|
||||
sub_0202D140(battleTower->unk_70, 0, &v0);
|
||||
|
||||
v0 = param0->unk_0C;
|
||||
sub_0202D140(param0->unk_70, 1, &v0);
|
||||
sub_0202D334(param0->unk_74, param0->unk_70);
|
||||
v0 = battleTower->unk_0C;
|
||||
sub_0202D140(battleTower->unk_70, 1, &v0);
|
||||
sub_0202D334(battleTower->unk_74, battleTower->unk_70);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0204A660(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
||||
void sub_0204A660(BattleTower *battleTower, SaveData *saveData)
|
||||
{
|
||||
u32 v0 = 0;
|
||||
int v1;
|
||||
|
|
@ -595,47 +590,47 @@ void sub_0204A660(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
|||
GameRecords *v5 = SaveData_GetGameRecords(saveData);
|
||||
BattleFrontier *frontier = SaveData_GetBattleFrontier(saveData);
|
||||
|
||||
if (param0->unk_0F == 5) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_5) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (param0->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
v1 = 112;
|
||||
} else {
|
||||
v1 = param0->unk_0F * 2 + 0;
|
||||
v1 = battleTower->challengeMode * 2;
|
||||
}
|
||||
|
||||
v2 = sub_02030698(frontier, v1, sub_0205E6A8(v1));
|
||||
v3 = sub_02030848(frontier, v1, sub_0205E6A8(v1), param0->unk_1A + param0->unk_0D);
|
||||
v3 = sub_02030848(frontier, v1, sub_0205E6A8(v1), battleTower->unk_1A + battleTower->unk_0D);
|
||||
|
||||
if (v3 > 1) {
|
||||
if ((v2 < v3) || ((v2 == v3) && (v3 % 7 == 0))) {
|
||||
sub_0204A5A0(param0, saveData, v3);
|
||||
if (v2 < v3 || (v2 == v3 && v3 % 7 == 0)) {
|
||||
sub_0204A5A0(battleTower, saveData, v3);
|
||||
}
|
||||
}
|
||||
|
||||
if (param0->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
v4 = sub_02030698(SaveData_GetBattleFrontier(saveData), 100, sub_0205E6A8(100));
|
||||
} else {
|
||||
v4 = sub_0202D414(param0->unk_74, 8 + param0->unk_0F, 0);
|
||||
v4 = sub_0202D414(battleTower->unk_74, 8 + battleTower->challengeMode, 0);
|
||||
}
|
||||
|
||||
v0 = sub_020306E4(frontier, v1 + 1, sub_0205E6A8(v1 + 1), (param0->unk_1A + param0->unk_0D));
|
||||
v0 = sub_020306E4(frontier, v1 + 1, sub_0205E6A8(v1 + 1), (battleTower->unk_1A + battleTower->unk_0D));
|
||||
|
||||
if (param0->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
sub_020306E4(SaveData_GetBattleFrontier(saveData), 100, sub_0205E6A8(100), 0);
|
||||
} else {
|
||||
sub_0202D414(param0->unk_74, 8 + param0->unk_0F, 2);
|
||||
sub_0202D414(battleTower->unk_74, 8 + battleTower->challengeMode, 2);
|
||||
}
|
||||
|
||||
GameRecords_AddToRecordValue(v5, RECORD_UNK_029, param0->unk_0D);
|
||||
sub_0202D3B4(param0->unk_74, param0->unk_0F, 2);
|
||||
GameRecords_AddToRecordValue(v5, RECORD_UNK_029, battleTower->unk_0D);
|
||||
sub_0202D3B4(battleTower->unk_74, battleTower->challengeMode, 2);
|
||||
|
||||
if (param0->unk_0F != 6) {
|
||||
if (battleTower->challengeMode != BATTLE_TOWER_MODE_6) {
|
||||
GameRecords_AddToRecordValue(SaveData_GetGameRecords(saveData), RECORD_UNK_015, 1);
|
||||
}
|
||||
|
||||
sub_0204ACC8(param0);
|
||||
sub_0204ACC8(battleTower);
|
||||
|
||||
v0 += 1;
|
||||
|
||||
|
|
@ -643,10 +638,10 @@ void sub_0204A660(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
|||
v0 = 9999;
|
||||
}
|
||||
|
||||
sub_0204A5EC(param0, saveData, 0, v0);
|
||||
sub_0204A5EC(battleTower, saveData, 0, v0);
|
||||
}
|
||||
|
||||
void sub_0204A7A4(UnkStruct_0204AFC4 *param0, SaveData *saveData, JournalEntry *journalEntry)
|
||||
void sub_0204A7A4(BattleTower *battleTower, SaveData *saveData, JournalEntry *journalEntry)
|
||||
{
|
||||
u32 v0 = 0;
|
||||
int v1;
|
||||
|
|
@ -655,106 +650,106 @@ void sub_0204A7A4(UnkStruct_0204AFC4 *param0, SaveData *saveData, JournalEntry *
|
|||
GameRecords *v6;
|
||||
BattleFrontier *frontier;
|
||||
|
||||
if (param0->unk_0F == 5) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_5) {
|
||||
return;
|
||||
}
|
||||
|
||||
v6 = SaveData_GetGameRecords(saveData);
|
||||
frontier = SaveData_GetBattleFrontier(saveData);
|
||||
|
||||
if (param0->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
v1 = 112;
|
||||
} else {
|
||||
v1 = param0->unk_0F * 2 + 0;
|
||||
v1 = battleTower->challengeMode * 2;
|
||||
}
|
||||
|
||||
if (param0->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
v5 = sub_02030698(SaveData_GetBattleFrontier(saveData), 100, sub_0205E6A8(100));
|
||||
} else {
|
||||
v5 = sub_0202D414(param0->unk_74, 8 + param0->unk_0F, 0);
|
||||
v5 = sub_0202D414(battleTower->unk_74, 8 + battleTower->challengeMode, 0);
|
||||
}
|
||||
|
||||
v0 = sub_020306E4(frontier, v1 + 1, sub_0205E6A8(v1 + 1), (param0->unk_1A + param0->unk_0D));
|
||||
v0 = sub_020306E4(frontier, v1 + 1, sub_0205E6A8(v1 + 1), (battleTower->unk_1A + battleTower->unk_0D));
|
||||
|
||||
if (param0->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
sub_020306E4(SaveData_GetBattleFrontier(saveData), 100, sub_0205E6A8(100), 1);
|
||||
} else {
|
||||
sub_0202D414(param0->unk_74, 8 + param0->unk_0F, 1);
|
||||
sub_0202D414(battleTower->unk_74, 8 + battleTower->challengeMode, 1);
|
||||
}
|
||||
|
||||
v3 = sub_02030698(frontier, v1, sub_0205E6A8(v1));
|
||||
v4 = sub_02030848(frontier, v1, sub_0205E6A8(v1), v0);
|
||||
|
||||
GameRecords_AddToRecordValue(v6, RECORD_UNK_029, 7);
|
||||
sub_0202D3B4(param0->unk_74, param0->unk_0F, 3);
|
||||
sub_0202D3B4(battleTower->unk_74, battleTower->challengeMode, 3);
|
||||
|
||||
if (param0->unk_0F != 6) {
|
||||
if (battleTower->challengeMode != BATTLE_TOWER_MODE_6) {
|
||||
GameRecords_AddToRecordValue(v6, RECORD_UNK_015, 1);
|
||||
}
|
||||
|
||||
GameRecords_IncrementTrainerScore(v6, TRAINER_SCORE_EVENT_UNK_14);
|
||||
sub_0204ACC8(param0);
|
||||
sub_0204A5EC(param0, saveData, 1, v0);
|
||||
sub_0204ACC8(battleTower);
|
||||
sub_0204A5EC(battleTower, saveData, 1, v0);
|
||||
|
||||
if (param0->unk_0F == HEAP_ID_FIELD1) {
|
||||
journalEntryOnlineEvent = JournalEntry_CreateEventBattleRoom(param0->heapID);
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_WIFI) {
|
||||
journalEntryOnlineEvent = JournalEntry_CreateEventBattleRoom(battleTower->heapID);
|
||||
JournalEntry_SaveData(journalEntry, journalEntryOnlineEvent, JOURNAL_ONLINE_EVENT);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0204A8C8(UnkStruct_0204AFC4 *param0)
|
||||
void sub_0204A8C8(BattleTower *battleTower)
|
||||
{
|
||||
u16 v0;
|
||||
u8 v1[4];
|
||||
|
||||
v1[0] = param0->unk_0F;
|
||||
sub_0202D140(param0->unk_70, 0, v1);
|
||||
v1[0] = battleTower->challengeMode;
|
||||
sub_0202D140(battleTower->unk_70, 0, v1);
|
||||
|
||||
v1[0] = param0->unk_0C;
|
||||
sub_0202D140(param0->unk_70, 1, v1);
|
||||
v1[0] = battleTower->unk_0C;
|
||||
sub_0202D140(battleTower->unk_70, 1, v1);
|
||||
|
||||
sub_0202D140(param0->unk_70, 5, param0->unk_2A);
|
||||
sub_0202D1E8(param0->unk_70, param0->unk_28, param0->unk_24, param0->unk_26);
|
||||
sub_0202D140(param0->unk_70, 8, param0->unk_3E);
|
||||
sub_0202D140(param0->unk_70, 10, &(param0->unk_08));
|
||||
sub_0202D21C(param0->unk_70, 1);
|
||||
sub_0202D140(battleTower->unk_70, 5, battleTower->unk_2A);
|
||||
sub_0202D1E8(battleTower->unk_70, battleTower->unk_28, battleTower->unk_24, battleTower->unk_26);
|
||||
sub_0202D140(battleTower->unk_70, 8, battleTower->unk_3E);
|
||||
sub_0202D140(battleTower->unk_70, 10, &(battleTower->unk_08));
|
||||
sub_0202D21C(battleTower->unk_70, 1);
|
||||
|
||||
if (param0->unk_0F != 2) {
|
||||
if (battleTower->challengeMode != BATTLE_TOWER_MODE_MULTI) {
|
||||
return;
|
||||
}
|
||||
|
||||
v1[0] = param0->unk_10_5;
|
||||
sub_0202D140(param0->unk_70, 9, v1);
|
||||
v1[0] = battleTower->unk_10_5;
|
||||
sub_0202D140(battleTower->unk_70, 9, v1);
|
||||
|
||||
sub_0202D140(param0->unk_70, 6, &(param0->unk_7E8[param0->unk_10_5]));
|
||||
sub_0202D140(param0->unk_70, 7, &(param0->unk_838[param0->unk_10_5]));
|
||||
sub_0202D140(battleTower->unk_70, 6, &(battleTower->unk_7E8[battleTower->unk_10_5]));
|
||||
sub_0202D140(battleTower->unk_70, 7, &(battleTower->unk_838[battleTower->unk_10_5]));
|
||||
}
|
||||
|
||||
void sub_0204A97C(UnkStruct_0204AFC4 *param0)
|
||||
void sub_0204A97C(BattleTower *battleTower)
|
||||
{
|
||||
int v0;
|
||||
|
||||
for (v0 = 0; v0 < 5; v0++) {
|
||||
param0->unk_838[v0] = (u8)sub_0204B3B8(param0, &(param0->unk_298[v0]), 300 + v0, param0->unk_0E, param0->unk_2E, param0->unk_36, &(param0->unk_7E8[v0]), param0->heapID);
|
||||
battleTower->unk_838[v0] = (u8)sub_0204B3B8(battleTower, &(battleTower->unk_298[v0]), 300 + v0, battleTower->partySize, battleTower->unk_2E, battleTower->unk_36, &(battleTower->unk_7E8[v0]), battleTower->heapID);
|
||||
}
|
||||
}
|
||||
|
||||
u16 sub_0204A9E0(UnkStruct_0204AFC4 *param0, u16 param1)
|
||||
u16 sub_0204A9E0(BattleTower *battleTower, u16 param1)
|
||||
{
|
||||
return sub_0204AF9C(param0->unk_78[param1].unk_00.trainerType);
|
||||
return sub_0204AF9C(battleTower->unk_78[param1].unk_00.trainerType);
|
||||
}
|
||||
|
||||
u16 sub_0204A9F8(UnkStruct_0204AFC4 *param0)
|
||||
u16 BattleTower_GetChallengeMode(BattleTower *battleTower)
|
||||
{
|
||||
return param0->unk_0F;
|
||||
return battleTower->challengeMode;
|
||||
}
|
||||
|
||||
u16 sub_0204A9FC(UnkStruct_0204AFC4 *param0)
|
||||
u16 sub_0204A9FC(BattleTower *battleTower)
|
||||
{
|
||||
return (u16)param0->unk_10_1;
|
||||
return (u16)battleTower->unk_10_1;
|
||||
}
|
||||
|
||||
u16 sub_0204AA04(UnkStruct_0204AFC4 *param0)
|
||||
u16 sub_0204AA04(BattleTower *battleTower)
|
||||
{
|
||||
u16 v0;
|
||||
u16 v1 = 0;
|
||||
|
|
@ -762,15 +757,15 @@ u16 sub_0204AA04(UnkStruct_0204AFC4 *param0)
|
|||
static const u8 v3[] = { 0, 3, 3, 4, 4, 5, 5, 7 };
|
||||
static const u8 v4[] = { 0, 8, 9, 11, 12, 14, 15, 18 };
|
||||
|
||||
if (param0->unk_0F == 5) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_5) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (param0->unk_0F == 4) {
|
||||
v1 = v2[sub_0202D2C0(param0->unk_74, 0)];
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_WIFI) {
|
||||
v1 = v2[sub_0202D2C0(battleTower->unk_74, 0)];
|
||||
} else {
|
||||
if ((param0->unk_0F == 3) || (param0->unk_0F == 6)) {
|
||||
v0 = sub_0202D3B4(param0->unk_74, param0->unk_0F, 0);
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_LINK_MULTI || battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
v0 = sub_0202D3B4(battleTower->unk_74, battleTower->challengeMode, 0);
|
||||
|
||||
if (v0 >= 7) {
|
||||
v1 = 18;
|
||||
|
|
@ -778,9 +773,9 @@ u16 sub_0204AA04(UnkStruct_0204AFC4 *param0)
|
|||
v1 = v4[v0];
|
||||
}
|
||||
} else {
|
||||
v0 = sub_0202D3B4(param0->unk_74, param0->unk_0F, 0);
|
||||
v0 = sub_0202D3B4(battleTower->unk_74, battleTower->challengeMode, 0);
|
||||
|
||||
if (param0->unk_10_1) {
|
||||
if (battleTower->unk_10_1) {
|
||||
v1 = 20;
|
||||
} else if (v0 >= 7) {
|
||||
v1 = 7;
|
||||
|
|
@ -790,27 +785,27 @@ u16 sub_0204AA04(UnkStruct_0204AFC4 *param0)
|
|||
}
|
||||
}
|
||||
|
||||
sub_0202D230(param0->unk_74, v1, 5);
|
||||
sub_0202D230(battleTower->unk_74, v1, 5);
|
||||
return v1;
|
||||
}
|
||||
|
||||
u16 sub_0204AA7C(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
||||
u16 sub_0204AA7C(BattleTower *battleTower, SaveData *saveData)
|
||||
{
|
||||
u8 v0, v1;
|
||||
u16 v2, v3, v4;
|
||||
|
||||
v2 = sub_02049FF8(saveData, param0->unk_0F);
|
||||
v2 = sub_02049FF8(saveData, battleTower->challengeMode);
|
||||
|
||||
if (v2 < 50) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (v2 >= 100) {
|
||||
if (sub_0202D414(param0->unk_74, 1, 0)) {
|
||||
if (sub_0202D414(battleTower->unk_74, 1, 0)) {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
if (sub_0202D414(param0->unk_74, 0, 0)) {
|
||||
if (sub_0202D414(battleTower->unk_74, 0, 0)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -818,7 +813,7 @@ u16 sub_0204AA7C(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
|||
return 1;
|
||||
}
|
||||
|
||||
u16 sub_0204AABC(UnkStruct_0204AFC4 *param0, SaveData *saveData, u8 param2)
|
||||
u16 sub_0204AABC(BattleTower *battleTower, SaveData *saveData, u8 param2)
|
||||
{
|
||||
u8 v0, v1;
|
||||
UnkStruct_0202D750 *v2 = sub_0202D750(saveData);
|
||||
|
|
@ -843,14 +838,14 @@ u16 sub_0204AABC(UnkStruct_0204AFC4 *param0, SaveData *saveData, u8 param2)
|
|||
v1 = sub_0202D2C0(v2, 0);
|
||||
|
||||
if (v1 == 10) {
|
||||
param0->unk_10_4 = 1;
|
||||
battleTower->unk_10_4 = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub_0202D2C0(v2, 3);
|
||||
|
||||
if (v1 + 1 >= 5) {
|
||||
param0->unk_10_4 = 1;
|
||||
battleTower->unk_10_4 = 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -876,78 +871,76 @@ u16 sub_0204AABC(UnkStruct_0204AFC4 *param0, SaveData *saveData, u8 param2)
|
|||
return 0;
|
||||
}
|
||||
|
||||
u16 sub_0204AB68(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
||||
u16 sub_0204AB68(BattleTower *battleTower, SaveData *saveData)
|
||||
{
|
||||
if (param0->unk_0F != 0) {
|
||||
if (battleTower->challengeMode != BATTLE_TOWER_MODE_SINGLE) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (param0->unk_10_1) {
|
||||
switch (battleTower->unk_10_1) {
|
||||
case 1:
|
||||
return sub_0204AC54(saveData, 26, param0);
|
||||
return sub_0204AC54(saveData, MON_DATA_SINNOH_ABILITY_RIBBON, battleTower);
|
||||
case 2:
|
||||
return sub_0204AC54(saveData, 27, param0);
|
||||
return sub_0204AC54(saveData, MON_DATA_SINNOH_GREAT_ABILITY_RIBBON, battleTower);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
u16 sub_0204ABA0(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
||||
u16 sub_0204ABA0(BattleTower *battleTower, SaveData *saveData)
|
||||
{
|
||||
u8 v0, v1;
|
||||
u16 v2, v3, v4;
|
||||
Underground *v5;
|
||||
enum PokemonDataParam param;
|
||||
|
||||
if (param0->unk_0F == 5) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_5) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (param0->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!param0->unk_10_4) {
|
||||
if (!battleTower->unk_10_4) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (param0->unk_0F) {
|
||||
case 1:
|
||||
v0 = 28;
|
||||
switch (battleTower->challengeMode) {
|
||||
case BATTLE_TOWER_MODE_DOUBLE:
|
||||
param = MON_DATA_SINNOH_DOUBLE_ABILITY_RIBBON;
|
||||
break;
|
||||
case 2:
|
||||
v0 = 29;
|
||||
case BATTLE_TOWER_MODE_MULTI:
|
||||
param = MON_DATA_SINNOH_MULTI_ABILITY_RIBBON;
|
||||
break;
|
||||
case 3:
|
||||
v0 = 30;
|
||||
case BATTLE_TOWER_MODE_LINK_MULTI:
|
||||
param = MON_DATA_SINNOH_PAIR_ABILITY_RIBBON;
|
||||
break;
|
||||
case 4:
|
||||
v0 = 31;
|
||||
case BATTLE_TOWER_MODE_WIFI:
|
||||
param = MON_DATA_SINNOH_WORLD_ABILITY_RIBBON;
|
||||
break;
|
||||
}
|
||||
|
||||
return sub_0204AC54(saveData, v0, param0);
|
||||
return sub_0204AC54(saveData, param, battleTower);
|
||||
}
|
||||
|
||||
u16 sub_0204ABF4(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
||||
u16 sub_0204ABF4(BattleTower *battleTower, SaveData *saveData)
|
||||
{
|
||||
u8 v0;
|
||||
|
||||
if (param0->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
v0 = sub_02030698(SaveData_GetBattleFrontier(saveData), 100, sub_0205E6A8(100));
|
||||
} else {
|
||||
v0 = sub_0202D414(param0->unk_74, 8 + param0->unk_0F, 0);
|
||||
v0 = sub_0202D414(battleTower->unk_74, 8 + battleTower->challengeMode, 0);
|
||||
}
|
||||
|
||||
if (!v0) {
|
||||
param0->unk_08 = sub_0206C02C(saveData);
|
||||
battleTower->unk_08 = sub_0206C02C(saveData);
|
||||
} else {
|
||||
param0->unk_08 = sub_0206C068(saveData);
|
||||
battleTower->unk_08 = sub_0206C068(saveData);
|
||||
}
|
||||
|
||||
return param0->unk_08 / 65535;
|
||||
return battleTower->unk_08 / 65535;
|
||||
}
|
||||
|
||||
static u16 sub_0204AC54(SaveData *saveData, u8 param1, UnkStruct_0204AFC4 *param2)
|
||||
static u16 sub_0204AC54(SaveData *saveData, enum PokemonDataParam param, BattleTower *battleTower)
|
||||
{
|
||||
u8 v0 = 1;
|
||||
u8 v1;
|
||||
|
|
@ -958,15 +951,15 @@ static u16 sub_0204AC54(SaveData *saveData, u8 param1, UnkStruct_0204AFC4 *param
|
|||
v3 = SaveData_GetParty(saveData);
|
||||
v1 = 0;
|
||||
|
||||
for (v2 = 0; v2 < param2->unk_0E; v2++) {
|
||||
v4 = Party_GetPokemonBySlotIndex(v3, param2->unk_2A[v2]);
|
||||
for (v2 = 0; v2 < battleTower->partySize; v2++) {
|
||||
v4 = Party_GetPokemonBySlotIndex(v3, battleTower->unk_2A[v2]);
|
||||
|
||||
if (Pokemon_GetValue(v4, param1, NULL)) {
|
||||
if (Pokemon_GetValue(v4, param, NULL)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Pokemon_SetValue(v4, param1, &v0);
|
||||
sub_0206DDB8(saveData, v4, param1);
|
||||
Pokemon_SetValue(v4, param, &v0);
|
||||
sub_0206DDB8(saveData, v4, param);
|
||||
++v1;
|
||||
}
|
||||
|
||||
|
|
@ -977,21 +970,21 @@ static u16 sub_0204AC54(SaveData *saveData, u8 param1, UnkStruct_0204AFC4 *param
|
|||
return 1;
|
||||
}
|
||||
|
||||
static u16 sub_0204ACC8(UnkStruct_0204AFC4 *param0)
|
||||
static u16 sub_0204ACC8(BattleTower *battleTower)
|
||||
{
|
||||
u16 v0;
|
||||
|
||||
if ((param0->unk_0F == 5) || (param0->unk_0F == 0) || (param0->unk_0F == 6) || (param0->unk_0F == 4)) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_5 || battleTower->challengeMode == BATTLE_TOWER_MODE_SINGLE || battleTower->challengeMode == BATTLE_TOWER_MODE_6 || battleTower->challengeMode == BATTLE_TOWER_MODE_WIFI) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
v0 = param0->unk_1A + param0->unk_0D;
|
||||
v0 = battleTower->unk_1A + battleTower->unk_0D;
|
||||
|
||||
if (v0 < 50) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
param0->unk_10_4 = 1;
|
||||
battleTower->unk_10_4 = 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -1023,17 +1016,17 @@ static void sub_0204ACFC(FrontierPokemonDataDTO *param0, Pokemon *mon)
|
|||
Pokemon_GetValue(mon, MON_DATA_NICKNAME, param0->nickname);
|
||||
}
|
||||
|
||||
static void sub_0204AE20(UnkStruct_0204AFC4 *param0, SaveData *saveData, int param2)
|
||||
static void sub_0204AE20(BattleTower *battleTower, SaveData *saveData, int param2)
|
||||
{
|
||||
FrontierPokemonDataDTO *v1 = Heap_AllocAtEnd(param0->heapID, sizeof(FrontierPokemonDataDTO) * 3);
|
||||
FrontierPokemonDataDTO *v1 = Heap_AllocAtEnd(battleTower->heapID, sizeof(FrontierPokemonDataDTO) * 3);
|
||||
MI_CpuClear8(v1, sizeof(FrontierPokemonDataDTO) * 3);
|
||||
Party *party = SaveData_GetParty(saveData);
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
sub_0204ACFC(&(v1[i]), Party_GetPokemonBySlotIndex(party, param0->unk_2A[i]));
|
||||
sub_0204ACFC(&(v1[i]), Party_GetPokemonBySlotIndex(party, battleTower->unk_2A[i]));
|
||||
}
|
||||
|
||||
sub_0202D2F0(param0->unk_74, param2, v1);
|
||||
sub_0202D2F0(battleTower->unk_74, param2, v1);
|
||||
MI_CpuClear8(v1, sizeof(FrontierPokemonDataDTO) * 3);
|
||||
Heap_Free(v1);
|
||||
}
|
||||
|
|
@ -1063,12 +1056,12 @@ u8 sub_0204AE84(u16 param0)
|
|||
return v0;
|
||||
}
|
||||
|
||||
u16 sub_0204AEC0(UnkStruct_0204AFC4 *param0)
|
||||
u16 sub_0204AEC0(BattleTower *battleTower)
|
||||
{
|
||||
if (param0->unk_0F == 6) {
|
||||
if (battleTower->challengeMode == BATTLE_TOWER_MODE_6) {
|
||||
return LCRNG_Next();
|
||||
}
|
||||
|
||||
param0->unk_08 = sub_0206BFF0(param0->unk_08);
|
||||
return param0->unk_08 / 65535;
|
||||
battleTower->unk_08 = sub_0206BFF0(battleTower->unk_08);
|
||||
return battleTower->unk_08 / 65535;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "generated/battle_tower_modes.h"
|
||||
#include "generated/object_events.h"
|
||||
#include "generated/species_data_params.h"
|
||||
#include "generated/trainer_classes.h"
|
||||
|
|
@ -32,7 +33,7 @@
|
|||
#include "unk_0202D05C.h"
|
||||
#include "unk_02049D08.h"
|
||||
|
||||
static BOOL sub_0204B470(UnkStruct_0204AFC4 *param0, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8);
|
||||
static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8);
|
||||
static void *sub_0204B630(u16 param0, int param1);
|
||||
static void sub_0204B640(BattleFrontierPokemonData *param0, int param1);
|
||||
|
||||
|
|
@ -102,38 +103,34 @@ static const u16 sTrainerClassToObjectID[][2] = {
|
|||
{ TRAINER_CLASS_POKE_KID, OBJ_EVENT_GFX_PIKACHU }
|
||||
};
|
||||
|
||||
StringTemplate *sub_0204AEE8(SaveData *saveData, u16 param1, u16 param2, u8 param3, u8 *param4)
|
||||
StringTemplate *BattleFrontier_GetStringWithSeenBannedSpecies(SaveData *saveData, u16 numRequiredEligiblePokemon, u16 unused2, u8 unused3, u8 *numBannedSpeciesSeen)
|
||||
{
|
||||
u8 v0;
|
||||
u16 v1;
|
||||
Strbuf *v2, *v3;
|
||||
Pokedex *pokedex;
|
||||
StringTemplate *v5;
|
||||
MessageLoader *v6;
|
||||
u8 i;
|
||||
u16 species;
|
||||
Strbuf *strbufSpeciesName = Strbuf_Init(12 + 2, HEAP_ID_FIELD1);
|
||||
Strbuf *strbufUnused = Strbuf_Init(2, HEAP_ID_FIELD1);
|
||||
Pokedex *pokedex = SaveData_GetPokedex(saveData);
|
||||
StringTemplate *strTemplate;
|
||||
MessageLoader *msgLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_SPECIES_NAME, HEAP_ID_FIELD1);
|
||||
strTemplate = StringTemplate_New(BATTLE_FRONTIER_BANLIST_SIZE + 1, 12 + 2, HEAP_ID_FIELD1);
|
||||
|
||||
v2 = Strbuf_Init(12 + 2, HEAP_ID_FIELD1);
|
||||
v3 = Strbuf_Init(2, HEAP_ID_FIELD1);
|
||||
pokedex = SaveData_GetPokedex(saveData);
|
||||
v6 = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_SPECIES_NAME, HEAP_ID_FIELD1);
|
||||
v5 = StringTemplate_New(18 + 1, 12 + 2, HEAP_ID_FIELD1);
|
||||
StringTemplate_SetNumber(strTemplate, 0, numRequiredEligiblePokemon, 1, 0, 1);
|
||||
|
||||
StringTemplate_SetNumber(v5, 0, param1, 1, 0, 1);
|
||||
for (i = 0; i < BATTLE_FRONTIER_BANLIST_SIZE; i++) {
|
||||
species = Pokemon_GetBattleFrontierBanlistEntry(i);
|
||||
|
||||
for (v0 = 0; v0 < 18; v0++) {
|
||||
v1 = Pokemon_GetBattleFrontierBanlistEntry(v0);
|
||||
|
||||
if (Pokedex_HasSeenSpecies(pokedex, v1)) {
|
||||
MessageLoader_GetStrbuf(v6, v1, v2);
|
||||
StringTemplate_SetStrbuf(v5, (*param4) + 1, v2, param2, param3, GAME_LANGUAGE);
|
||||
(*param4)++;
|
||||
if (Pokedex_HasSeenSpecies(pokedex, species)) {
|
||||
MessageLoader_GetStrbuf(msgLoader, species, strbufSpeciesName);
|
||||
StringTemplate_SetStrbuf(strTemplate, (*numBannedSpeciesSeen) + 1, strbufSpeciesName, unused2, unused3, GAME_LANGUAGE);
|
||||
(*numBannedSpeciesSeen)++;
|
||||
}
|
||||
}
|
||||
|
||||
MessageLoader_Free(v6);
|
||||
Strbuf_Free(v3);
|
||||
Strbuf_Free(v2);
|
||||
MessageLoader_Free(msgLoader);
|
||||
Strbuf_Free(strbufUnused);
|
||||
Strbuf_Free(strbufSpeciesName);
|
||||
|
||||
return v5;
|
||||
return strTemplate;
|
||||
}
|
||||
|
||||
u16 sub_0204AF9C(u8 trainerClass)
|
||||
|
|
@ -150,19 +147,19 @@ u16 sub_0204AF9C(u8 trainerClass)
|
|||
u16 sub_0204AFC4(FieldSystem *fieldSystem, const u16 *param1)
|
||||
{
|
||||
u16 v0 = 0;
|
||||
UnkStruct_0204AFC4 *v1 = fieldSystem->unk_AC;
|
||||
BattleTower *battleTower = fieldSystem->battleTower;
|
||||
|
||||
v1->unk_12 = (u8)param1[0];
|
||||
v1->unk_16[0] = param1[1];
|
||||
v1->unk_16[1] = param1[2];
|
||||
v1->unk_14 = param1[3];
|
||||
v1->unk_10_5 = 5 + v1->unk_12;
|
||||
battleTower->unk_12 = (u8)param1[0];
|
||||
battleTower->unk_16[0] = param1[1];
|
||||
battleTower->unk_16[1] = param1[2];
|
||||
battleTower->unk_14 = param1[3];
|
||||
battleTower->unk_10_5 = 5 + battleTower->unk_12;
|
||||
|
||||
if ((v1->unk_2E[0] == v1->unk_16[0]) || (v1->unk_2E[0] == v1->unk_16[1])) {
|
||||
if ((battleTower->unk_2E[0] == battleTower->unk_16[0]) || (battleTower->unk_2E[0] == battleTower->unk_16[1])) {
|
||||
v0 += 1;
|
||||
}
|
||||
|
||||
if ((v1->unk_2E[1] == v1->unk_16[0]) || (v1->unk_2E[1] == v1->unk_16[1])) {
|
||||
if ((battleTower->unk_2E[1] == battleTower->unk_16[0]) || (battleTower->unk_2E[1] == battleTower->unk_16[1])) {
|
||||
v0 += 2;
|
||||
}
|
||||
|
||||
|
|
@ -172,54 +169,54 @@ u16 sub_0204AFC4(FieldSystem *fieldSystem, const u16 *param1)
|
|||
u16 sub_0204B020(FieldSystem *fieldSystem, const u16 *param1)
|
||||
{
|
||||
int v0;
|
||||
UnkStruct_0204AFC4 *v1 = fieldSystem->unk_AC;
|
||||
BattleTower *battleTower = fieldSystem->battleTower;
|
||||
|
||||
if (CommSys_CurNetId() == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
MI_CpuCopy8(param1, v1->unk_3E, 14 * 2);
|
||||
MI_CpuCopy8(param1, battleTower->unk_3E, 14 * 2);
|
||||
return 1;
|
||||
}
|
||||
|
||||
u16 sub_0204B044(FieldSystem *fieldSystem, const u16 *param1)
|
||||
{
|
||||
int v0;
|
||||
UnkStruct_0204AFC4 *v1 = fieldSystem->unk_AC;
|
||||
BattleTower *battleTower = fieldSystem->battleTower;
|
||||
|
||||
if (v1->unk_10_3 || param1[0]) {
|
||||
if (battleTower->unk_10_3 || param1[0]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_0204B060(UnkStruct_0204AFC4 *param0, SaveData *saveData)
|
||||
void sub_0204B060(BattleTower *battleTower, SaveData *saveData)
|
||||
{
|
||||
int v0;
|
||||
Party *v1;
|
||||
Pokemon *v2;
|
||||
TrainerInfo *v3 = SaveData_GetTrainerInfo(saveData);
|
||||
|
||||
param0->unk_83E[0] = TrainerInfo_Gender(v3);
|
||||
battleTower->unk_83E[0] = TrainerInfo_Gender(v3);
|
||||
v1 = SaveData_GetParty(saveData);
|
||||
|
||||
for (v0 = 0; v0 < 2; v0++) {
|
||||
param0->unk_83E[1 + v0] = Pokemon_GetValue(Party_GetPokemonBySlotIndex(v1, param0->unk_2A[v0]), MON_DATA_SPECIES, NULL);
|
||||
battleTower->unk_83E[1 + v0] = Pokemon_GetValue(Party_GetPokemonBySlotIndex(v1, battleTower->unk_2A[v0]), MON_DATA_SPECIES, NULL);
|
||||
}
|
||||
|
||||
param0->unk_83E[3] = sub_0202D3B4(param0->unk_74, 3, 0);
|
||||
battleTower->unk_83E[3] = sub_0202D3B4(battleTower->unk_74, 3, 0);
|
||||
}
|
||||
|
||||
void sub_0204B0BC(UnkStruct_0204AFC4 *param0)
|
||||
void sub_0204B0BC(BattleTower *battleTower)
|
||||
{
|
||||
MI_CpuCopy8(param0->unk_3E, param0->unk_83E, 14 * 2);
|
||||
MI_CpuCopy8(battleTower->unk_3E, battleTower->unk_83E, 14 * 2);
|
||||
}
|
||||
|
||||
void sub_0204B0D4(UnkStruct_0204AFC4 *param0, u16 param1)
|
||||
void sub_0204B0D4(BattleTower *battleTower, u16 param1)
|
||||
{
|
||||
param0->unk_10_3 = param1;
|
||||
param0->unk_83E[0] = param1;
|
||||
battleTower->unk_10_3 = param1;
|
||||
battleTower->unk_83E[0] = param1;
|
||||
}
|
||||
|
||||
static const u16 Unk_020EBD58[][2] = {
|
||||
|
|
@ -244,16 +241,16 @@ static const u16 Unk_020EBD78[][2] = {
|
|||
{ 0xC8, 0x12B }
|
||||
};
|
||||
|
||||
u16 sub_0204B0F0(UnkStruct_0204AFC4 *param0, u8 param1, u8 param2, int param3)
|
||||
u16 sub_0204B0F0(BattleTower *battleTower, u8 param1, u8 param2, int challengeMode)
|
||||
{
|
||||
u16 v0;
|
||||
|
||||
if (param3 == 0) {
|
||||
if ((param1 == 2) && (param2 == 6)) {
|
||||
if (challengeMode == BATTLE_TOWER_MODE_SINGLE) {
|
||||
if (param1 == 2 && param2 == 6) {
|
||||
return 305;
|
||||
}
|
||||
|
||||
if ((param1 == 6) && (param2 == 6)) {
|
||||
if (param1 == 6 && param2 == 6) {
|
||||
return 306;
|
||||
}
|
||||
}
|
||||
|
|
@ -261,14 +258,14 @@ u16 sub_0204B0F0(UnkStruct_0204AFC4 *param0, u8 param1, u8 param2, int param3)
|
|||
if (param1 < 7) {
|
||||
if (param2 == (7 - 1)) {
|
||||
v0 = (Unk_020EBD78[param1][1] - Unk_020EBD78[param1][0]) + 1;
|
||||
v0 = Unk_020EBD78[param1][0] + (sub_0204AEC0(param0) % v0);
|
||||
v0 = Unk_020EBD78[param1][0] + (sub_0204AEC0(battleTower) % v0);
|
||||
} else {
|
||||
v0 = (Unk_020EBD58[param1][1] - Unk_020EBD58[param1][0]) + 1;
|
||||
v0 = Unk_020EBD58[param1][0] + (sub_0204AEC0(param0) % v0);
|
||||
v0 = Unk_020EBD58[param1][0] + (sub_0204AEC0(battleTower) % v0);
|
||||
}
|
||||
} else {
|
||||
v0 = (Unk_020EBD58[7][1] - Unk_020EBD58[7][0]) + 1;
|
||||
v0 = Unk_020EBD58[7][0] + (sub_0204AEC0(param0) % v0);
|
||||
v0 = Unk_020EBD58[7][0] + (sub_0204AEC0(battleTower) % v0);
|
||||
}
|
||||
|
||||
return v0;
|
||||
|
|
@ -303,7 +300,7 @@ static const u16 Unk_020EBD50[] = {
|
|||
ITEM_QUICK_CLAW
|
||||
};
|
||||
|
||||
static u32 sub_0204B1E8(UnkStruct_0204AFC4 *param0, FrontierPokemonDataDTO *param1, u16 param2, u32 param3, u32 param4, u8 param5, u8 param6, BOOL param7, int param8)
|
||||
static u32 sub_0204B1E8(BattleTower *battleTower, FrontierPokemonDataDTO *param1, u16 param2, u32 param3, u32 param4, u8 param5, u8 param6, BOOL param7, int param8)
|
||||
{
|
||||
int v0;
|
||||
u32 v2;
|
||||
|
|
@ -335,7 +332,7 @@ static u32 sub_0204B1E8(UnkStruct_0204AFC4 *param0, FrontierPokemonDataDTO *para
|
|||
|
||||
if (param4 == 0) {
|
||||
do {
|
||||
v2 = (sub_0204AEC0(param0) | sub_0204AEC0(param0) << 16);
|
||||
v2 = (sub_0204AEC0(battleTower) | sub_0204AEC0(battleTower) << 16);
|
||||
} while ((v4.nature != Pokemon_GetNatureOf(v2)) || (Pokemon_IsPersonalityShiny(param3, v2) == 1));
|
||||
|
||||
param1->personality = v2;
|
||||
|
|
@ -392,31 +389,31 @@ static u32 sub_0204B1E8(UnkStruct_0204AFC4 *param0, FrontierPokemonDataDTO *para
|
|||
return v2;
|
||||
}
|
||||
|
||||
BOOL sub_0204B3B8(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID)
|
||||
BOOL sub_0204B3B8(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID)
|
||||
{
|
||||
BOOL v0 = 0;
|
||||
BattleFrontierTrainerData *v1 = sub_0204B184(param1, param2, heapID);
|
||||
v0 = sub_0204B470(param0, v1, param2, ¶m1->unk_30[0], param3, param4, param5, param6, heapID);
|
||||
v0 = sub_0204B470(battleTower, v1, param2, ¶m1->unk_30[0], param3, param4, param5, param6, heapID);
|
||||
|
||||
Heap_Free(v1);
|
||||
|
||||
return v0;
|
||||
}
|
||||
|
||||
void sub_0204B404(UnkStruct_0204AFC4 *param0, UnkStruct_ov104_0223A348 *param1, u16 param2, BOOL param3, const UnkStruct_0204B404 *param4, int heapID)
|
||||
void sub_0204B404(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, BOOL param3, const UnkStruct_0204B404 *param4, int heapID)
|
||||
{
|
||||
u8 v1 = 0;
|
||||
BattleFrontierTrainerData *v2 = sub_0204B184(param1, param2, heapID);
|
||||
v1 = sub_0204AE84(param2);
|
||||
|
||||
for (int v0 = 0; v0 < 2; v0++) {
|
||||
sub_0204B1E8(param0, &(param1->unk_30[v0]), param4->unk_04[v0], param4->unk_00, param4->unk_08[v0], v1, v0, param3, heapID);
|
||||
sub_0204B1E8(battleTower, &(param1->unk_30[v0]), param4->unk_04[v0], param4->unk_00, param4->unk_08[v0], v1, v0, param3, heapID);
|
||||
}
|
||||
|
||||
Heap_Free(v2);
|
||||
}
|
||||
|
||||
static BOOL sub_0204B470(UnkStruct_0204AFC4 *param0, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8)
|
||||
static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8)
|
||||
{
|
||||
int v0, v1;
|
||||
u8 v2;
|
||||
|
|
@ -437,7 +434,7 @@ static BOOL sub_0204B470(UnkStruct_0204AFC4 *param0, BattleFrontierTrainerData *
|
|||
v9 = 0;
|
||||
|
||||
while (v8 != param4) {
|
||||
v3 = sub_0204AEC0(param0) % param1->numSets;
|
||||
v3 = sub_0204AEC0(battleTower) % param1->numSets;
|
||||
v5 = param1->setIDs[v3];
|
||||
|
||||
sub_0204B640(&v12, v5);
|
||||
|
|
@ -499,14 +496,14 @@ static BOOL sub_0204B470(UnkStruct_0204AFC4 *param0, BattleFrontierTrainerData *
|
|||
}
|
||||
|
||||
v2 = sub_0204AE84(param2);
|
||||
v4 = (sub_0204AEC0(param0) | (sub_0204AEC0(param0) << 16));
|
||||
v4 = (sub_0204AEC0(battleTower) | (sub_0204AEC0(battleTower) << 16));
|
||||
|
||||
if (v9 >= 50) {
|
||||
v10 = 1;
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < v8; v0++) {
|
||||
v7[v0] = sub_0204B1E8(param0, &(param3[v0]), v6[v0], v4, 0, v2, v0, v10, param8);
|
||||
v7[v0] = sub_0204B1E8(battleTower, &(param3[v0]), v6[v0], v4, 0, v2, v0, v10, param8);
|
||||
}
|
||||
|
||||
if (param7 == NULL) {
|
||||
|
|
|
|||
|
|
@ -84,7 +84,6 @@ BOOL ScrCmd_2CC(ScriptContext *param0)
|
|||
u16 v3, v4, v5;
|
||||
u16 *v6, *v7;
|
||||
void **v8;
|
||||
UnkStruct_0204AFC4 *v9;
|
||||
UnkStruct_02030114 *v10;
|
||||
UnkStruct_0203026C *v11;
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@ BOOL ScrCmd_2D2(ScriptContext *param0)
|
|||
u16 v3, v4, v5;
|
||||
u16 *v6, *v7;
|
||||
void **v8;
|
||||
UnkStruct_0204AFC4 *v9;
|
||||
UnkStruct_020302DC *v10;
|
||||
UnkStruct_0203041C *v11;
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@ BOOL ScrCmd_2D9(ScriptContext *param0)
|
|||
u16 v3, v4, v5;
|
||||
u16 *v6, *v7;
|
||||
void **v8;
|
||||
UnkStruct_0204AFC4 *v9;
|
||||
UnkStruct_020304A0 *v10;
|
||||
UnkStruct_020305B8 *v11;
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
#include "unk_0205DFC4.h"
|
||||
|
||||
static void sub_0209BA94(int param0, int param1, void *param2, void *param3);
|
||||
BOOL sub_0209BB08(UnkStruct_0204AFC4 *param0);
|
||||
BOOL sub_0209BB08(BattleTower *battleTower);
|
||||
static void sub_0209BB34(int param0, int param1, void *param2, void *param3);
|
||||
static void sub_0209BB68(int param0, int param1, void *param2, void *param3);
|
||||
BOOL sub_0209BBA4(UnkStruct_0209BBA4 *param0);
|
||||
|
|
@ -102,44 +102,44 @@ static void sub_0209BA94(int param0, int param1, void *param2, void *param3)
|
|||
{
|
||||
u16 v0;
|
||||
int v1;
|
||||
UnkStruct_0204AFC4 *v2 = param3;
|
||||
BattleTower *battleTower = param3;
|
||||
const u16 *v3 = param2;
|
||||
|
||||
v0 = 0;
|
||||
v1 = 0;
|
||||
v2->unk_8D4++;
|
||||
battleTower->unk_8D4++;
|
||||
|
||||
if (CommSys_CurNetId() == param0) {
|
||||
return;
|
||||
}
|
||||
|
||||
v2->unk_12 = (u8)v3[0];
|
||||
v2->unk_16[0] = v3[1];
|
||||
v2->unk_16[1] = v3[2];
|
||||
v2->unk_14 = v3[3];
|
||||
v2->unk_10_5 = 5 + v2->unk_12;
|
||||
battleTower->unk_12 = (u8)v3[0];
|
||||
battleTower->unk_16[0] = v3[1];
|
||||
battleTower->unk_16[1] = v3[2];
|
||||
battleTower->unk_14 = v3[3];
|
||||
battleTower->unk_10_5 = 5 + battleTower->unk_12;
|
||||
|
||||
if ((v2->unk_2E[0] == v2->unk_16[0]) || (v2->unk_2E[0] == v2->unk_16[1])) {
|
||||
if ((battleTower->unk_2E[0] == battleTower->unk_16[0]) || (battleTower->unk_2E[0] == battleTower->unk_16[1])) {
|
||||
v0 += 1;
|
||||
}
|
||||
|
||||
if ((v2->unk_2E[1] == v2->unk_16[0]) || (v2->unk_2E[1] == v2->unk_16[1])) {
|
||||
if ((battleTower->unk_2E[1] == battleTower->unk_16[0]) || (battleTower->unk_2E[1] == battleTower->unk_16[1])) {
|
||||
v0 += 2;
|
||||
}
|
||||
|
||||
v2->unk_8D8 = v0;
|
||||
battleTower->unk_8D8 = v0;
|
||||
return;
|
||||
}
|
||||
|
||||
BOOL sub_0209BB08(UnkStruct_0204AFC4 *param0)
|
||||
BOOL sub_0209BB08(BattleTower *battleTower)
|
||||
{
|
||||
int v0, v1;
|
||||
|
||||
v1 = (14 * 2);
|
||||
|
||||
MI_CpuCopy8(param0->unk_3E, param0->unk_83E, v1);
|
||||
MI_CpuCopy8(battleTower->unk_3E, battleTower->unk_83E, v1);
|
||||
|
||||
if (CommSys_SendData(63, param0->unk_83E, v1) == 1) {
|
||||
if (CommSys_SendData(63, battleTower->unk_83E, v1) == 1) {
|
||||
v0 = 1;
|
||||
} else {
|
||||
v0 = 0;
|
||||
|
|
@ -151,11 +151,11 @@ BOOL sub_0209BB08(UnkStruct_0204AFC4 *param0)
|
|||
static void sub_0209BB34(int param0, int param1, void *param2, void *param3)
|
||||
{
|
||||
int v0;
|
||||
UnkStruct_0204AFC4 *v1 = param3;
|
||||
BattleTower *battleTower = param3;
|
||||
const u16 *v2 = param2;
|
||||
|
||||
v0 = 0;
|
||||
v1->unk_8D4++;
|
||||
battleTower->unk_8D4++;
|
||||
|
||||
if (CommSys_CurNetId() == param0) {
|
||||
return;
|
||||
|
|
@ -165,27 +165,27 @@ static void sub_0209BB34(int param0, int param1, void *param2, void *param3)
|
|||
return;
|
||||
}
|
||||
|
||||
MI_CpuCopy8(v2, v1->unk_3E, 14 * 2);
|
||||
MI_CpuCopy8(v2, battleTower->unk_3E, 14 * 2);
|
||||
return;
|
||||
}
|
||||
|
||||
static void sub_0209BB68(int param0, int param1, void *param2, void *param3)
|
||||
{
|
||||
int v0;
|
||||
UnkStruct_0204AFC4 *v1 = param3;
|
||||
BattleTower *battleTower = param3;
|
||||
const u16 *v2 = param2;
|
||||
|
||||
v0 = 0;
|
||||
|
||||
v1->unk_8D8 = 0;
|
||||
v1->unk_8D4++;
|
||||
battleTower->unk_8D8 = 0;
|
||||
battleTower->unk_8D4++;
|
||||
|
||||
if (CommSys_CurNetId() == param0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (v1->unk_10_3 || v2[0]) {
|
||||
v1->unk_8D8 = 1;
|
||||
if (battleTower->unk_10_3 || v2[0]) {
|
||||
battleTower->unk_8D8 = 1;
|
||||
}
|
||||
|
||||
return;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user