summaryrefslogtreecommitdiff
path: root/src/battle_arena.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_arena.c')
-rw-r--r--src/battle_arena.c51
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