Set up Battle Dome and Tower macros

This commit is contained in:
GriffinR
2019-11-28 22:46:39 -05:00
committed by huderlem
parent be17c1602d
commit 9b3d1cfab6
21 changed files with 350 additions and 299 deletions

View File

@@ -2274,10 +2274,10 @@ static void GetDomeData(void)
switch (gSpecialVar_0x8005)
{
case DOME_DATA_STREAK:
case DOME_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
break;
case DOME_DATA_STREAK_ACTIVE:
case DOME_DATA_WIN_STREAK_ACTIVE:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
case DOME_DATA_2:
@@ -2342,10 +2342,10 @@ static void SetDomeData(void)
switch (gSpecialVar_0x8005)
{
case DOME_DATA_STREAK:
case DOME_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
case DOME_DATA_STREAK_ACTIVE:
case DOME_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else

View File

@@ -107,10 +107,10 @@ static void GetPalaceData(void)
case PALACE_DATA_PRIZE:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.palacePrize;
break;
case PALACE_DATA_STREAK:
case PALACE_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
break;
case PALACE_DATA_STREAK_ACTIVE:
case PALACE_DATA_WIN_STREAK_ACTIVE:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
}
@@ -126,10 +126,10 @@ static void SetPalaceData(void)
case PALACE_DATA_PRIZE:
gSaveBlock2Ptr->frontier.palacePrize = gSpecialVar_0x8006;
break;
case PALACE_DATA_STREAK:
case PALACE_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
case PALACE_DATA_STREAK_ACTIVE:
case PALACE_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else

View File

@@ -48,11 +48,11 @@ u16 gUnknown_03006298[4];
static void InitTowerChallenge(void);
static void GetTowerData(void);
static void SetTowerData(void);
static void ChooseNextBattleTowerTrainer(void);
static void sub_81621C0(void);
static void SetNextFacilityOpponent(void);
static void SetTowerBattleWon(void);
static void AwardBattleTowerRibbons(void);
static void SaveTowerChallenge(void);
static void sub_8163914(void);
static void GetOpponentIntroSpeech(void);
static void nullsub_61(void);
static void nullsub_116(void);
static void sub_81642A0(void);
@@ -60,11 +60,11 @@ static void sub_8164828(void);
static void sub_8164B74(void);
static void sub_8164DCC(void);
static void sub_8164DE4(void);
static void sub_8164E04(void);
static void SetTowerInterviewData(void);
static void ValidateBattleTowerRecordChecksums(void);
static void SaveCurrentWinStreak(void);
static void ValidateApprenticesChecksums(void);
static void sub_8165E18(void);
static void SetNextBattleTentOpponent(void);
static void CopyEReaderTrainerFarewellMessage(void);
static void ClearBattleTowerRecord(struct EmeraldBattleTowerRecord *record);
static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount);
@@ -1059,11 +1059,11 @@ static void (* const sBattleTowerFuncs[])(void) =
[BATTLE_TOWER_FUNC_INIT] = InitTowerChallenge,
[BATTLE_TOWER_FUNC_GET_DATA] = GetTowerData,
[BATTLE_TOWER_FUNC_SET_DATA] = SetTowerData,
[BATTLE_TOWER_FUNC_CHOOSE_TRAINER] = ChooseNextBattleTowerTrainer,
[BATTLE_TOWER_FUNC_4] = sub_81621C0,
[BATTLE_TOWER_FUNC_SET_OPPONENT] = SetNextFacilityOpponent,
[BATTLE_TOWER_FUNC_SET_BATTLE_WON] = SetTowerBattleWon,
[BATTLE_TOWER_FUNC_GIVE_RIBBONS] = AwardBattleTowerRibbons,
[BATTLE_TOWER_FUNC_SAVE] = SaveTowerChallenge,
[BATTLE_TOWER_FUNC_7] = sub_8163914,
[BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO] = GetOpponentIntroSpeech,
[BATTLE_TOWER_FUNC_NOP] = nullsub_61,
[BATTLE_TOWER_FUNC_NOP2] = nullsub_116,
[BATTLE_TOWER_FUNC_10] = sub_81642A0,
@@ -1071,7 +1071,7 @@ static void (* const sBattleTowerFuncs[])(void) =
[BATTLE_TOWER_FUNC_12] = sub_8164B74,
[BATTLE_TOWER_FUNC_13] = sub_8164DCC,
[BATTLE_TOWER_FUNC_14] = sub_8164DE4,
[BATTLE_TOWER_FUNC_15] = sub_8164E04,
[BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA] = SetTowerInterviewData,
};
static const u32 sWinStreakFlags[][2] =
@@ -1181,13 +1181,13 @@ static void GetTowerData(void)
{
case 0:
break;
case 1:
case TOWER_DATA_WIN_STREAK:
gSpecialVar_Result = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
break;
case 2:
case TOWER_DATA_WIN_STREAK_ACTIVE:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
case 3:
case TOWER_DATA_LVL_MODE:
gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
break;
}
@@ -1202,27 +1202,27 @@ static void SetTowerData(void)
{
case 0:
break;
case 1:
case TOWER_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
case 2:
case TOWER_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
case 3:
case TOWER_DATA_LVL_MODE:
gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
break;
}
}
static void sub_81621C0(void)
static void SetTowerBattleWon(void)
{
if (gTrainerBattleOpponent_A == TRAINER_EREADER)
ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer);
// below field is never read outside this conditional
// towerNumWins is never read outside this conditional
if (gSaveBlock2Ptr->frontier.towerNumWins < MAX_STREAK)
gSaveBlock2Ptr->frontier.towerNumWins++;
@@ -1299,12 +1299,12 @@ static bool8 ChooseSpecialBattleTowerTrainer(void)
}
}
static void ChooseNextBattleTowerTrainer(void)
static void SetNextFacilityOpponent(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (lvlMode == FRONTIER_LVL_TENT)
{
sub_8165E18();
SetNextBattleTentOpponent();
}
else
{
@@ -2165,7 +2165,7 @@ void FrontierSpeechToString(const u16 *words)
}
}
static void sub_8163914(void)
static void GetOpponentIntroSpeech(void)
{
u16 trainerId;
SetFacilityPtrsGetLevel();
@@ -2889,7 +2889,7 @@ static void sub_8164DE4(void)
SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF);
}
static void sub_8164E04(void)
static void SetTowerInterviewData(void)
{
s32 i;
u8 text[32];
@@ -3562,7 +3562,7 @@ static u8 SetTentPtrsGetLevel(void)
return level;
}
static void sub_8165E18(void)
static void SetNextBattleTentOpponent(void)
{
s32 i;
u16 trainerId;