Create enum for BattleFrontierChallengeType (#965)

This commit is contained in:
VicSevenT 2026-02-23 18:34:44 -06:00 committed by GitHub
parent 4ca3e1adc1
commit 77ff2cec20
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
34 changed files with 231 additions and 213 deletions

View File

@ -3,6 +3,7 @@
#include "generated/game_records.h"
#include "generated/sdat.h"
#include "generated/trainer_score_events.h"
#include "generated/vars_flags.h"
#include "constants/colors.h"
#include "constants/fade_screen.h"
#include "constants/scrcmd.h"

View File

@ -4283,13 +4283,13 @@ VAR_REVIVED_POKEMON_SPECIES
VAR_UNK_0x40B5
VAR_UNK_0x40B6
VAR_UNK_0x40B7
VAR_UNK_0x40B8
VAR_BATTLE_FACTORY_CHALLENGE_TYPE
VAR_UNK_0x40B9
VAR_BATTLE_HALL_LOBBY_LOAD_ACTION
VAR_BATTLE_HALL_CHALLENGE_TYPE
VAR_UNK_0x40BC
VAR_UNK_0x40BD
VAR_UNK_0x40BE
VAR_BATTLE_CASTLE_CHALLENGE_TYPE
VAR_BATTLE_ARCADE_CHALLENGE_TYPE
VAR_UNK_0x40BF
VAR_UNK_0x40C0
VAR_UNK_0x40C1

View File

@ -0,0 +1,9 @@
#ifndef POKEPLATINUM_CONSTANTS_BATTLE_FRONTIER_H
#define POKEPLATINUM_CONSTANTS_BATTLE_FRONTIER_H
#define FRONTIER_CHALLENGE_SINGLE 0
#define FRONTIER_CHALLENGE_DOUBLE 1
#define FRONTIER_CHALLENGE_MULTI 2
#define FRONTIER_CHALLENGE_MULTI_WFC 3
#endif // POKEPLATINUM_CONSTANTS_BATTLE_FRONTIER_H

View File

@ -19,7 +19,7 @@ FieldBattleDTO *ov104_0223ABA0(UnkStruct_ov104_0223ADA0 *param0, UnkStruct_ov104
u8 ov104_0223ADA0(UnkStruct_ov104_0223ADA0 *param0);
void ov104_0223ADB0(UnkStruct_ov104_0223ADA0 *param0);
void ov104_0223AE30(UnkStruct_ov104_0223ADA0 *param0);
BOOL ov104_0223AED4(u8 param0);
BOOL BattleFactory_IsMultiplayerChallenge(u8 challengeType);
u16 ov104_0223AF34(UnkStruct_ov104_0223ADA0 *param0);
#endif // POKEPLATINUM_OV104_0223A7F4_H

View File

@ -15,7 +15,7 @@ FieldBattleDTO *ov104_0223B250(UnkStruct_ov104_0223B5C0 *param0, UnkStruct_ov104
u8 ov104_0223B500(u8 param0);
u8 ov104_0223B50C(u8 param0);
u8 BattleHall_CursorPosToType(u8 cursorPos);
BOOL BattleFrontier_IsMultiPlayerChallenge(u8 challengeMode);
BOOL BattleHall_IsMultiPlayerChallenge(u8 challengeType);
u8 ov104_0223B5C0(UnkStruct_ov104_0223B5C0 *param0);
u16 ov104_0223B64C(UnkStruct_ov104_0223B5C0 *param0);
fx32 ov104_0223B6C4(u32 param0);

View File

@ -13,7 +13,7 @@ u8 ov104_0223BD70(u8 param0, BOOL param1);
u8 ov104_0223BDA4(u8 param0, BOOL param1);
FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104_02230BE4 *param1);
u8 ov104_0223BFFC(UnkStruct_ov104_0223BFFC *param0);
BOOL ov104_0223C000(u8 param0);
BOOL BattleArcade_IsMultiPlayerChallenge(u8 param0);
void ov104_0223C010(UnkStruct_ov104_0223BFFC *param0, Pokemon *param1);
void ov104_0223C034(UnkStruct_ov104_0223BFFC *param0, Party *param1, Pokemon *param2);
void ov104_0223C04C(UnkStruct_ov104_0223BFFC *param0);

View File

@ -11,7 +11,7 @@ int Frontier_Extra_SaveSize(void);
void Frontier_Extra_Init(BattleFrontierStage *param0);
BattleFrontierStage *sub_020308A0(SaveData *saveData, enum HeapID heapID, int *param2);
int sub_020308A8(SaveData *saveData, BattleFrontierStage *param1);
u16 sub_020308BC(SaveData *saveData, BattleFrontierStage *param1, int param2, int param3);
u16 sub_020308BC(SaveData *saveData, BattleFrontierStage *frontierStage, int challengeType, int species);
BOOL sub_020309A0(SaveData *saveData, int param1, int param2, int param3, int param4, enum HeapID heapID, int *param6, int *param7);
#endif // POKEPLATINUM_UNK_02030880_H

View File

@ -1079,7 +1079,7 @@ _065C:
.short 0xFD13
_0662:
FrontierScrCmd_3E 0x40BE, 0x8001
FrontierScrCmd_3E VAR_BATTLE_ARCADE_CHALLENGE_TYPE, 0x8001
FrontierScrCmd_3E 0x4003, 0x8003
FrontierScrCmd_3E 0x4002, 0x8004
FrontierScrCmd_3E 0x4005, 0x8005

View File

@ -1,5 +1,6 @@
# include "macros/frscrcmd.inc"
# include "res/text/bank/battle_castle_scene.h"
# include "constants/battle_frontier.h"
.data
@ -650,15 +651,15 @@ _03BC:
.short 0xFD13
_03C2:
FrontierScrCmd_3E 0x40BD, 0x8001
FrontierScrCmd_3E VAR_BATTLE_CASTLE_CHALLENGE_TYPE, 0x8001
FrontierScrCmd_3E 0x4003, 0x8003
FrontierScrCmd_3E 0x4002, 0x8004
FrontierScrCmd_3E 0x4005, 0x8005
FrontierScrCmd_3E 0x4006, 0x8006
GetPlayerObjEventGfx 0x8007
SetVar 0x800E, 0
GoToIfEq 0x8001, 2, _041E
GoToIfEq 0x8001, 3, _041E
GoToIfEq 0x8001, FRONTIER_CHALLENGE_MULTI, _041E
GoToIfEq 0x8001, FRONTIER_CHALLENGE_MULTI_WFC, _041E
SetVar 0x800F, 231
FrontierScrCmd_22 _0008
FrontierScrCmd_24 _0024

View File

@ -1,5 +1,6 @@
# include "macros/frscrcmd.inc"
# include "res/text/bank/battle_factory_scene.h"
# include "constants/battle_frontier.h"
.data
@ -489,12 +490,12 @@ _02A8:
.short 0xFD13
_02D6:
FrontierScrCmd_3E 0x40B8, 0x8001
FrontierScrCmd_3E VAR_BATTLE_FACTORY_CHALLENGE_TYPE, 0x8001
FrontierScrCmd_3E 0x40B9, 0x8002
FrontierScrCmd_3E 0x4003, 0x8003
GetPlayerObjEventGfx 0x8007
GoToIfEq 0x8001, 2, _0320
GoToIfEq 0x8001, 3, _0320
GoToIfEq 0x8001, FRONTIER_CHALLENGE_MULTI, _0320
GoToIfEq 0x8001, FRONTIER_CHALLENGE_MULTI_WFC, _0320
SetVar 0x800F, 231
FrontierScrCmd_22 _0008
FrontierScrCmd_24 _0028

View File

@ -549,7 +549,7 @@ _0320:
.short 0xFD13
_0326:
FrontierScrCmd_3E 0x40BB, 0x8001
FrontierScrCmd_3E VAR_BATTLE_HALL_CHALLENGE_TYPE, 0x8001
FrontierScrCmd_3E 0x4003, 0x8003
FrontierScrCmd_3E 0x4002, 0x8002
FrontierScrCmd_3E 0x4005, 0x8000

View File

@ -1,5 +1,6 @@
# include "macros/frscrcmd.inc"
# include "res/text/bank/unk_0015.h"
# include "constants/battle_frontier.h"
.data
@ -90,7 +91,7 @@ _010E:
End
_012F:
FrontierScrCmd_3D 0x40B8, 3
FrontierScrCmd_3D VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI_WFC
FrontierScrCmd_3D 0x4003, 0
GoTo _0143
End
@ -128,7 +129,7 @@ _01CA:
FrontierScrCmd_B2 7, 4, 0, 0x8008
SetVar 0x8004, 0
SetVar 0x8009, 4
FrontierScrCmd_3D 0x40BD, 3
FrontierScrCmd_3D VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI_WFC
FrontierScrCmd_3D 0x4003, 0
GoTo _0254
End
@ -137,7 +138,7 @@ _01F1:
FrontierScrCmd_B2 7, 5, 0, 0x8008
SetVar 0x8004, 0
SetVar 0x8009, 5
FrontierScrCmd_3D 0x40BB, 3
FrontierScrCmd_3D VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI_WFC
FrontierScrCmd_3D 0x4003, 0
GoTo _0254
End
@ -146,7 +147,7 @@ _0218:
FrontierScrCmd_B2 7, 6, 0, 0x8008
SetVar 0x8004, 0
SetVar 0x8009, 6
FrontierScrCmd_3D 0x40BE, 3
FrontierScrCmd_3D VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI_WFC
FrontierScrCmd_3D 0x4003, 0
GoTo _0254
End

View File

@ -1,5 +1,6 @@
#include "macros/scrcmd.inc"
#include "res/text/bank/battle_arcade.h"
#include "constants/battle_frontier.h"
ScriptEntry _0065
@ -88,7 +89,7 @@ _014D:
End
_015E:
SetVar VAR_UNK_0x40BE, 0
SetVar VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE
ScrCmd_2D9 0, 3, VAR_RESULT
BufferNumber 0, 3
BufferNumber 1, 3
@ -97,7 +98,7 @@ _015E:
End
_018B:
SetVar VAR_UNK_0x40BE, 1
SetVar VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE
ScrCmd_2D9 0, 3, VAR_RESULT
BufferNumber 0, 3
BufferNumber 1, 3
@ -106,7 +107,7 @@ _018B:
End
_01B8:
SetVar VAR_UNK_0x40BE, 2
SetVar VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI
ScrCmd_2D9 0, 2, VAR_RESULT
BufferNumber 0, 2
BufferNumber 1, 2
@ -131,7 +132,7 @@ _020B:
CloseMessage
FadeScreenOut
WaitFadeScreen
ScrCmd_2D9 4, VAR_UNK_0x40BE, VAR_RESULT
ScrCmd_2D9 4, VAR_BATTLE_ARCADE_CHALLENGE_TYPE, VAR_RESULT
ScrCmd_2DB VAR_MAP_LOCAL_2, VAR_MAP_LOCAL_5, VAR_MAP_LOCAL_6
ReturnToField
FadeScreenIn
@ -153,14 +154,14 @@ _029B:
End
_02A3:
CallIfEq VAR_UNK_0x40BE, 0, _0448
CallIfEq VAR_UNK_0x40BE, 1, _0448
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _0448
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _0448
SetVar VAR_MAP_LOCAL_0, 0
HealParty
Common_SaveGame
SetVar VAR_RESULT, VAR_MAP_LOCAL_0
GoToIfEq VAR_RESULT, 0, _0145
GoToIfEq VAR_UNK_0x40BE, 2, _02F1
GoToIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _02F1
GoTo _04A9
End
@ -231,7 +232,7 @@ _03DD:
ClearReceivedTempDataAllPlayers
ScrCmd_135 156
Message 45
CallIfEq VAR_UNK_0x40BE, 2, _0448
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _0448
Call _06DF
GoTo _04A9
End
@ -273,9 +274,9 @@ _049F:
Return
_04A9:
CallIfEq VAR_UNK_0x40BE, 0, _0549
CallIfEq VAR_UNK_0x40BE, 1, _0564
CallIfEq VAR_UNK_0x40BE, 2, _057F
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _0549
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _0564
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _057F
PlayFanfare SEQ_SE_DP_KAIDAN2
GoTo _04DC
End
@ -283,14 +284,14 @@ _04A9:
_04DC:
FadeScreenOut
WaitFadeScreen
CallIfEq VAR_UNK_0x40BE, 0, _05A5
CallIfEq VAR_UNK_0x40BE, 1, _05B9
CallIfEq VAR_UNK_0x40BE, 2, _05CD
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _05A5
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _05B9
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _05CD
IncrementGameRecord RECORD_UNK_058
CreateJournalEvent LOCATION_EVENT_BATTLE_ARCADE, 0, 0, 0, 0
WaitForTransition
ScrCmd_2C4 15
CallIfEq VAR_UNK_0x40BE, 2, _0545
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _0545
ReturnToField
FadeScreenIn
WaitFadeScreen
@ -462,13 +463,13 @@ _06DF:
_06F1:
Message 34
ScrCmd_2DC VAR_UNK_0x40BE
ScrCmd_2DC VAR_BATTLE_ARCADE_CHALLENGE_TYPE
GoTo _0145
End
_0700:
CallIfEq VAR_UNK_0x40BE, 0, _073C
CallIfEq VAR_UNK_0x40BE, 1, _073C
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _073C
CallIfEq VAR_BATTLE_ARCADE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _073C
CallIfEq VAR_BATTLE_ARCADE_PRINT_STATE, 1, _0742
CallIfEq VAR_BATTLE_ARCADE_PRINT_STATE, 3, _0759
GoTo _0145

View File

@ -1,5 +1,6 @@
#include "macros/scrcmd.inc"
#include "res/text/bank/battle_castle.h"
#include "constants/battle_frontier.h"
ScriptEntry _0059
@ -85,7 +86,7 @@ _0141:
End
_0152:
SetVar VAR_UNK_0x40BD, 0
SetVar VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE
ScrCmd_2D2 0, 3, VAR_RESULT
BufferNumber 0, 3
BufferNumber 1, 3
@ -94,7 +95,7 @@ _0152:
End
_017F:
SetVar VAR_UNK_0x40BD, 1
SetVar VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE
ScrCmd_2D2 0, 3, VAR_RESULT
BufferNumber 0, 3
BufferNumber 1, 3
@ -103,7 +104,7 @@ _017F:
End
_01AC:
SetVar VAR_UNK_0x40BD, 2
SetVar VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI
ScrCmd_2D2 0, 2, VAR_RESULT
BufferNumber 0, 2
BufferNumber 1, 2
@ -128,7 +129,7 @@ _01FF:
CloseMessage
FadeScreenOut
WaitFadeScreen
ScrCmd_2D2 4, VAR_UNK_0x40BD, VAR_RESULT
ScrCmd_2D2 4, VAR_BATTLE_CASTLE_CHALLENGE_TYPE, VAR_RESULT
ScrCmd_2D4 VAR_MAP_LOCAL_2, VAR_MAP_LOCAL_5, VAR_MAP_LOCAL_6
ReturnToField
FadeScreenIn
@ -150,14 +151,14 @@ _028F:
End
_0297:
CallIfEq VAR_UNK_0x40BD, 0, _043C
CallIfEq VAR_UNK_0x40BD, 1, _043C
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _043C
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _043C
SetVar VAR_MAP_LOCAL_0, 0
HealParty
Common_SaveGame
SetVar VAR_RESULT, VAR_MAP_LOCAL_0
GoToIfEq VAR_RESULT, 0, _0139
GoToIfEq VAR_UNK_0x40BD, 2, _02E5
GoToIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _02E5
GoTo _049D
End
@ -228,7 +229,7 @@ _03D1:
ClearReceivedTempDataAllPlayers
ScrCmd_135 138
Message 45
CallIfEq VAR_UNK_0x40BD, 2, _043C
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _043C
Call _06CB
GoTo _049D
End
@ -270,9 +271,9 @@ _0493:
Return
_049D:
CallIfEq VAR_UNK_0x40BD, 0, _053D
CallIfEq VAR_UNK_0x40BD, 1, _0558
CallIfEq VAR_UNK_0x40BD, 2, _0573
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _053D
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _0558
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _0573
PlayFanfare SEQ_SE_DP_KAIDAN2
GoTo _04D0
End
@ -280,14 +281,14 @@ _049D:
_04D0:
FadeScreenOut
WaitFadeScreen
CallIfEq VAR_UNK_0x40BD, 0, _0599
CallIfEq VAR_UNK_0x40BD, 1, _05AD
CallIfEq VAR_UNK_0x40BD, 2, _05C1
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _0599
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _05AD
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _05C1
IncrementGameRecord RECORD_UNK_058
CreateJournalEvent LOCATION_EVENT_BATTLE_CASTLE, 0, 0, 0, 0
WaitForTransition
ScrCmd_2C4 11
CallIfEq VAR_UNK_0x40BD, 2, _0539
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _0539
ReturnToField
FadeScreenIn
WaitFadeScreen
@ -457,13 +458,13 @@ _06CB:
_06DD:
Message 34
ScrCmd_2D5 VAR_UNK_0x40BD
ScrCmd_2D5 VAR_BATTLE_CASTLE_CHALLENGE_TYPE
GoTo _0139
End
_06EC:
CallIfEq VAR_UNK_0x40BD, 0, _0728
CallIfEq VAR_UNK_0x40BD, 1, _0728
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _0728
CallIfEq VAR_BATTLE_CASTLE_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _0728
CallIfEq VAR_BATTLE_CASTLE_PRINT_STATE, 1, _072E
CallIfEq VAR_BATTLE_CASTLE_PRINT_STATE, 3, _0745
GoTo _0139

View File

@ -1,5 +1,6 @@
#include "macros/scrcmd.inc"
#include "res/text/bank/battle_factory.h"
#include "constants/battle_frontier.h"
ScriptEntry _0059
@ -85,17 +86,17 @@ _0141:
End
_0152:
SetVar VAR_UNK_0x40B8, 0
SetVar VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE
GoTo _017C
End
_0160:
SetVar VAR_UNK_0x40B8, 1
SetVar VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE
GoTo _017C
End
_016E:
SetVar VAR_UNK_0x40B8, 2
SetVar VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI
GoTo _017C
End
@ -127,14 +128,14 @@ _01D6:
End
_01DE:
CallIfEq VAR_UNK_0x40B8, 0, _0386
CallIfEq VAR_UNK_0x40B8, 1, _0386
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _0386
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _0386
SetVar VAR_MAP_LOCAL_0, 0
HealParty
Common_SaveGame
SetVar VAR_RESULT, VAR_MAP_LOCAL_0
GoToIfEq VAR_RESULT, 0, _0139
GoToIfEq VAR_UNK_0x40B8, 2, _022C
GoToIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _022C
GoTo _038E
End
@ -212,7 +213,7 @@ _035E:
_0368:
Message 26
CallIfEq VAR_UNK_0x40B8, 2, _0386
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _0386
Call _05D7
GoTo _038E
End
@ -222,9 +223,9 @@ _0386:
Return
_038E:
CallIfEq VAR_UNK_0x40B8, 0, _042E
CallIfEq VAR_UNK_0x40B8, 1, _0449
CallIfEq VAR_UNK_0x40B8, 2, _0464
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _042E
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _0449
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _0464
PlayFanfare SEQ_SE_DP_KAIDAN2
GoTo _03C1
End
@ -232,14 +233,14 @@ _038E:
_03C1:
FadeScreenOut
WaitFadeScreen
CallIfEq VAR_UNK_0x40B8, 0, _048A
CallIfEq VAR_UNK_0x40B8, 1, _049E
CallIfEq VAR_UNK_0x40B8, 2, _04B2
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _048A
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _049E
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _04B2
IncrementGameRecord RECORD_UNK_058
CreateJournalEvent LOCATION_EVENT_BATTLE_FACTORY, 0, 0, 0, 0
WaitForTransition
ScrCmd_2C4 3
CallIfEq VAR_UNK_0x40B8, 2, _042A
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _042A
ReturnToField
FadeScreenIn
WaitFadeScreen
@ -414,13 +415,13 @@ _05D7:
_05E9:
Message 12
ScrCmd_2C5 VAR_UNK_0x40B8, VAR_UNK_0x40B9
ScrCmd_2C5 VAR_BATTLE_FACTORY_CHALLENGE_TYPE, VAR_UNK_0x40B9
GoTo _0139
End
_05FA:
CallIfEq VAR_UNK_0x40B8, 0, _0636
CallIfEq VAR_UNK_0x40B8, 1, _0636
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _0636
CallIfEq VAR_BATTLE_FACTORY_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _0636
CallIfEq VAR_BATTLE_FACTORY_PRINT_STATE, 1, _063C
CallIfEq VAR_BATTLE_FACTORY_PRINT_STATE, 3, _0653
GoTo _0139

View File

@ -2,6 +2,7 @@
#include "res/text/bank/battle_hall.h"
#include "res/text/bank/menu_entries.h"
#include "res/field/events/events_battle_hall.h"
#include "constants/battle_frontier.h"
ScriptEntry BattleHall_SingleAttendant
@ -219,21 +220,21 @@ _0355:
End
BattleHall_CheckSingleBattleEligibility:
SetVar VAR_BATTLE_HALL_CHALLENGE_TYPE, 0
SetVar VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE
ScrCmd_2CC 0, 1, VAR_RESULT
GoToIfEq VAR_RESULT, 0, BattleHall_PrintEligbilityRuleOnePokemon
GoTo BattleHall_SelectPokemonForChallenge
End
BattleHall_CheckDoubleBattleEligibility:
SetVar VAR_BATTLE_HALL_CHALLENGE_TYPE, 1
SetVar VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE
ScrCmd_2CC 0, 2, VAR_RESULT
GoToIfEq VAR_RESULT, 0, BattleHall_PrintEligbilityRulesForTwoPokemon
GoTo BattleHall_SelectPokemonForChallenge
End
BattleHall_CheckMultiBattleEligibility:
SetVar VAR_BATTLE_HALL_CHALLENGE_TYPE, 2
SetVar VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI
ScrCmd_2CC 0, 1, VAR_RESULT
GoToIfEq VAR_RESULT, 0, BattleHall_PrintEligbilityRuleOnePokemon
GoTo BattleHall_SelectPokemonForChallenge
@ -298,14 +299,14 @@ BattleHall_HealAndSaveBeforeChallenge:
End
_04FC:
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 0, BattleHall_SetChallengeAsInProgress
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 1, BattleHall_SetChallengeAsInProgress
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, BattleHall_SetChallengeAsInProgress
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, BattleHall_SetChallengeAsInProgress
SetVar VAR_MAP_LOCAL_0, 0
HealParty
Common_SaveGame
SetVar VAR_RESULT, VAR_MAP_LOCAL_0
GoToIfEq VAR_RESULT, 0, BattleHall_EndChallenge
GoToIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 2, BattleHall_StartWifiCommunication
GoToIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, BattleHall_StartWifiCommunication
GoTo BattleHall_WalkIntoCorridor
End
@ -371,7 +372,7 @@ BattleHall_StartMultiChallenge:
ClearReceivedTempDataAllPlayers
ScrCmd_135 110
Message BattleHall_Text_MustSaveFirst
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 2, BattleHall_SetChallengeAsInProgress
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, BattleHall_SetChallengeAsInProgress
Call BattleHall_SaveGame
GoTo BattleHall_WalkIntoCorridor
End
@ -391,9 +392,9 @@ _068C:
Return
BattleHall_WalkIntoCorridor:
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 0, BattleHall_WalkToStartSingleBattle
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 1, BattleHall_WalkToStartDoubleBattle
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 2, BattleHall_WalkToStartMultiBattle
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, BattleHall_WalkToStartSingleBattle
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, BattleHall_WalkToStartDoubleBattle
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, BattleHall_WalkToStartMultiBattle
PlayFanfare SEQ_SE_DP_KAIDAN2
GoTo BattleHall_SetupAndRunFrontierScript
End
@ -401,14 +402,14 @@ BattleHall_WalkIntoCorridor:
BattleHall_SetupAndRunFrontierScript:
FadeScreenOut
WaitFadeScreen
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 0, _078C
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 1, _07A0
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 2, _07B4
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, _078C
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, _07A0
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _07B4
IncrementGameRecord RECORD_UNK_058
CreateJournalEvent LOCATION_EVENT_BATTLE_HALL, 0, 0, 0, 0
WaitForTransition
ScrCmd_2C4 9
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 2, _072C
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_MULTI, _072C
ReturnToField
FadeScreenIn
WaitFadeScreen
@ -591,8 +592,8 @@ BattleHall_DidntSaveBeforeQuit:
End
BattleHall_ChallengeEndedBPEarned:
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 0, BattleHall_IncrementTrainerScore
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, 1, BattleHall_IncrementTrainerScore
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_SINGLE, BattleHall_IncrementTrainerScore
CallIfEq VAR_BATTLE_HALL_CHALLENGE_TYPE, FRONTIER_CHALLENGE_DOUBLE, BattleHall_IncrementTrainerScore
CallIfEq VAR_BATTLE_HALL_PRINT_STATE, 1, BattleHall_SilverPrintEarned
CallIfEq VAR_BATTLE_HALL_PRINT_STATE, 3, BattleHall_GoldPrintEarned
GoTo BattleHall_EndChallenge

View File

@ -321,20 +321,20 @@ _0430:
End
_043C:
Dummy1F9 VAR_UNK_0x40B8
Dummy1F9 VAR_BATTLE_FACTORY_CHALLENGE_TYPE
SetVar VAR_UNK_0x40DD, 0
SetVar VAR_UNK_0x40DE, 0
SetVar VAR_UNK_0x40B8, 0
SetVar VAR_BATTLE_FACTORY_CHALLENGE_TYPE, 0
SetVar VAR_UNK_0x40B9, 0
SetVar VAR_UNK_0x40BD, 0
SetVar VAR_BATTLE_CASTLE_CHALLENGE_TYPE, 0
SetVar VAR_BATTLE_HALL_CHALLENGE_TYPE, 0
SetVar VAR_UNK_0x40BE, 0
SetVar VAR_BATTLE_ARCADE_CHALLENGE_TYPE, 0
SetVar VAR_UNK_0x40D8, 0
SetVar VAR_UNK_0x40B7, 0
SetVar VAR_UNK_0x40BC, 0
SetVar VAR_BATTLE_HALL_LOBBY_LOAD_ACTION, 0
SetVar VAR_UNK_0x40BF, 0
Dummy1F9 VAR_UNK_0x40B8
Dummy1F9 VAR_BATTLE_FACTORY_CHALLENGE_TYPE
End
_048E:

View File

@ -2,6 +2,8 @@
#include <nitro.h>
#include "constants/battle_frontier.h"
#include "applications/party_menu/main.h"
#include "char_transfer.h"
@ -63,7 +65,7 @@ void BattleCastleApp_InitSpriteManager(BattleCastleAppSpriteManager *spriteMan,
Pokemon *mon;
if (i == 3) {
if (challengeType == 0) {
if (challengeType == FRONTIER_CHALLENGE_SINGLE) {
mon = Party_GetPokemonBySlotIndex(party, 0);
} else {
mon = Party_GetPokemonBySlotIndex(party, i);

View File

@ -2,6 +2,7 @@
#include <nitro.h>
#include "constants/battle_frontier.h"
#include "constants/scrcmd.h"
#include "applications/frontier/battle_hall/sprite_manager.h"
@ -267,7 +268,7 @@ BOOL BattleHallApp_Init(ApplicationManager *appMan, int *state)
LoadAssets(app);
if (BattleFrontier_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
if (BattleHall_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
sub_0209BA80(app);
}
@ -304,7 +305,7 @@ BOOL BattleHallApp_Main(ApplicationManager *appMan, int *state)
} else if (app->summaryScreenOpened == TRUE) {
ChangeState(app, state, STATE_MON_SUMMARY);
return FALSE;
} else if (BattleFrontier_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
} else if (BattleHall_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
ChangeState(app, state, STATE_SYNC_BEFORE_EXIT);
} else {
ChangeState(app, state, STATE_FADE_OUT);
@ -316,7 +317,7 @@ BOOL BattleHallApp_Main(ApplicationManager *appMan, int *state)
if (app->selectionCanceled == TRUE) {
app->selectionCanceled = FALSE;
ChangeState(app, state, STATE_SELECT_BATTLE);
} else if (BattleFrontier_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
} else if (BattleHall_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
ChangeState(app, state, STATE_SYNC_BEFORE_EXIT);
} else {
ChangeState(app, state, STATE_FADE_OUT);
@ -364,7 +365,7 @@ static BOOL State_FadeInApp(BattleHallApp *app)
{
switch (app->subState) {
case 0:
if (!app->isSynced && BattleFrontier_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
if (!app->isSynced && BattleHall_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
CommTool_ClearReceivedTempDataAllPlayers();
CommTiming_StartSync(112);
}
@ -372,7 +373,7 @@ static BOOL State_FadeInApp(BattleHallApp *app)
app->subState++;
break;
case 1:
if (!app->isSynced && BattleFrontier_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
if (!app->isSynced && BattleHall_IsMultiPlayerChallenge(app->challengeType) == TRUE) {
if (CommTiming_IsSyncState(112) == TRUE) {
CommTool_ClearReceivedTempDataAllPlayers();
app->isSynced = TRUE;
@ -459,7 +460,7 @@ static BOOL State_SelectNextBattle(BattleHallApp *app)
Sound_PlayEffect(SEQ_SE_DP_DECIDE);
if (!BattleFrontier_IsMultiPlayerChallenge(app->challengeType)) {
if (!BattleHall_IsMultiPlayerChallenge(app->challengeType)) {
ChangeCellBackground(app->bgConfig, app->cursorPos, CELL_BACKGROUND_SELECTED);
Bg_ScheduleTilemapTransfer(app->bgConfig, BG_LAYER_MAIN_3);
}
@ -473,7 +474,7 @@ static BOOL State_SelectNextBattle(BattleHallApp *app)
app->openMenuDelay--;
if (app->openMenuDelay == 0) {
if (!BattleFrontier_IsMultiPlayerChallenge(app->challengeType)) {
if (!BattleHall_IsMultiPlayerChallenge(app->challengeType)) {
DrawMessageWithYesNoMenu(app);
app->subState = SELECT_STATE_PROCESS_YES_NO;
break;
@ -1380,7 +1381,7 @@ static u8 GetCursorPos(u8 cursorPos)
static BOOL NextOpponentIsHallMatron(BattleHallApp *app)
{
if (app->challengeType == 0) {
if (app->challengeType == FRONTIER_CHALLENGE_SINGLE) {
if (app->currentStreak == 50 || app->currentStreak == 170) {
return TRUE;
}
@ -1396,7 +1397,7 @@ static BOOL IsHallMatronBattleAvailable(BattleHallApp *app)
BOOL SendCommMessage(BattleHallApp *app, u16 cmd, u16 arg)
{
if (!BattleFrontier_IsMultiPlayerChallenge(app->challengeType)) {
if (!BattleHall_IsMultiPlayerChallenge(app->challengeType)) {
return FALSE;
}

View File

@ -344,7 +344,7 @@ BOOL FrontierScrCmd_67(FrontierScriptContext *param0)
sub_0209BA80(v4);
break;
case 28:
*v15 = ov104_0223AED4(v4->unk_04);
*v15 = BattleFactory_IsMultiplayerChallenge(v4->unk_04);
break;
case 29:
*v15 = v4->unk_04;

View File

@ -109,7 +109,7 @@ UnkStruct_ov104_0223ADA0 *ov104_022339B4(SaveData *saveData, u16 param1, u8 para
v7->unk_0E = (u16)(v7->unk_0C / 7);
if (ov104_0223AED4(v7->unk_04) == 1) {
if (BattleFactory_IsMultiplayerChallenge(v7->unk_04) == 1) {
ov104_0222E630(v7->saveData);
}
@ -148,7 +148,7 @@ static void ov104_02233BAC(UnkStruct_ov104_0223ADA0 *param0)
v2[v0] = param0->unk_280[v0];
}
if (ov104_0223AED4(param0->unk_04) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_04) == 1) {
for (v0 = 0; v0 < 6; v0++) {
v5[v0] = param0->unk_280[v0].species;
v6[v0] = param0->unk_280[v0].item;

View File

@ -243,7 +243,7 @@ BOOL FrontierScrCmd_91(FrontierScriptContext *param0)
sub_0209BA80(v3);
break;
case 30:
*v11 = BattleFrontier_IsMultiPlayerChallenge(v3->unk_04);
*v11 = BattleHall_IsMultiPlayerChallenge(v3->unk_04);
break;
case 17:
*v11 = v3->unk_04;

View File

@ -129,7 +129,7 @@ UnkStruct_ov104_0223B5C0 *ov104_02234DB4(SaveData *saveData, u16 param1, u8 para
}
}
if (BattleFrontier_IsMultiPlayerChallenge(v10->unk_04) == 1) {
if (BattleHall_IsMultiPlayerChallenge(v10->unk_04) == 1) {
ov104_0222E630(v10->saveData);
}

View File

@ -402,7 +402,7 @@ BOOL FrontierScrCmd_BF(FrontierScriptContext *param0)
sub_0209BA80(v3);
break;
case 28:
*v20 = ov104_0223C000(v3->unk_10);
*v20 = BattleArcade_IsMultiPlayerChallenge(v3->unk_10);
break;
case 17:
*v20 = v3->unk_10;
@ -448,7 +448,7 @@ BOOL FrontierScrCmd_BF(FrontierScriptContext *param0)
ov104_02238658(v3, v15);
break;
case 37:
if (ov104_0223C000(v3->unk_10) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(v3->unk_10) == 1) {
ov104_02238728(v3, v15);
}
break;
@ -458,7 +458,7 @@ BOOL FrontierScrCmd_BF(FrontierScriptContext *param0)
if (v6 == 0) {
StringTemplate_SetFrontierTrainerName(param0->unk_00->strTemplate, v18, v3->unk_78[ov104_02238498(v3, v19)]);
} else {
if (ov104_0223C000(v3->unk_10) == 0) {
if (BattleArcade_IsMultiPlayerChallenge(v3->unk_10) == 0) {
v16 = SaveData_GetTrainerInfo(v14->saveData);
} else {
v16 = CommInfo_TrainerInfo(v19);

View File

@ -224,7 +224,7 @@ UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 para
}
}
if (ov104_0223C000(v9->unk_10) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(v9->unk_10) == 1) {
ov104_0222E630(v9->saveData);
}
@ -246,7 +246,7 @@ static void ov104_02238080(UnkStruct_ov104_0223BFFC *param0)
{
ov104_0223BD28(param0->unk_10, ov104_0223C124(param0), param0->unk_78, (7 * 2));
ov104_0222E4BC(ov104_0223BDA4(param0->unk_10, 1), param0->unk_78[param0->unk_11], param0->unk_78[param0->unk_11 + 7], param0->unk_314, param0->unk_330, param0->unk_31C, param0->unk_320, ov104_0223C000(param0->unk_10));
ov104_0222E4BC(ov104_0223BDA4(param0->unk_10, 1), param0->unk_78[param0->unk_11], param0->unk_78[param0->unk_11 + 7], param0->unk_314, param0->unk_330, param0->unk_31C, param0->unk_320, BattleArcade_IsMultiPlayerChallenge(param0->unk_10));
u16 v0 = ov104_0223C124(param0);
@ -488,7 +488,7 @@ void ov104_022384DC(UnkStruct_ov104_0223BFFC *param0)
int v0, v1, v2;
u8 v3;
ov104_0222E4BC(ov104_0223BDA4(param0->unk_10, 1), param0->unk_78[param0->unk_11], param0->unk_78[param0->unk_11 + 7], param0->unk_314, param0->unk_330, param0->unk_31C, param0->unk_320, ov104_0223C000(param0->unk_10));
ov104_0222E4BC(ov104_0223BDA4(param0->unk_10, 1), param0->unk_78[param0->unk_11], param0->unk_78[param0->unk_11 + 7], param0->unk_314, param0->unk_330, param0->unk_31C, param0->unk_320, BattleArcade_IsMultiPlayerChallenge(param0->unk_10));
for (v0 = 0; v0 < 4; v0++) {
(void)0;
@ -573,7 +573,7 @@ static int ov104_02238584(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party
}
}
if (ov104_0223C000(param0->unk_10) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_10) == 1) {
for (v3 = 0; v3 < param3; v3++) {
v5 = Party_GetPokemonBySlotIndex(param2, v3);

View File

@ -3,6 +3,8 @@
#include <nitro.h>
#include <string.h>
#include "constants/battle_frontier.h"
#include "struct_defs/battle_frontier_pokemon_data.h"
#include "struct_defs/battle_frontier_trainer_data.h"
@ -86,7 +88,6 @@ static u32 ov104_0223AD74(u8 param0);
u8 ov104_0223ADA0(UnkStruct_ov104_0223ADA0 *param0);
void ov104_0223ADB0(UnkStruct_ov104_0223ADA0 *param0);
void ov104_0223AE30(UnkStruct_ov104_0223ADA0 *param0);
BOOL ov104_0223AED4(u8 param0);
static u16 ov104_0223AEE4(UnkStruct_ov104_0223ADA0 *param0);
u16 ov104_0223AF34(UnkStruct_ov104_0223ADA0 *param0);
void FieldBattleDTO_CopyPlayerInfoToTrainerData(FieldBattleDTO *param0);
@ -393,7 +394,7 @@ FieldBattleDTO *ov104_0223ABA0(UnkStruct_ov104_0223ADA0 *param0, UnkStruct_ov104
v5 = Pokemon_New(HEAP_ID_FIELD2);
for (v0 = 0; v0 < v3; v0++) {
Pokemon_Copy(Party_GetPokemonBySlotIndex(param0->unk_4D8, (v3 + v0)), v5);
Pokemon_Copy(Party_GetPokemonBySlotIndex(param0->unk_4D8, v3 + v0), v5);
FieldBattleDTO_AddPokemonToBattler(v4, v5, 3);
}
@ -458,7 +459,7 @@ void ov104_0223AE30(UnkStruct_ov104_0223ADA0 *param0)
v1 = Party_GetCurrentCount(param0->unk_4D4);
for (v0 = v1; v0 > 2; v0--) {
Party_RemovePokemonBySlotIndex(param0->unk_4D4, (v0 - 1));
Party_RemovePokemonBySlotIndex(param0->unk_4D4, v0 - 1);
}
ov104_0222E330(v3, param0->unk_584, param0->unk_590, param0->unk_598, NULL, 2, 11, 179);
@ -475,15 +476,9 @@ void ov104_0223AE30(UnkStruct_ov104_0223ADA0 *param0)
return;
}
BOOL ov104_0223AED4(u8 param0)
BOOL BattleFactory_IsMultiplayerChallenge(u8 challengeType)
{
switch (param0) {
case 2:
case 3:
return 1;
}
return 0;
return challengeType == FRONTIER_CHALLENGE_MULTI || challengeType == FRONTIER_CHALLENGE_MULTI_WFC;
}
static u16 ov104_0223AEE4(UnkStruct_ov104_0223ADA0 *param0)
@ -517,7 +512,7 @@ u16 ov104_0223AF34(UnkStruct_ov104_0223ADA0 *param0)
{
u16 v0 = param0->unk_0E;
if (ov104_0223AED4(param0->unk_04) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_04) == 1) {
if (param0->unk_57E > param0->unk_0E) {
v0 = param0->unk_57E;
}

View File

@ -3,6 +3,8 @@
#include <nitro.h>
#include <string.h>
#include "constants/battle_frontier.h"
#include "overlay104/ov104_0222DCE0.h"
#include "overlay104/struct_ov104_02230BE4.h"
#include "overlay104/struct_ov104_0223B5C0.h"
@ -1769,9 +1771,9 @@ u8 BattleHall_CursorPosToType(u8 cursorPos)
return sBattleHallAppGridOrder[cursorPos];
}
BOOL BattleFrontier_IsMultiPlayerChallenge(u8 challengeMode)
BOOL BattleHall_IsMultiPlayerChallenge(u8 challengeType)
{
return challengeMode == 2 || challengeMode == 3;
return challengeType == FRONTIER_CHALLENGE_MULTI || challengeType == FRONTIER_CHALLENGE_MULTI_WFC;
}
u8 ov104_0223B5C0(UnkStruct_ov104_0223B5C0 *param0)
@ -1849,7 +1851,7 @@ u16 ov104_0223B64C(UnkStruct_ov104_0223B5C0 *param0)
return v3;
}
} else {
if (BattleFrontier_IsMultiPlayerChallenge(param0->unk_04) == 1) {
if (BattleHall_IsMultiPlayerChallenge(param0->unk_04) == 1) {
if (v2 > param0->unk_D84[0]) {
return v2;
} else {

View File

@ -3,6 +3,8 @@
#include <nitro.h>
#include <string.h>
#include "constants/battle_frontier.h"
#include "struct_defs/battle_frontier.h"
#include "overlay104/ov104_0222DCE0.h"
@ -114,11 +116,11 @@ void ov104_0223B760(u8 param0, int param1, u16 param2[], u8 param3)
u8 BattleCastle_GetPartySize(u8 challengeType, BOOL includePartnersMons)
{
switch (challengeType) {
case 0:
case 1:
case FRONTIER_CHALLENGE_SINGLE:
case FRONTIER_CHALLENGE_DOUBLE:
return 3;
case 2:
case 3:
case FRONTIER_CHALLENGE_MULTI:
case FRONTIER_CHALLENGE_MULTI_WFC:
if (includePartnersMons == FALSE) {
return 2;
} else {
@ -178,7 +180,7 @@ FieldBattleDTO *ov104_0223B810(UnkStruct_ov104_0223BA10 *param0, UnkStruct_ov104
v6 = Pokemon_New(HEAP_ID_FIELD2);
for (v0 = 0; v0 < v2; v0++) {
Pokemon_Copy(Party_GetPokemonBySlotIndex(param0->unk_28, (v4 + v0)), v6);
Pokemon_Copy(Party_GetPokemonBySlotIndex(param0->unk_28, v4 + v0), v6);
FieldBattleDTO_AddPokemonToBattler(v5, v6, 0);
}
@ -218,7 +220,7 @@ FieldBattleDTO *ov104_0223B810(UnkStruct_ov104_0223BA10 *param0, UnkStruct_ov104
v6 = Pokemon_New(HEAP_ID_FIELD2);
for (v0 = 0; v0 < v3; v0++) {
Pokemon_Copy(Party_GetPokemonBySlotIndex(param0->unk_2C, (v3 + v0)), v6);
Pokemon_Copy(Party_GetPokemonBySlotIndex(param0->unk_2C, v3 + v0), v6);
FieldBattleDTO_AddPokemonToBattler(v5, v6, 3);
}
@ -252,7 +254,7 @@ u8 ov104_0223BA10(UnkStruct_ov104_0223BA10 *param0)
BOOL BattleCastle_IsMultiPlayerChallenge(u8 challengeType)
{
return challengeType == 2 || challengeType == 3;
return challengeType == FRONTIER_CHALLENGE_MULTI || challengeType == FRONTIER_CHALLENGE_MULTI_WFC;
}
void ov104_0223BA24(Party *param0)

View File

@ -3,6 +3,8 @@
#include <nitro.h>
#include <string.h>
#include "constants/battle_frontier.h"
#include "struct_defs/battle_frontier_trainer_data.h"
#include "overlay104/ov104_0222DCE0.h"
@ -27,7 +29,6 @@ u8 ov104_0223BDA4(u8 param0, BOOL param1);
FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104_02230BE4 *param1);
static u32 ov104_0223BFD0(u8 param0);
u8 ov104_0223BFFC(UnkStruct_ov104_0223BFFC *param0);
BOOL ov104_0223C000(u8 param0);
void ov104_0223C04C(UnkStruct_ov104_0223BFFC *param0);
void ov104_0223C010(UnkStruct_ov104_0223BFFC *param0, Pokemon *param1);
void ov104_0223C034(UnkStruct_ov104_0223BFFC *param0, Party *param1, Pokemon *param2);
@ -195,7 +196,7 @@ FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104
v6 = Pokemon_New(HEAP_ID_FIELD2);
for (v0 = 0; v0 < v2; v0++) {
Pokemon_Copy(Party_GetPokemonBySlotIndex(v12, (v4 + v0)), v6);
Pokemon_Copy(Party_GetPokemonBySlotIndex(v12, v4 + v0), v6);
FieldBattleDTO_AddPokemonToBattler(v5, v6, 0);
}
@ -237,7 +238,7 @@ FieldBattleDTO *ov104_0223BDD8(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104
v6 = Pokemon_New(HEAP_ID_FIELD2);
for (v0 = 0; v0 < v3; v0++) {
Pokemon_Copy(Party_GetPokemonBySlotIndex(v13, (v3 + v0)), v6);
Pokemon_Copy(Party_GetPokemonBySlotIndex(v13, v3 + v0), v6);
FieldBattleDTO_AddPokemonToBattler(v5, v6, 3);
}
@ -272,15 +273,9 @@ u8 ov104_0223BFFC(UnkStruct_ov104_0223BFFC *param0)
return 50;
}
BOOL ov104_0223C000(u8 param0)
BOOL BattleArcade_IsMultiPlayerChallenge(u8 challengeType)
{
switch (param0) {
case 2:
case 3:
return 1;
}
return 0;
return challengeType == FRONTIER_CHALLENGE_MULTI || challengeType == FRONTIER_CHALLENGE_MULTI_WFC;
}
void ov104_0223C010(UnkStruct_ov104_0223BFFC *param0, Pokemon *param1)
@ -382,7 +377,7 @@ u16 ov104_0223C124(UnkStruct_ov104_0223BFFC *param0)
{
u16 v0 = param0->unk_1A;
if (ov104_0223C000(param0->unk_10) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_10) == 1) {
if (param0->unk_A76 > param0->unk_1A) {
v0 = param0->unk_A76;
}

View File

@ -373,7 +373,7 @@ int ov105_02241AE0(ApplicationManager *appMan, int *param1)
if (ov105_022454F8(v1, 0) == 1) {
v1->unk_12 = (NELEMS(Unk_ov105_02246394));
} else {
if (ov104_0223AED4(v1->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(v1->unk_09) == 1) {
v1->unk_12 = (NELEMS(Unk_ov105_022462EC));
v1->unk_1A = (NELEMS(Unk_ov105_022462FC));
v1->unk_1B = (NELEMS(Unk_ov105_0224637C));
@ -386,7 +386,7 @@ int ov105_02241AE0(ApplicationManager *appMan, int *param1)
ov105_0224531C(v1);
if (ov104_0223AED4(v1->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(v1->unk_09) == 1) {
sub_0209BA80(v1);
}
@ -488,7 +488,7 @@ int ov105_02241BD8(ApplicationManager *appMan, int *param1)
ov105_02245528(v0, 0);
ov105_02244778(v0, param1, 6);
} else {
if (ov104_0223AED4(v0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(v0->unk_09) == 1) {
v0->unk_13_3 = 0;
ov105_02244778(v0, param1, 11);
} else {
@ -506,7 +506,7 @@ int ov105_02241BD8(ApplicationManager *appMan, int *param1)
if (v0->unk_11 == 0) {
ov105_02244778(v0, param1, 10);
} else {
if (ov104_0223AED4(v0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(v0->unk_09) == 1) {
ov105_02244778(v0, param1, 11);
} else {
ov105_02244778(v0, param1, 13);
@ -521,7 +521,7 @@ int ov105_02241BD8(ApplicationManager *appMan, int *param1)
ov105_02245528(v0, 0);
ov105_02244778(v0, param1, 8);
} else {
if (ov104_0223AED4(v0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(v0->unk_09) == 1) {
v0->unk_13_3 = 0;
ov105_02244778(v0, param1, 11);
} else {
@ -609,7 +609,7 @@ static BOOL ov105_02241FF4(UnkStruct_ov105_02241FF4 *param0)
switch (param0->unk_08) {
case 0:
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
CommTool_ClearReceivedTempDataAllPlayers();
CommTiming_StartSync(237);
}
@ -617,7 +617,7 @@ static BOOL ov105_02241FF4(UnkStruct_ov105_02241FF4 *param0)
param0->unk_08++;
break;
case 1:
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
if (CommTiming_IsSyncState(237) == 1) {
CommTool_ClearReceivedTempDataAllPlayers();
param0->unk_08++;
@ -712,7 +712,7 @@ static BOOL ov105_022421F0(UnkStruct_ov105_02241FF4 *param0)
ov105_022424CC(param0);
}
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
ov105_02244F84(param0, &param0->unk_50[1], 0, 0, 0);
}
@ -802,7 +802,7 @@ static void ov105_022424CC(UnkStruct_ov105_02241FF4 *param0)
ov105_02245528(param0, 0);
ov105_0224628C(&param0->unk_50[5], Options_Frame(param0->options));
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
param0->unk_30C = ov105_02245FB8(&param0->unk_144, param0->unk_1A, NELEMS(Unk_ov105_02246340) - 1, 2, param0->unk_334, Unk_ov105_02246340, Unk_ov105_022462D0);
} else {
param0->unk_30C = ov105_02245FB8(&param0->unk_144, param0->unk_1A, NELEMS(Unk_ov105_022462FC) - 1, 2, param0->unk_334, Unk_ov105_022462FC, Unk_ov105_022462CC);
@ -903,7 +903,7 @@ static BOOL ov105_022426E0(UnkStruct_ov105_02241FF4 *param0)
Sound_PlayEffect(SEQ_SE_CONFIRM);
ov105_0224296C(param0);
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
ov105_02245620(param0, 8, 0);
}
@ -933,7 +933,7 @@ static BOOL ov105_022426E0(UnkStruct_ov105_02241FF4 *param0)
ov105_02245A98(param0->unk_F0.window);
ov105_02242A58(param0);
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
ov105_02245620(param0, 8, 0);
}
@ -944,7 +944,7 @@ static BOOL ov105_022426E0(UnkStruct_ov105_02241FF4 *param0)
ov105_02245A98(param0->unk_F0.window);
ov105_02242B54(param0);
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
ov105_02245620(param0, 8, 0);
}
@ -1166,7 +1166,7 @@ static BOOL ov105_02242D04(UnkStruct_ov105_02241FF4 *param0)
PokemonSprite_SetAttribute(param0->unk_12C[v2], MON_SPRITE_HIDE, 0);
}
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
ov105_022448F4(param0, 3, ov105_02245538(param0, 1, 1), 32, 11);
} else {
ov105_022448F4(param0, 3, ov105_02245538(param0, 1, 1), 21, 11);
@ -1185,7 +1185,7 @@ static BOOL ov105_02242D04(UnkStruct_ov105_02241FF4 *param0)
break;
}
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
ov105_022448F4(param0, 3, ov105_02245538(param0, 2, 1), 32, 11);
} else {
ov105_022448F4(param0, 3, ov105_02245538(param0, 2, 1), 21, 11);
@ -1193,7 +1193,7 @@ static BOOL ov105_02242D04(UnkStruct_ov105_02241FF4 *param0)
param0->unk_13_5 = 0;
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
param0->unk_3BF = 1;
ov105_022457C0(param0);
}
@ -1233,7 +1233,7 @@ static BOOL ov105_02242D04(UnkStruct_ov105_02241FF4 *param0)
param0->unk_11--;
param0->unk_324[param0->unk_11] = 0;
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
ov105_02245620(param0, 8, 0);
}
@ -1241,7 +1241,7 @@ static BOOL ov105_02242D04(UnkStruct_ov105_02241FF4 *param0)
}
break;
case 6:
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
return 1;
}
@ -1279,7 +1279,7 @@ static BOOL ov105_02243144(UnkStruct_ov105_02241FF4 *param0)
Window_ClearAndCopyToVRAM(&param0->unk_50[8]);
Window_ClearAndCopyToVRAM(&param0->unk_50[9]);
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
ov105_022448F4(param0, 3, ov105_02245538(param0, 1, 1), 32, 11);
} else {
ov105_022448F4(param0, 3, ov105_02245538(param0, 1, 1), 21, 11);
@ -1303,7 +1303,7 @@ static BOOL ov105_02243144(UnkStruct_ov105_02241FF4 *param0)
ov105_02244924(param0, 5);
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
ov105_022448F4(param0, 3, ov105_02245538(param0, 0, 0), 32, 11);
} else {
ov105_022448F4(param0, 3, ov105_02245538(param0, 0, 0), 21, 11);
@ -1362,7 +1362,7 @@ static BOOL ov105_02243144(UnkStruct_ov105_02241FF4 *param0)
ov105_022448F4(param0, 3, ov105_02245538(param0, 2, 0), 21, 11);
param0->unk_13_5 = 0;
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
param0->unk_3BF = 1;
ov105_022457C0(param0);
}
@ -1556,7 +1556,7 @@ static BOOL ov105_02243818(UnkStruct_ov105_02241FF4 *param0)
param0->unk_310 = NULL;
param0->unk_13_3 = 0;
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
param0->unk_10 = ov105_02244D14(param0, 2);
}
@ -1613,7 +1613,7 @@ static BOOL ov105_02243A3C(UnkStruct_ov105_02241FF4 *param0)
Window_ScheduleCopyToVRAM(&param0->unk_50[7]);
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
param0->unk_30C = ov105_02245FB8(&param0->unk_144, param0->unk_1B, NELEMS(Unk_ov105_02246350) - 2, 2, 0, Unk_ov105_02246350, Unk_ov105_022462D4);
} else {
param0->unk_30C = ov105_02245FB8(&param0->unk_144, param0->unk_1B, NELEMS(Unk_ov105_0224637C) - 2, 2, 0, Unk_ov105_0224637C, Unk_ov105_022462E4);
@ -1677,7 +1677,7 @@ static BOOL ov105_02243A3C(UnkStruct_ov105_02241FF4 *param0)
ov105_02245A98(param0->unk_F0.window);
ov105_02243D84(param0);
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
param0->unk_10 = ov105_02244D14(param0, 2);
}
@ -1787,7 +1787,7 @@ static BOOL ov105_02243E84(UnkStruct_ov105_02241FF4 *param0)
param0->unk_310 = NULL;
param0->unk_13_3 = 0;
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
param0->unk_10 = ov105_02244D14(param0, 2);
}
@ -1903,7 +1903,7 @@ static BOOL ov105_0224400C(UnkStruct_ov105_02241FF4 *param0)
param0->unk_2F4[v1] = NULL;
}
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
if (param0->unk_12 == (NELEMS(Unk_ov105_022462EC))) {
param0->unk_12 = (NELEMS(Unk_ov105_02246320));
} else {
@ -1982,7 +1982,7 @@ static BOOL ov105_0224400C(UnkStruct_ov105_02241FF4 *param0)
param0->unk_13_5 = 0;
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
param0->unk_3BF = 1;
ov105_022457C0(param0);
}
@ -2417,7 +2417,7 @@ static void ov105_02244924(UnkStruct_ov105_02241FF4 *param0, u32 param1)
param0->unk_314 = ov105_022459B0(param0, ov105_02245584(param0, param1));
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
param0->unk_318 = ov105_02245A04(param0, v0);
}
@ -2428,7 +2428,7 @@ static void ov105_022449A4(UnkStruct_ov105_02241FF4 *param0, u32 param1)
{
Graphics_LoadTilesToBgLayerFromOpenNARC(param0->unk_338, 4, param0->unk_4C, param1, 0, 0, 1, HEAP_ID_93);
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
Graphics_LoadTilemapToBgLayerFromOpenNARC(param0->unk_338, 5, param0->unk_4C, param1, 0, 0, 1, HEAP_ID_93);
} else {
Graphics_LoadTilemapToBgLayerFromOpenNARC(param0->unk_338, 11, param0->unk_4C, param1, 0, 0, 1, HEAP_ID_93);
@ -2487,7 +2487,7 @@ static void ov105_02244B30(UnkStruct_ov105_02241FF4 *param0, u32 param1)
static void ov105_02244B90(UnkStruct_ov105_02241FF4 *param0, u32 param1)
{
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
Graphics_LoadTilemapToBgLayerFromOpenNARC(param0->unk_338, 5, param0->unk_4C, 3, 0, 0, 1, HEAP_ID_93);
} else {
Graphics_LoadTilemapToBgLayerFromOpenNARC(param0->unk_338, 11, param0->unk_4C, 3, 0, 0, 1, HEAP_ID_93);
@ -2504,7 +2504,7 @@ static void ov105_02244BE4(UnkStruct_ov105_02241FF4 *param0, u32 param1)
static void ov105_02244C0C(UnkStruct_ov105_02241FF4 *param0, u32 param1)
{
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
Graphics_LoadTilemapToBgLayerFromOpenNARC(param0->unk_338, 10, param0->unk_4C, 3, 0, 0, 1, HEAP_ID_93);
} else {
Graphics_LoadTilemapToBgLayerFromOpenNARC(param0->unk_338, 12, param0->unk_4C, 3, 0, 0, 1, HEAP_ID_93);
@ -2929,7 +2929,7 @@ static u8 ov105_02245538(UnkStruct_ov105_02241FF4 *param0, u8 param1, u8 param2)
case 0:
if (param2 == 1) {
v0 = 2;
} else if (ov104_0223AED4(param0->unk_09) == 0) {
} else if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
v0 = 2;
} else {
v0 = 2;
@ -2938,7 +2938,7 @@ static u8 ov105_02245538(UnkStruct_ov105_02241FF4 *param0, u8 param1, u8 param2)
case 1:
if (param2 == 1) {
v0 = 1;
} else if (ov104_0223AED4(param0->unk_09) == 0) {
} else if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
v0 = 1;
} else {
v0 = 1;
@ -2947,7 +2947,7 @@ static u8 ov105_02245538(UnkStruct_ov105_02241FF4 *param0, u8 param1, u8 param2)
case 2:
if (param2 == 1) {
v0 = 2;
} else if (ov104_0223AED4(param0->unk_09) == 0) {
} else if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
v0 = 2;
} else {
v0 = 2;
@ -2966,12 +2966,12 @@ static u32 ov105_02245584(UnkStruct_ov105_02241FF4 *param0, u32 param1)
case 1:
break;
case 4:
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
return 11;
}
break;
case 5:
if (ov104_0223AED4(param0->unk_09) == 1) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 1) {
return 12;
}
break;
@ -3002,7 +3002,7 @@ BOOL ov105_02245620(UnkStruct_ov105_02241FF4 *param0, u16 param1, u16 param2)
{
int v0, v1;
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
return 0;
}
@ -3207,7 +3207,7 @@ static UnkStruct_ov105_02245EA8 *ov105_02245934(UnkStruct_ov105_02241FF4 *param0
v0 = Unk_ov105_02246364[param1][0];
v1 = Unk_ov105_02246364[param1][1];
} else {
if (ov104_0223AED4(param0->unk_09) == 0) {
if (BattleFactory_IsMultiplayerChallenge(param0->unk_09) == 0) {
v0 = Unk_ov105_02246314[param1][0];
v1 = Unk_ov105_02246314[param1][1];
} else {

View File

@ -324,7 +324,7 @@ int ov108_02241AE0(ApplicationManager *appMan, int *param1)
ov108_0224237C(v1);
if (ov104_0223C000(v1->unk_09) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(v1->unk_09) == 1) {
sub_0209BA80(v1);
}
@ -361,7 +361,7 @@ int ov108_02241C38(ApplicationManager *appMan, int *param1)
if (v0->unk_2F_1 == 1) {
ov108_0224295C(v0, param1, 2);
} else {
if (ov104_0223C000(v0->unk_09) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(v0->unk_09) == 1) {
ov108_0224295C(v0, param1, 3);
} else {
ov108_0224295C(v0, param1, 4);
@ -419,7 +419,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
{
switch (param0->unk_08) {
case 0:
if (ov104_0223C000(param0->unk_09) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 1) {
CommTool_ClearReceivedTempDataAllPlayers();
CommTiming_StartSync(199);
param0->unk_08++;
@ -428,7 +428,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
}
break;
case 1:
if (ov104_0223C000(param0->unk_09) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 1) {
if (CommTiming_IsSyncState(199) == 1) {
CommTool_ClearReceivedTempDataAllPlayers();
param0->unk_08++;
@ -450,7 +450,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
param0->unk_08++;
break;
case 5:
if (ov104_0223C000(param0->unk_09) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 1) {
CommTool_ClearReceivedTempDataAllPlayers();
CommTiming_StartSync(201);
param0->unk_08++;
@ -459,7 +459,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
}
break;
case 6:
if (ov104_0223C000(param0->unk_09) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 1) {
if (CommTiming_IsSyncState(201) == 1) {
CommTool_ClearReceivedTempDataAllPlayers();
param0->unk_08++;
@ -469,7 +469,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
}
break;
case 7:
if (ov104_0223C000(param0->unk_09) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 1) {
if (ov108_02242A38(param0, 30, 0) == 1) {
param0->unk_08++;
}
@ -479,7 +479,7 @@ static BOOL ov108_02241DB0(UnkStruct_ov108_02241DB0 *param0)
}
break;
case 8:
if (ov104_0223C000(param0->unk_09) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 1) {
if (param0->unk_0F >= 2) {
param0->unk_0F = 0;
StartScreenFade(FADE_BOTH_SCREENS, FADE_TYPE_BRIGHTNESS_IN, FADE_TYPE_BRIGHTNESS_IN, COLOR_BLACK, 6, 1 * 3, HEAP_ID_103);
@ -605,7 +605,7 @@ static BOOL ov108_02241F28(UnkStruct_ov108_02241DB0 *param0)
if ((ov108_02242FE8(param0) == 1) || (param0->unk_18 == 0)) {
ov108_022429FC(param0);
if (ov104_0223C000(param0->unk_09) == 0) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 0) {
param0->unk_08 = 7;
break;
} else {
@ -831,7 +831,7 @@ static void ov108_0224237C(UnkStruct_ov108_02241DB0 *param0)
v0 = ov104_0223BD70(param0->unk_09, 1);
if (ov104_0223C000(param0->unk_09) == 0) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 0) {
v3 = 46;
v4 = 50;
} else {
@ -884,7 +884,7 @@ static void ov108_02242658(UnkStruct_ov108_02241DB0 *param0)
static void ov108_022426B0(UnkStruct_ov108_02241DB0 *param0)
{
ov108_02243030(&param0->unk_E8, param0->unk_3C8, param0->unk_3CC, ov104_0223C000(param0->unk_09));
ov108_02243030(&param0->unk_E8, param0->unk_3C8, param0->unk_3CC, BattleArcade_IsMultiPlayerChallenge(param0->unk_09));
return;
}
@ -1021,7 +1021,7 @@ static void ov108_02242828(UnkStruct_ov108_02241DB0 *param0, u32 param1)
Graphics_LoadTilesToBgLayerFromOpenNARC(param0->unk_3D0, 120, param0->unk_90, param1, 0, 0, 1, HEAP_ID_103);
if (ov104_0223C000(param0->unk_09) == 0) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 0) {
v0 = 116;
} else {
v0 = 118;
@ -1035,7 +1035,7 @@ static void ov108_02242884(UnkStruct_ov108_02241DB0 *param0, u32 param1)
{
u32 v0;
if (ov104_0223C000(param0->unk_09) == 0) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 0) {
v0 = 117;
} else {
v0 = 119;
@ -1126,7 +1126,7 @@ static u16 ov108_02242A14(UnkStruct_ov108_02241DB0 *param0)
{
u16 v0 = param0->unk_28;
if (ov104_0223C000(param0->unk_09) == 1) {
if (BattleArcade_IsMultiPlayerChallenge(param0->unk_09) == 1) {
if (param0->unk_426 > param0->unk_28) {
v0 = param0->unk_426;
}

View File

@ -3,6 +3,7 @@
#include <nitro.h>
#include <string.h>
#include "constants/battle_frontier.h"
#include "generated/game_records.h"
#include "struct_decls/struct_02030114_decl.h"
@ -104,11 +105,11 @@ BOOL ScrCmd_2CC(ScriptContext *ctx)
break;
case 4:
if (arg == 0) {
challengeType = 0;
challengeType = FRONTIER_CHALLENGE_SINGLE;
} else if (arg == 1) {
challengeType = 1;
challengeType = FRONTIER_CHALLENGE_DOUBLE;
} else {
challengeType = 2;
challengeType = FRONTIER_CHALLENGE_MULTI;
}
SelectBattleHallChallengers(ctx->task, partySelect, challengeType);
@ -306,7 +307,7 @@ static int SubTask_SetupPartyMenu(BattleHallTaskEnv *taskEnv, FieldSystem *field
partyMenu->minSelectionSlots = 1;
partyMenu->maxSelectionSlots = 1;
if (taskEnv->challengeType == 1) {
if (taskEnv->challengeType == FRONTIER_CHALLENGE_DOUBLE) {
partyMenu->minSelectionSlots = 2;
partyMenu->maxSelectionSlots = 2;
}
@ -481,7 +482,7 @@ BOOL ScrCmd_GetBattleHallRecordKeeperStats(ScriptContext *ctx)
totalWinRecord = 0;
} else {
for (u32 species = 0; species < NATIONAL_DEX_COUNT; species++) {
totalWinRecord += sub_020308BC(fieldSystem->saveData, frontierStage, 0, species);
totalWinRecord += sub_020308BC(fieldSystem->saveData, frontierStage, FRONTIER_CHALLENGE_SINGLE, species);
}
}
@ -557,9 +558,9 @@ BOOL ScrCmd_GetNumSpeciesWithBattleHallRecords(ScriptContext *ctx)
for (species = 0; species < NATIONAL_DEX_COUNT; species++) {
combinedRecord = 0;
combinedRecord += sub_020308BC(fieldSystem->saveData, frontierStage, 0, species);
combinedRecord += sub_020308BC(fieldSystem->saveData, frontierStage, 1, species);
combinedRecord += sub_020308BC(fieldSystem->saveData, frontierStage, 2, species);
combinedRecord += sub_020308BC(fieldSystem->saveData, frontierStage, FRONTIER_CHALLENGE_SINGLE, species);
combinedRecord += sub_020308BC(fieldSystem->saveData, frontierStage, FRONTIER_CHALLENGE_DOUBLE, species);
combinedRecord += sub_020308BC(fieldSystem->saveData, frontierStage, FRONTIER_CHALLENGE_MULTI, species);
if (combinedRecord > 0) {
numSpeciesWithRecord++;
@ -594,7 +595,7 @@ BOOL ScrCmd_GetBattleHallTotalSinglesRecord(ScriptContext *ctx)
totalRecord = 0;
} else {
for (u32 species = 0; species < NATIONAL_DEX_COUNT; species++) {
totalRecord += sub_020308BC(fieldSystem->saveData, frontierStage, 0, species);
totalRecord += sub_020308BC(fieldSystem->saveData, frontierStage, FRONTIER_CHALLENGE_SINGLE, species);
}
}

View File

@ -3,6 +3,7 @@
#include <nitro.h>
#include <string.h>
#include "constants/battle_frontier.h"
#include "constants/species.h"
#include "struct_defs/battle_frontier.h"
@ -60,11 +61,11 @@ u16 sub_020308BC(SaveData *saveData, BattleFrontierStage *frontierStage, int cha
}
switch (challengeType) {
case 0:
case FRONTIER_CHALLENGE_SINGLE:
return frontierStage->unk_04.unk_00[species];
case 1:
case FRONTIER_CHALLENGE_DOUBLE:
return frontierStage->unk_04.unk_3DE[species];
case 2:
case FRONTIER_CHALLENGE_MULTI:
return frontierStage->unk_04.unk_7BC[species];
}

View File

@ -2,6 +2,8 @@
#include <nitro.h>
#include "constants/battle_frontier.h"
#include "struct_decls/struct_0203026C_decl.h"
#include "communication_system.h"
@ -32,7 +34,7 @@ void sub_0204FA50(SaveData *saveData, UnkStruct_0203026C *param1, u8 challengeTy
v1[0] = 0;
sub_02030280(param1, 5, challengeType, 0, v1);
if (challengeType == 3) {
if (challengeType == FRONTIER_CHALLENGE_MULTI_WFC) {
sub_020306E4(SaveData_GetBattleFrontier(saveData), 106, sub_0205E6A8(106), 0);
}