Document Ranking Hall scripts

This commit is contained in:
GriffinR
2019-11-16 18:11:27 -05:00
committed by huderlem
parent d6e681066b
commit f7e17ca985
7 changed files with 141 additions and 140 deletions

View File

@@ -24,6 +24,7 @@
#include "tv.h"
#include "battle_factory.h"
#include "constants/battle_frontier.h"
#include "constants/battle_tower.h"
#include "constants/items.h"
#include "constants/trainers.h"
#include "constants/event_objects.h"
@@ -1051,24 +1052,24 @@ struct
#include "data/battle_frontier/battle_tent.h"
static void (* const gUnknown_085DF96C[])(void) =
static void (* const sBattleTowerFuncs[])(void) =
{
sub_8161F94,
sub_8162054,
sub_81620F4,
ChooseNextBattleTowerTrainer,
sub_81621C0,
AwardBattleTowerRibbons,
SaveBattleTowerProgress,
sub_8163914,
nullsub_61,
SpriteCB_Null6,
sub_81642A0,
sub_8164828,
sub_8164B74,
sub_8164DCC,
sub_8164DE4,
sub_8164E04,
[BATTLE_TOWER_FUNC_0] = sub_8161F94,
[BATTLE_TOWER_FUNC_1] = sub_8162054,
[BATTLE_TOWER_FUNC_2] = sub_81620F4,
[BATTLE_TOWER_FUNC_CHOOSE_TRAINER] = ChooseNextBattleTowerTrainer,
[BATTLE_TOWER_FUNC_4] = sub_81621C0,
[BATTLE_TOWER_FUNC_GIVE_RIBBONS] = AwardBattleTowerRibbons,
[BATTLE_TOWER_FUNC_SAVE] = SaveBattleTowerProgress,
[BATTLE_TOWER_FUNC_7] = sub_8163914,
[BATTLE_TOWER_FUNC_NOP] = nullsub_61,
[BATTLE_TOWER_FUNC_NOP_SPRITE] = SpriteCB_Null6,
[BATTLE_TOWER_FUNC_10] = sub_81642A0,
[BATTLE_TOWER_FUNC_11] = sub_8164828,
[BATTLE_TOWER_FUNC_12] = sub_8164B74,
[BATTLE_TOWER_FUNC_13] = sub_8164DCC,
[BATTLE_TOWER_FUNC_14] = sub_8164DE4,
[BATTLE_TOWER_FUNC_15] = sub_8164E04,
};
static const u32 gUnknown_085DF9AC[][2] =
@@ -1145,9 +1146,9 @@ static const u16 gUnknown_085DFA52[] =
};
// code
void sub_8161F74(void)
void CallBattleTowerFunc(void)
{
gUnknown_085DF96C[gSpecialVar_0x8004]();
sBattleTowerFuncs[gSpecialVar_0x8004]();
}
static void sub_8161F94(void)

View File

@@ -2099,7 +2099,7 @@ void ShowFrontierManiacMessage(void)
BattleFrontier_Lounge2_Text_MultiBattleAdvice,
BattleFrontier_Lounge2_Text_MultiBattleAdvice
},
[FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS] =
[FRONTIER_MANIAC_BATTLE_TOWER_LINK] =
{
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
@@ -2145,16 +2145,16 @@ void ShowFrontierManiacMessage(void)
static const u8 sFrontierManiacStreakThresholds[][FRONTIER_MANIAC_MESSAGE_COUNT - 1] =
{
[FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = { 21, 56 },
[FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = { 21, 35 },
[FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] = { 255, 255 },
[FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS] = { 255, 255 },
[FRONTIER_MANIAC_BATTLE_DOME] = { 2, 4 },
[FRONTIER_MANIAC_BATTLE_FACTORY] = { 7, 21 },
[FRONTIER_MANIAC_BATTLE_PALACE] = { 7, 21 },
[FRONTIER_MANIAC_BATTLE_ARENA] = { 14, 28 },
[FRONTIER_MANIAC_BATTLE_PIKE] = { 13, 112 }, //BUG: 112 (0x70) is probably a mistake; the Pike Queen is battled twice well before that
[FRONTIER_MANIAC_BATTLE_PYRAMID] = { 7, 56 }
[FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = { 21, 56 },
[FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = { 21, 35 },
[FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] = { 255, 255 },
[FRONTIER_MANIAC_BATTLE_TOWER_LINK] = { 255, 255 },
[FRONTIER_MANIAC_BATTLE_DOME] = { 2, 4 },
[FRONTIER_MANIAC_BATTLE_FACTORY] = { 7, 21 },
[FRONTIER_MANIAC_BATTLE_PALACE] = { 7, 21 },
[FRONTIER_MANIAC_BATTLE_ARENA] = { 14, 28 },
[FRONTIER_MANIAC_BATTLE_PIKE] = { 13, 112 }, //BUG: 112 (0x70) is probably a mistake; the Pike Queen is battled twice well before that
[FRONTIER_MANIAC_BATTLE_PYRAMID] = { 7, 56 }
};
u8 i;
@@ -2166,7 +2166,7 @@ void ShowFrontierManiacMessage(void)
case FRONTIER_MANIAC_BATTLE_TOWER_SINGLES:
case FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES:
case FRONTIER_MANIAC_BATTLE_TOWER_MULTIS:
case FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS:
case FRONTIER_MANIAC_BATTLE_TOWER_LINK:
if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]
>= gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN])
{

View File

@@ -680,38 +680,38 @@ const u16 gFrontierBannedSpecies[] =
SPECIES_KYOGRE, SPECIES_GROUDON, SPECIES_RAYQUAZA, SPECIES_JIRACHI, SPECIES_DEOXYS, 0xFFFF
};
static const u8 *const gUnknown_08611CB0[][2] =
static const u8 *const sRecordsWindowChallengeTexts[][2] =
{
{gText_BattleTower2, gUnknown_085ED164},
{gText_BattleTower2, gUnknown_085ED170},
{gText_BattleTower2, gUnknown_085ED17C},
{gText_BattleDome, gUnknown_085ED164},
{gText_BattlePalace, gUnknown_085ED164},
{gText_BattleArena, gUnknown_085ED190},
{gText_BattleFactory, gUnknown_085ED164},
{gText_BattlePike, gUnknown_085ED190},
{gText_BattlePyramid, gUnknown_085ED190},
{gText_BattleTower2, gUnknown_085ED188},
[RANKING_HALL_BATTLE_TOWER_SINGLES] = {gText_BattleTower2, gText_FacilitySingle},
[RANKING_HALL_BATTLE_TOWER_DOUBLES] = {gText_BattleTower2, gText_FacilityDouble},
[RANKING_HALL_BATTLE_TOWER_MULTIS] = {gText_BattleTower2, gText_FacilityMulti},
[RANKING_HALL_BATTLE_DOME] = {gText_BattleDome, gText_FacilitySingle},
[RANKING_HALL_BATTLE_PALACE] = {gText_BattlePalace, gText_FacilitySingle},
[RANKING_HALL_BATTLE_ARENA] = {gText_BattleArena, gText_Facility},
[RANKING_HALL_BATTLE_FACTORY] = {gText_BattleFactory, gText_FacilitySingle},
[RANKING_HALL_BATTLE_PIKE] = {gText_BattlePike, gText_Facility},
[RANKING_HALL_BATTLE_PYRAMID] = {gText_BattlePyramid, gText_Facility},
[RANKING_HALL_BATTLE_TOWER_LINK] = {gText_BattleTower2, gText_FacilityLink},
};
static const u8 *const gLevelModeText[] =
static const u8 *const sLevelModeText[] =
{
gText_RecordsLv50,
gText_RecordsOpenLevel,
};
static const u8 *const gHallFacilityToRecordsText[] =
static const u8 *const sHallFacilityToRecordsText[] =
{
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityClearStreak,
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityKOsStreak,
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityRoomsCleared,
gText_FrontierFacilityFloorsCleared,
gText_FrontierFacilityWinStreak,
[RANKING_HALL_BATTLE_TOWER_SINGLES] = gText_FrontierFacilityWinStreak,
[RANKING_HALL_BATTLE_TOWER_DOUBLES] = gText_FrontierFacilityWinStreak,
[RANKING_HALL_BATTLE_TOWER_MULTIS] = gText_FrontierFacilityWinStreak,
[RANKING_HALL_BATTLE_DOME] = gText_FrontierFacilityClearStreak,
[RANKING_HALL_BATTLE_PALACE] = gText_FrontierFacilityWinStreak,
[RANKING_HALL_BATTLE_ARENA] = gText_FrontierFacilityKOsStreak,
[RANKING_HALL_BATTLE_FACTORY] = gText_FrontierFacilityWinStreak,
[RANKING_HALL_BATTLE_PIKE] = gText_FrontierFacilityRoomsCleared,
[RANKING_HALL_BATTLE_PYRAMID] = gText_FrontierFacilityFloorsCleared,
[RANKING_HALL_BATTLE_TOWER_LINK] = gText_FrontierFacilityWinStreak,
};
static const u16 gFacilityToBrainTrainerId[] =
@@ -2220,8 +2220,8 @@ static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hall
if (winStreak > 9999)
winStreak = 9999;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[hallFacilityId]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[hallFacilityId]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
}
}
@@ -2247,8 +2247,8 @@ static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hall
if (winStreak > 9999)
winStreak = 9999;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[9]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[RANKING_HALL_BATTLE_TOWER_LINK]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[RANKING_HALL_BATTLE_TOWER_LINK], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
}
}
@@ -2327,12 +2327,12 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
struct RankingHall1P records1P[3];
struct RankingHall2P records2P[3];
StringCopy(gStringVar1, gUnknown_08611CB0[hallFacilityId][0]);
StringExpandPlaceholders(gStringVar4, gUnknown_08611CB0[hallFacilityId][1]);
StringCopy(gStringVar1, sRecordsWindowChallengeTexts[hallFacilityId][0]);
StringExpandPlaceholders(gStringVar4, sRecordsWindowChallengeTexts[hallFacilityId][1]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
x = GetStringRightAlignXOffset(1, gLevelModeText[lvlMode], 0xD0);
AddTextPrinterParameterized(gRecordsWindowId, 1, gLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
if (hallFacilityId == HALL_FACILITIES_COUNT)
x = GetStringRightAlignXOffset(1, sLevelModeText[lvlMode], 0xD0);
AddTextPrinterParameterized(gRecordsWindowId, 1, sLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
if (hallFacilityId == RANKING_HALL_BATTLE_TOWER_LINK)
{
gSaveBlock2Ptr->frontier.opponentName[0][PLAYER_NAME_LENGTH] = EOS;
gSaveBlock2Ptr->frontier.opponentName[1][PLAYER_NAME_LENGTH] = EOS;

View File

@@ -1220,11 +1220,11 @@ const u8 gText_BattleArena[] = _("BATTLE ARENA");
const u8 gText_BattlePike[] = _("BATTLE PIKE");
const u8 gText_BattlePyramid[] = _("BATTLE PYRAMID");
ALIGNED(4) const u8 gUnknown_085ED164[] = _("{STR_VAR_1} SINGLE");
ALIGNED(4) const u8 gUnknown_085ED170[] = _("{STR_VAR_1} DOUBLE");
ALIGNED(4) const u8 gUnknown_085ED17C[] = _("{STR_VAR_1} MULTI");
ALIGNED(4) const u8 gUnknown_085ED188[] = _("{STR_VAR_1} LINK");
ALIGNED(4) const u8 gUnknown_085ED190[] = _("{STR_VAR_1}");
ALIGNED(4) const u8 gText_FacilitySingle[] = _("{STR_VAR_1} SINGLE");
ALIGNED(4) const u8 gText_FacilityDouble[] = _("{STR_VAR_1} DOUBLE");
ALIGNED(4) const u8 gText_FacilityMulti[] = _("{STR_VAR_1} MULTI");
ALIGNED(4) const u8 gText_FacilityLink[] = _("{STR_VAR_1} LINK");
ALIGNED(4) const u8 gText_Facility[] = _("{STR_VAR_1}");
const u8 gText_Give[] = _("Give");
const u8 gText_NoNeed[] = _("No need");