summaryrefslogtreecommitdiff
path: root/src/battle_palace.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_palace.c')
-rw-r--r--src/battle_palace.c104
1 files changed, 62 insertions, 42 deletions
diff --git a/src/battle_palace.c b/src/battle_palace.c
index ec909e442..b5da77e35 100644
--- a/src/battle_palace.c
+++ b/src/battle_palace.c
@@ -14,34 +14,54 @@
#include "constants/trainers.h"
// This file's functions.
-static void sub_8195980(void);
-static void sub_8195A38(void);
-static void sub_8195AE4(void);
-static void sub_8195BB0(void);
-static void sub_8195C20(void);
+static void InitPalaceChallenge(void);
+static void GetPalaceData(void);
+static void SetPalaceData(void);
+static void GetPalaceCommentId(void);
+static void SetPalaceOpponent(void);
static void BufferOpponentIntroSpeech(void);
-static void sub_8195C7C(void);
-static void sub_8195CE4(void);
-static void sub_8195D28(void);
-static void sub_8195DB8(void);
+static void IncrementPalaceStreak(void);
+static void SavePalaceChallenge(void);
+static void SetRandomPalacePrize(void);
+static void GivePalacePrize(void);
// Const rom data.
static void (* const sBattlePalaceFunctions[])(void) =
{
- [BATTLE_PALACE_FUNC_0] = sub_8195980,
- [BATTLE_PALACE_FUNC_1] = sub_8195A38,
- [BATTLE_PALACE_FUNC_2] = sub_8195AE4,
- [BATTLE_PALACE_FUNC_3] = sub_8195BB0,
- [BATTLE_PALACE_FUNC_4] = sub_8195C20,
+ [BATTLE_PALACE_FUNC_INIT] = InitPalaceChallenge,
+ [BATTLE_PALACE_FUNC_GET_DATA] = GetPalaceData,
+ [BATTLE_PALACE_FUNC_SET_DATA] = SetPalaceData,
+ [BATTLE_PALACE_FUNC_GET_COMMENT_ID] = GetPalaceCommentId,
+ [BATTLE_PALACE_FUNC_SET_OPPONENT] = SetPalaceOpponent,
[BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO] = BufferOpponentIntroSpeech,
- [BATTLE_PALACE_FUNC_6] = sub_8195C7C,
- [BATTLE_PALACE_FUNC_7] = sub_8195CE4,
- [BATTLE_PALACE_FUNC_8] = sub_8195D28,
- [BATTLE_PALACE_FUNC_9] = sub_8195DB8,
+ [BATTLE_PALACE_FUNC_INCREMENT_STREAK] = IncrementPalaceStreak,
+ [BATTLE_PALACE_FUNC_SAVE] = SavePalaceChallenge,
+ [BATTLE_PALACE_FUNC_SET_PRIZE] = SetRandomPalacePrize,
+ [BATTLE_PALACE_FUNC_GIVE_PRIZE] = GivePalacePrize,
};
-static const u16 gUnknown_0860DE78[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
-static const u16 gUnknown_0860DE84[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
+static const u16 sBattlePalaceEarlyPrizes[] =
+{
+ ITEM_HP_UP,
+ ITEM_PROTEIN,
+ ITEM_IRON,
+ ITEM_CALCIUM,
+ ITEM_CARBOS,
+ ITEM_ZINC
+};
+
+static const u16 sBattlePalaceLatePrizes[] =
+{
+ ITEM_BRIGHT_POWDER,
+ ITEM_WHITE_HERB,
+ ITEM_QUICK_CLAW,
+ ITEM_LEFTOVERS,
+ ITEM_MENTAL_HERB,
+ ITEM_KINGS_ROCK,
+ ITEM_FOCUS_BAND,
+ ITEM_SCOPE_LENS,
+ ITEM_CHOICE_BAND
+};
static const u32 sWinStreakFlags[][2] =
{
@@ -61,7 +81,7 @@ void CallBattlePalaceFunction(void)
sBattlePalaceFunctions[gSpecialVar_0x8004]();
}
-static void sub_8195980(void)
+static void InitPalaceChallenge(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -77,39 +97,39 @@ static void sub_8195980(void)
gTrainerBattleOpponent_A = 0;
}
-static void sub_8195A38(void)
+static void GetPalaceData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC6;
+ case PALACE_DATA_PRIZE:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.palacePrize;
break;
- case 1:
+ case PALACE_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
break;
- case 2:
+ case PALACE_DATA_WIN_STREAK_ACTIVE:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
}
}
-static void sub_8195AE4(void)
+static void SetPalaceData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
- case 0:
- gSaveBlock2Ptr->frontier.field_DC6 = gSpecialVar_0x8006;
+ case PALACE_DATA_PRIZE:
+ gSaveBlock2Ptr->frontier.palacePrize = gSpecialVar_0x8006;
break;
- case 1:
+ case PALACE_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case PALACE_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
@@ -118,7 +138,7 @@ static void sub_8195AE4(void)
}
}
-static void sub_8195BB0(void)
+static void GetPalaceCommentId(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -131,7 +151,7 @@ static void sub_8195BB0(void)
gSpecialVar_Result = 4;
}
-static void sub_8195C20(void)
+static void SetPalaceOpponent(void)
{
gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
@@ -143,7 +163,7 @@ static void BufferOpponentIntroSpeech(void)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
-static void sub_8195C7C(void)
+static void IncrementPalaceStreak(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -158,7 +178,7 @@ static void sub_8195C7C(void)
}
}
-static void sub_8195CE4(void)
+static void SavePalaceChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -166,23 +186,23 @@ static void sub_8195CE4(void)
SaveGameFrontier();
}
-static void sub_8195D28(void)
+static void SetRandomPalacePrize(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 41)
- gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE84[Random() % ARRAY_COUNT(gUnknown_0860DE84)];
+ gSaveBlock2Ptr->frontier.palacePrize = sBattlePalaceLatePrizes[Random() % ARRAY_COUNT(sBattlePalaceLatePrizes)];
else
- gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE78[Random() % ARRAY_COUNT(gUnknown_0860DE78)];
+ gSaveBlock2Ptr->frontier.palacePrize = sBattlePalaceEarlyPrizes[Random() % ARRAY_COUNT(sBattlePalaceEarlyPrizes)];
}
-static void sub_8195DB8(void)
+static void GivePalacePrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_DC6, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.palacePrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_DC6, gStringVar1);
- gSaveBlock2Ptr->frontier.field_DC6 = 0;
+ CopyItemName(gSaveBlock2Ptr->frontier.palacePrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.palacePrize = 0;
gSpecialVar_Result = TRUE;
}
else