diff options
Diffstat (limited to 'src/battle_arena.c')
-rw-r--r-- | src/battle_arena.c | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/src/battle_arena.c b/src/battle_arena.c index c3d227376..e9af29622 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -20,6 +20,7 @@ #include "text.h" #include "util.h" #include "constants/songs.h" +#include "constants/battle_arena.h" #include "constants/battle_string_ids.h" #include "constants/battle_frontier.h" #include "constants/frontier_util.h" @@ -31,7 +32,7 @@ static void InitArenaChallenge(void); static void GetArenaData(void); static void SetArenaData(void); -static void sub_81A5AC4(void); +static void SaveArenaChallenge(void); static void SetArenaRewardItem(void); static void GiveArenaRewardItem(void); static void BufferArenaOpponentName(void); @@ -468,13 +469,13 @@ static const struct CompressedSpriteSheet sBattleArenaJudgementSymbolsSpriteShee static void (* const sArenaFunctions[])(void) = { - InitArenaChallenge, - GetArenaData, - SetArenaData, - sub_81A5AC4, - SetArenaRewardItem, - GiveArenaRewardItem, - BufferArenaOpponentName, + [BATTLE_ARENA_FUNC_INIT] = InitArenaChallenge, + [BATTLE_ARENA_FUNC_GET_DATA] = GetArenaData, + [BATTLE_ARENA_FUNC_SET_DATA] = SetArenaData, + [BATTLE_ARENA_FUNC_SAVE] = SaveArenaChallenge, + [BATTLE_ARENA_FUNC_SET_REWARD] = SetArenaRewardItem, + [BATTLE_ARENA_FUNC_GIVE_REWARD] = GiveArenaRewardItem, + [BATTLE_ARENA_FUNC_GET_TRAINER_NAME] = BufferArenaOpponentName, }; static const u16 sShortStreakRewardItems[] = @@ -563,8 +564,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) break; case 4: PlaySE(SE_HANTEI1); - ShowJudgmentSprite(80, 40, 0, 0); - ShowJudgmentSprite(160, 40, 0, 1); + ShowJudgmentSprite(80, 40, ARENA_CATEGORY_MIND, B_POSITION_PLAYER_LEFT); + ShowJudgmentSprite(160, 40, ARENA_CATEGORY_MIND, B_POSITION_OPPONENT_LEFT); BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); BattlePutTextOnWindow(gDisplayedStringBattle, 21); (*state)++; @@ -572,8 +573,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) break; case 5: PlaySE(SE_HANTEI1); - ShowJudgmentSprite(80, 56, 1, 0); - ShowJudgmentSprite(160, 56, 1, 1); + ShowJudgmentSprite(80, 56, ARENA_CATEGORY_SKILL, B_POSITION_PLAYER_LEFT); + ShowJudgmentSprite(160, 56, ARENA_CATEGORY_SKILL, B_POSITION_OPPONENT_LEFT); BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); BattlePutTextOnWindow(gDisplayedStringBattle, 21); (*state)++; @@ -581,8 +582,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state) break; case 6: PlaySE(SE_HANTEI1); - ShowJudgmentSprite(80, 72, 2, 0); - ShowJudgmentSprite(160, 72, 2, 1); + ShowJudgmentSprite(80, 72, ARENA_CATEGORY_BODY, B_POSITION_PLAYER_LEFT); + ShowJudgmentSprite(160, 72, ARENA_CATEGORY_BODY, B_POSITION_OPPONENT_LEFT); BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement); BattlePutTextOnWindow(gDisplayedStringBattle, 21); (*state)++; @@ -642,15 +643,15 @@ static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler) switch (category) { - case 0: + case ARENA_CATEGORY_MIND: pointsPlayer = mindPoints[battler]; pointsOpponent = mindPoints[BATTLE_OPPOSITE(battler)]; break; - case 1: + case ARENA_CATEGORY_SKILL: pointsPlayer = skillPoints[battler]; pointsOpponent = skillPoints[BATTLE_OPPOSITE(battler)]; break; - case 2: + case ARENA_CATEGORY_BODY: pointsPlayer = (gBattleMons[battler].hp * 100) / hpAtStart[battler]; pointsOpponent = (gBattleMons[BATTLE_OPPOSITE(battler)].hp * 100) / hpAtStart[BATTLE_OPPOSITE(battler)]; break; @@ -809,13 +810,13 @@ static void GetArenaData(void) switch (gSpecialVar_0x8005) { - case 0: + case ARENA_DATA_REWARD: gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaRewardItem; break; - case 1: + case ARENA_DATA_WIN_STREAK: gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode]; break; - case 2: + case ARENA_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_OPEN; else @@ -830,13 +831,13 @@ static void SetArenaData(void) switch (gSpecialVar_0x8005) { - case 0: + case ARENA_DATA_REWARD: gSaveBlock2Ptr->frontier.arenaRewardItem = gSpecialVar_0x8006; break; - case 1: + case ARENA_DATA_WIN_STREAK: gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = gSpecialVar_0x8006; break; - case 2: + case ARENA_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) { if (gSpecialVar_0x8006) @@ -855,7 +856,7 @@ static void SetArenaData(void) } } -static void sub_81A5AC4(void) +static void SaveArenaChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); @@ -878,7 +879,7 @@ static void GiveArenaRewardItem(void) if (AddBagItem(gSaveBlock2Ptr->frontier.arenaRewardItem, 1) == TRUE) { CopyItemName(gSaveBlock2Ptr->frontier.arenaRewardItem, gStringVar1); - gSaveBlock2Ptr->frontier.arenaRewardItem = 0; + gSaveBlock2Ptr->frontier.arenaRewardItem = ITEM_NONE; gSpecialVar_Result = TRUE; } else |