Document Ranking Hall scripts
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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])
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user