Merge master into doc-tower

This commit is contained in:
GriffinR
2019-12-17 21:17:46 -05:00
145 changed files with 7875 additions and 10345 deletions

View File

@@ -77,14 +77,14 @@ static void GiveBattlePyramidPrize(void);
static void SeedPyramidFloor(void);
static void SetPickupItem(void);
static void HidePyramidItem(void);
static void InitPyramidFacilityTrainers(void);
static void SetPyramidFacilityTrainers(void);
static void ShowPostBattleHintText(void);
static void UpdatePyramidWinStreak(void);
static void GetInBattlePyramid(void);
static void UpdatePyramidLightRadius(void);
static void ClearPyramidPartyHeldItems(void);
static void SetPyramidFloorPalette(void);
static void sub_81A9828(void);
static void BattlePyramidStartMenu(void);
static void RestorePyramidPlayerParty(void);
static void InitPyramidBagItems(u8 lvlMode);
static u8 GetPyramidFloorTemplateId(void);
@@ -525,200 +525,200 @@ static const u8 sTrainerTextGroups[50][2] =
static const u8 *const sExitDirectionHintTexts1[] =
{
BattlePyramid_ExitHintUp_Text1,
BattlePyramid_ExitHintLeft_Text1,
BattlePyramid_ExitHintRight_Text1,
BattlePyramid_ExitHintDown_Text1,
BattlePyramid_Text_ExitHintUp1,
BattlePyramid_Text_ExitHintLeft1,
BattlePyramid_Text_ExitHintRight1,
BattlePyramid_Text_ExitHintDown1,
};
static const u8 *const sRemainingItemsHintTexts1[] =
{
BattlePyramid_ZeroItemsRemaining_Text1,
BattlePyramid_OneItemRemaining_Text1,
BattlePyramid_TwoItemsRemaining_Text1,
BattlePyramid_ThreeItemsRemaining_Text1,
BattlePyramid_FourItemsRemaining_Text1,
BattlePyramid_FiveItemsRemaining_Text1,
BattlePyramid_SixItemsRemaining_Text1,
BattlePyramid_SevenItemsRemaining_Text1,
BattlePyramid_EightItemsRemaining_Text1,
BattlePyramid_Text_ZeroItemsRemaining1,
BattlePyramid_Text_OneItemRemaining1,
BattlePyramid_Text_TwoItemsRemaining1,
BattlePyramid_Text_ThreeItemsRemaining1,
BattlePyramid_Text_FourItemsRemaining1,
BattlePyramid_Text_FiveItemsRemaining1,
BattlePyramid_Text_SixItemsRemaining1,
BattlePyramid_Text_SevenItemsRemaining1,
BattlePyramid_Text_EightItemsRemaining1,
};
static const u8 *const sRemainingTrainersHintTexts1[] =
{
BattlePyramid_ZeroTrainersRemaining_Text1,
BattlePyramid_OneTrainersRemaining_Text1,
BattlePyramid_TwoTrainersRemaining_Text1,
BattlePyramid_ThreeTrainersRemaining_Text1,
BattlePyramid_FourTrainersRemaining_Text1,
BattlePyramid_FiveTrainersRemaining_Text1,
BattlePyramid_SixTrainersRemaining_Text1,
BattlePyramid_SevenTrainersRemaining_Text1,
BattlePyramid_Text_ZeroTrainersRemaining1,
BattlePyramid_Text_OneTrainersRemaining1,
BattlePyramid_Text_TwoTrainersRemaining1,
BattlePyramid_Text_ThreeTrainersRemaining1,
BattlePyramid_Text_FourTrainersRemaining1,
BattlePyramid_Text_FiveTrainersRemaining1,
BattlePyramid_Text_SixTrainersRemaining1,
BattlePyramid_Text_SevenTrainersRemaining1,
};
static const u8 *const sExitDirectionHintTexts2[] =
{
BattlePyramid_ExitHintUp_Text2,
BattlePyramid_ExitHintLeft_Text2,
BattlePyramid_ExitHintRight_Text2,
BattlePyramid_ExitHintDown_Text2,
BattlePyramid_Text_ExitHintUp2,
BattlePyramid_Text_ExitHintLeft2,
BattlePyramid_Text_ExitHintRight2,
BattlePyramid_Text_ExitHintDown2,
};
static const u8 *const sRemainingItemsHintTexts2[] =
{
BattlePyramid_ZeroItemsRemaining_Text2,
BattlePyramid_OneItemRemaining_Text2,
BattlePyramid_TwoItemsRemaining_Text2,
BattlePyramid_ThreeItemsRemaining_Text2,
BattlePyramid_FourItemsRemaining_Text2,
BattlePyramid_FiveItemsRemaining_Text2,
BattlePyramid_SixItemsRemaining_Text2,
BattlePyramid_SevenItemsRemaining_Text2,
BattlePyramid_EightItemsRemaining_Text2,
BattlePyramid_Text_ZeroItemsRemaining2,
BattlePyramid_Text_OneItemRemaining2,
BattlePyramid_Text_TwoItemsRemaining2,
BattlePyramid_Text_ThreeItemsRemaining2,
BattlePyramid_Text_FourItemsRemaining2,
BattlePyramid_Text_FiveItemsRemaining2,
BattlePyramid_Text_SixItemsRemaining2,
BattlePyramid_Text_SevenItemsRemaining2,
BattlePyramid_Text_EightItemsRemaining2,
};
static const u8 *const sRemainingTrainersHintTexts2[] =
{
BattlePyramid_ZeroTrainersRemaining_Text2,
BattlePyramid_OneTrainersRemaining_Text2,
BattlePyramid_TwoTrainersRemaining_Text2,
BattlePyramid_ThreeTrainersRemaining_Text2,
BattlePyramid_FourTrainersRemaining_Text2,
BattlePyramid_FiveTrainersRemaining_Text2,
BattlePyramid_SixTrainersRemaining_Text2,
BattlePyramid_SevenTrainersRemaining_Text2,
BattlePyramid_Text_ZeroTrainersRemaining2,
BattlePyramid_Text_OneTrainersRemaining2,
BattlePyramid_Text_TwoTrainersRemaining2,
BattlePyramid_Text_ThreeTrainersRemaining2,
BattlePyramid_Text_FourTrainersRemaining2,
BattlePyramid_Text_FiveTrainersRemaining2,
BattlePyramid_Text_SixTrainersRemaining2,
BattlePyramid_Text_SevenTrainersRemaining2,
};
static const u8 *const sExitDirectionHintTexts3[] =
{
BattlePyramid_ExitHintUp_Text3,
BattlePyramid_ExitHintLeft_Text3,
BattlePyramid_ExitHintRight_Text3,
BattlePyramid_ExitHintDown_Text3,
BattlePyramid_Text_ExitHintUp3,
BattlePyramid_Text_ExitHintLeft3,
BattlePyramid_Text_ExitHintRight3,
BattlePyramid_Text_ExitHintDown3,
};
static const u8 *const sRemainingItemsHintTexts3[] =
{
BattlePyramid_ZeroItemsRemaining_Text3,
BattlePyramid_OneItemRemaining_Text3,
BattlePyramid_TwoItemsRemaining_Text3,
BattlePyramid_ThreeItemsRemaining_Text3,
BattlePyramid_FourItemsRemaining_Text3,
BattlePyramid_FiveItemsRemaining_Text3,
BattlePyramid_SixItemsRemaining_Text3,
BattlePyramid_SevenItemsRemaining_Text3,
BattlePyramid_EightItemsRemaining_Text3,
BattlePyramid_Text_ZeroItemsRemaining3,
BattlePyramid_Text_OneItemRemaining3,
BattlePyramid_Text_TwoItemsRemaining3,
BattlePyramid_Text_ThreeItemsRemaining3,
BattlePyramid_Text_FourItemsRemaining3,
BattlePyramid_Text_FiveItemsRemaining3,
BattlePyramid_Text_SixItemsRemaining3,
BattlePyramid_Text_SevenItemsRemaining3,
BattlePyramid_Text_EightItemsRemaining3,
};
static const u8 *const sRemainingTrainersHintTexts3[] =
{
BattlePyramid_ZeroTrainersRemaining_Text3,
BattlePyramid_OneTrainersRemaining_Text3,
BattlePyramid_TwoTrainersRemaining_Text3,
BattlePyramid_ThreeTrainersRemaining_Text3,
BattlePyramid_FourTrainersRemaining_Text3,
BattlePyramid_FiveTrainersRemaining_Text3,
BattlePyramid_SixTrainersRemaining_Text3,
BattlePyramid_SevenTrainersRemaining_Text3,
BattlePyramid_Text_ZeroTrainersRemaining3,
BattlePyramid_Text_OneTrainersRemaining3,
BattlePyramid_Text_TwoTrainersRemaining3,
BattlePyramid_Text_ThreeTrainersRemaining3,
BattlePyramid_Text_FourTrainersRemaining3,
BattlePyramid_Text_FiveTrainersRemaining3,
BattlePyramid_Text_SixTrainersRemaining3,
BattlePyramid_Text_SevenTrainersRemaining3,
};
static const u8 *const sExitDirectionHintTexts4[] =
{
BattlePyramid_ExitHintUp_Text4,
BattlePyramid_ExitHintLeft_Text4,
BattlePyramid_ExitHintRight_Text4,
BattlePyramid_ExitHintDown_Text4,
BattlePyramid_Text_ExitHintUp4,
BattlePyramid_Text_ExitHintLeft4,
BattlePyramid_Text_ExitHintRight4,
BattlePyramid_Text_ExitHintDown4,
};
static const u8 *const sRemainingItemsHintTexts4[] =
{
BattlePyramid_ZeroItemsRemaining_Text4,
BattlePyramid_OneItemRemaining_Text4,
BattlePyramid_TwoItemsRemaining_Text4,
BattlePyramid_ThreeItemsRemaining_Text4,
BattlePyramid_FourItemsRemaining_Text4,
BattlePyramid_FiveItemsRemaining_Text4,
BattlePyramid_SixItemsRemaining_Text4,
BattlePyramid_SevenItemsRemaining_Text4,
BattlePyramid_EightItemsRemaining_Text4,
BattlePyramid_Text_ZeroItemsRemaining4,
BattlePyramid_Text_OneItemRemaining4,
BattlePyramid_Text_TwoItemsRemaining4,
BattlePyramid_Text_ThreeItemsRemaining4,
BattlePyramid_Text_FourItemsRemaining4,
BattlePyramid_Text_FiveItemsRemaining4,
BattlePyramid_Text_SixItemsRemaining4,
BattlePyramid_Text_SevenItemsRemaining4,
BattlePyramid_Text_EightItemsRemaining4,
};
static const u8 *const sRemainingTrainersHintTexts4[] =
{
BattlePyramid_ZeroTrainersRemaining_Text4,
BattlePyramid_OneTrainersRemaining_Text4,
BattlePyramid_TwoTrainersRemaining_Text4,
BattlePyramid_ThreeTrainersRemaining_Text4,
BattlePyramid_FourTrainersRemaining_Text4,
BattlePyramid_FiveTrainersRemaining_Text4,
BattlePyramid_SixTrainersRemaining_Text4,
BattlePyramid_SevenTrainersRemaining_Text4,
BattlePyramid_Text_ZeroTrainersRemaining4,
BattlePyramid_Text_OneTrainersRemaining4,
BattlePyramid_Text_TwoTrainersRemaining4,
BattlePyramid_Text_ThreeTrainersRemaining4,
BattlePyramid_Text_FourTrainersRemaining4,
BattlePyramid_Text_FiveTrainersRemaining4,
BattlePyramid_Text_SixTrainersRemaining4,
BattlePyramid_Text_SevenTrainersRemaining4,
};
static const u8 *const sExitDirectionHintTexts5[] =
{
BattlePyramid_ExitHintUp_Text5,
BattlePyramid_ExitHintLeft_Text5,
BattlePyramid_ExitHintRight_Text5,
BattlePyramid_ExitHintDown_Text5,
BattlePyramid_Text_ExitHintUp5,
BattlePyramid_Text_ExitHintLeft5,
BattlePyramid_Text_ExitHintRight5,
BattlePyramid_Text_ExitHintDown5,
};
static const u8 *const sRemainingItemsHintTexts5[] =
{
BattlePyramid_ZeroItemsRemaining_Text5,
BattlePyramid_OneItemRemaining_Text5,
BattlePyramid_TwoItemsRemaining_Text5,
BattlePyramid_ThreeItemsRemaining_Text5,
BattlePyramid_FourItemsRemaining_Text5,
BattlePyramid_FiveItemsRemaining_Text5,
BattlePyramid_SixItemsRemaining_Text5,
BattlePyramid_SevenItemsRemaining_Text5,
BattlePyramid_EightItemsRemaining_Text5,
BattlePyramid_Text_ZeroItemsRemaining5,
BattlePyramid_Text_OneItemRemaining5,
BattlePyramid_Text_TwoItemsRemaining5,
BattlePyramid_Text_ThreeItemsRemaining5,
BattlePyramid_Text_FourItemsRemaining5,
BattlePyramid_Text_FiveItemsRemaining5,
BattlePyramid_Text_SixItemsRemaining5,
BattlePyramid_Text_SevenItemsRemaining5,
BattlePyramid_Text_EightItemsRemaining5,
};
static const u8 *const sRemainingTrainersHintTexts5[] =
{
BattlePyramid_ZeroTrainersRemaining_Text5,
BattlePyramid_OneTrainersRemaining_Text5,
BattlePyramid_TwoTrainersRemaining_Text5,
BattlePyramid_ThreeTrainersRemaining_Text5,
BattlePyramid_FourTrainersRemaining_Text5,
BattlePyramid_FiveTrainersRemaining_Text5,
BattlePyramid_SixTrainersRemaining_Text5,
BattlePyramid_SevenTrainersRemaining_Text5,
BattlePyramid_Text_ZeroTrainersRemaining5,
BattlePyramid_Text_OneTrainersRemaining5,
BattlePyramid_Text_TwoTrainersRemaining5,
BattlePyramid_Text_ThreeTrainersRemaining5,
BattlePyramid_Text_FourTrainersRemaining5,
BattlePyramid_Text_FiveTrainersRemaining5,
BattlePyramid_Text_SixTrainersRemaining5,
BattlePyramid_Text_SevenTrainersRemaining5,
};
static const u8 *const sExitDirectionHintTexts6[] =
{
BattlePyramid_ExitHintUp_Text6,
BattlePyramid_ExitHintLeft_Text6,
BattlePyramid_ExitHintRight_Text6,
BattlePyramid_ExitHintDown_Text6,
BattlePyramid_Text_ExitHintUp6,
BattlePyramid_Text_ExitHintLeft6,
BattlePyramid_Text_ExitHintRight6,
BattlePyramid_Text_ExitHintDown6,
};
static const u8 *const sRemainingItemsHintTexts6[] =
{
BattlePyramid_ZeroItemsRemaining_Text6,
BattlePyramid_OneItemRemaining_Text6,
BattlePyramid_TwoItemsRemaining_Text6,
BattlePyramid_ThreeItemsRemaining_Text6,
BattlePyramid_FourItemsRemaining_Text6,
BattlePyramid_FiveItemsRemaining_Text6,
BattlePyramid_SixItemsRemaining_Text6,
BattlePyramid_SevenItemsRemaining_Text6,
BattlePyramid_EightItemsRemaining_Text6,
BattlePyramid_Text_ZeroItemsRemaining6,
BattlePyramid_Text_OneItemRemaining6,
BattlePyramid_Text_TwoItemsRemaining6,
BattlePyramid_Text_ThreeItemsRemaining6,
BattlePyramid_Text_FourItemsRemaining6,
BattlePyramid_Text_FiveItemsRemaining6,
BattlePyramid_Text_SixItemsRemaining6,
BattlePyramid_Text_SevenItemsRemaining6,
BattlePyramid_Text_EightItemsRemaining6,
};
static const u8 *const sRemainingTrainersHintTexts6[] =
{
BattlePyramid_ZeroTrainersRemaining_Text6,
BattlePyramid_OneTrainersRemaining_Text6,
BattlePyramid_TwoTrainersRemaining_Text6,
BattlePyramid_ThreeTrainersRemaining_Text6,
BattlePyramid_FourTrainersRemaining_Text6,
BattlePyramid_FiveTrainersRemaining_Text6,
BattlePyramid_SixTrainersRemaining_Text6,
BattlePyramid_SevenTrainersRemaining_Text6,
BattlePyramid_Text_ZeroTrainersRemaining6,
BattlePyramid_Text_OneTrainersRemaining6,
BattlePyramid_Text_TwoTrainersRemaining6,
BattlePyramid_Text_ThreeTrainersRemaining6,
BattlePyramid_Text_FourTrainersRemaining6,
BattlePyramid_Text_FiveTrainersRemaining6,
BattlePyramid_Text_SixTrainersRemaining6,
BattlePyramid_Text_SevenTrainersRemaining6,
};
static const u8 *const *const sPostBattleHintTexts1[] =
@@ -787,24 +787,24 @@ static const u8 sHintTextTypes[] =
static void (* const sBattlePyramidFunctions[])(void) =
{
[BATTLE_PYRAMID_FUNC_INIT] = InitPyramidChallenge,
[BATTLE_PYRAMID_FUNC_GET_DATA] = GetBattlePyramidData,
[BATTLE_PYRAMID_FUNC_SET_DATA] = SetBattlePyramidData,
[BATTLE_PYRAMID_FUNC_SAVE] = SavePyramidChallenge,
[BATTLE_PYRAMID_FUNC_SET_PRIZE] = SetBattlePyramidPrize,
[BATTLE_PYRAMID_FUNC_GIVE_PRIZE] = GiveBattlePyramidPrize,
[BATTLE_PYRAMID_FUNC_SEED_FLOOR] = SeedPyramidFloor,
[BATTLE_PYRAMID_FUNC_SET_ITEM] = SetPickupItem,
[BATTLE_PYRAMID_FUNC_HIDE_ITEM] = HidePyramidItem,
[BATTLE_PYRAMID_FUNC_INIT_TRAINERS] = InitPyramidFacilityTrainers,
[BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT] = ShowPostBattleHintText,
[BATTLE_PYRAMID_FUNC_UPDATE_STREAK] = UpdatePyramidWinStreak,
[BATTLE_PYRAMID_FUNC_IS_IN] = GetInBattlePyramid,
[BATTLE_PYRAMID_FUNC_UPDATE_LIGHT] = UpdatePyramidLightRadius,
[BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS] = ClearPyramidPartyHeldItems,
[BATTLE_PYRAMID_FUNC_INIT] = InitPyramidChallenge,
[BATTLE_PYRAMID_FUNC_GET_DATA] = GetBattlePyramidData,
[BATTLE_PYRAMID_FUNC_SET_DATA] = SetBattlePyramidData,
[BATTLE_PYRAMID_FUNC_SAVE] = SavePyramidChallenge,
[BATTLE_PYRAMID_FUNC_SET_PRIZE] = SetBattlePyramidPrize,
[BATTLE_PYRAMID_FUNC_GIVE_PRIZE] = GiveBattlePyramidPrize,
[BATTLE_PYRAMID_FUNC_SEED_FLOOR] = SeedPyramidFloor,
[BATTLE_PYRAMID_FUNC_SET_ITEM] = SetPickupItem,
[BATTLE_PYRAMID_FUNC_HIDE_ITEM] = HidePyramidItem,
[BATTLE_PYRAMID_FUNC_SET_TRAINERS] = SetPyramidFacilityTrainers,
[BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT] = ShowPostBattleHintText,
[BATTLE_PYRAMID_FUNC_UPDATE_STREAK] = UpdatePyramidWinStreak,
[BATTLE_PYRAMID_FUNC_IS_IN] = GetInBattlePyramid,
[BATTLE_PYRAMID_FUNC_UPDATE_LIGHT] = UpdatePyramidLightRadius,
[BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS] = ClearPyramidPartyHeldItems,
[BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE] = SetPyramidFloorPalette,
[BATTLE_PYRAMID_FUNC_16] = sub_81A9828,
[BATTLE_PYRAMID_FUNC_RESTORE_PARTY] = RestorePyramidPlayerParty,
[BATTLE_PYRAMID_FUNC_START_MENU] = BattlePyramidStartMenu,
[BATTLE_PYRAMID_FUNC_RESTORE_PARTY] = RestorePyramidPlayerParty,
};
static const u16 sShortStreakRewardItems[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
@@ -1029,7 +1029,7 @@ static void HidePyramidItem(void)
}
}
static void InitPyramidFacilityTrainers(void)
static void SetPyramidFacilityTrainers(void)
{
gFacilityTrainers = gBattleFrontierTrainers;
}
@@ -1193,9 +1193,10 @@ static void Task_SetPyramidFloorPalette(u8 taskId)
}
}
static void sub_81A9828(void)
// Unused. Handled by BuildStartMenuActions
static void BattlePyramidStartMenu(void)
{
sub_809FDD4();
ShowBattlePyramidStartMenu();
}
static void RestorePyramidPlayerParty(void)
@@ -1417,7 +1418,7 @@ u8 GetPyramidRunMultiplier(void)
u8 InBattlePyramid(void)
{
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
return 1;
else if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP)
return 2;
@@ -1427,11 +1428,11 @@ u8 InBattlePyramid(void)
bool8 InBattlePyramid_(void)
{
return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE
return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR
|| gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP;
}
void sub_81A9E90(void)
void PausePyramidChallenge(void)
{
if (InBattlePyramid())
{
@@ -1475,9 +1476,10 @@ u8 GetBattlePyramindTrainerEncounterMusicId(u16 trainerId)
return TRAINER_ENCOUNTER_MUSIC_MALE;
}
void sub_81A9F80(void)
// Unused
static void BattlePyramidRetireChallenge(void)
{
ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88);
ScriptContext1_SetupScript(BattlePyramid_Retire);
}
static u16 GetUniqueTrainerId(u8 eventObjectId)
@@ -1528,7 +1530,7 @@ void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPositio
{
u16 *map;
int yOffset, xOffset;
const struct MapLayout *mapLayout = gMapLayouts[floorLayoutOffsets[i] + LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE];
const struct MapLayout *mapLayout = gMapLayouts[floorLayoutOffsets[i] + LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR];
const u16 *layoutMap = mapLayout->map;
gBackupMapLayout.map = backupMapData;

View File

@@ -39,7 +39,7 @@ EWRAM_DATA struct PyramidBagCursorData gPyramidBagCursorData = {0};
// This file's functions.
static void Task_HandlePyramidBagInput(u8 taskId);
static void sub_81C4F44(u8 taskId);
static void Task_ChooseItemsToTossFromPyramidBag(u8 taskId);
static void sub_81C5B4C(u8 taskId);
static void Task_BeginItemSwap(u8 taskId);
static void sub_81C5D20(u8 taskId);
@@ -354,14 +354,14 @@ static void sub_81C4F10(void)
GoToBattlePyramidBagMenu(1, CB2_SetUpReshowBattleScreenAfterMenu2);
}
void sub_81C4F24(void)
void ChooseItemsToTossFromPyramidBag(void)
{
ScriptContext2_Enable();
FadeScreen(1, 0);
CreateTask(sub_81C4F44, 10);
FadeScreen(FADE_TO_BLACK, 0);
CreateTask(Task_ChooseItemsToTossFromPyramidBag, 10);
}
static void sub_81C4F44(u8 taskId)
static void Task_ChooseItemsToTossFromPyramidBag(u8 taskId)
{
if (!gPaletteFade.active)
{

View File

@@ -1582,7 +1582,7 @@ static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u
s32 i;
bool32 ret = FALSE;
for (i = 0; i <= REMATCH_WALLY_3; i++)
for (i = 0; i <= REMATCH_SPECIAL_TRAINER_START; i++)
{
if (table[i].mapGroup == mapGroup && table[i].mapNum == mapNum && !sub_80B1D94(i))
{
@@ -1641,7 +1641,7 @@ static bool8 IsFirstTrainerIdReadyForRematch(const struct RematchTrainer *table,
if (tableId == -1)
return FALSE;
if (tableId >= 100)
if (tableId >= MAX_REMATCH_ENTRIES)
return FALSE;
if (gSaveBlock1Ptr->trainerRematches[tableId] == 0)
return FALSE;
@@ -1655,7 +1655,7 @@ static bool8 IsTrainerReadyForRematch_(const struct RematchTrainer *table, u16 t
if (tableId == -1)
return FALSE;
if (tableId >= 100)
if (tableId >= MAX_REMATCH_ENTRIES)
return FALSE;
if (gSaveBlock1Ptr->trainerRematches[tableId] == 0)
return FALSE;

File diff suppressed because it is too large Load Diff

View File

@@ -816,7 +816,7 @@ static void sub_80B32B4(u8 taskId)
switch (task->data[0])
{
case 0:
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gLinkType = LINKTYPE_BATTLE;
ClearLinkCallback_2();
task->data[0]++;
@@ -862,7 +862,7 @@ static void sub_80B33BC(u8 taskId)
switch (data[0])
{
case 0:
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gLinkType = LINKTYPE_BATTLE;
ClearLinkCallback_2();
data[0] = 1;
@@ -1077,7 +1077,7 @@ static void sub_80B37FC(u8 taskId)
{
case 0:
ScriptContext2_Enable();
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
ClearLinkCallback_2();
task->data[0]++;
break;
@@ -1110,7 +1110,7 @@ static void sub_80B3894(u8 taskId)
{
case 0:
ScriptContext2_Enable();
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
ClearLinkRfuCallback();
data[0]++;
break;

View File

@@ -1,399 +1,394 @@
#define MCFLAVOR(name) {gMatchCallFlavorText_##name##_Strategy, \
gMatchCallFlavorText_##name##_Pokemon, \
gMatchCallFlavorText_##name##_Intro1, \
gMatchCallFlavorText_##name##_Intro2}
const u8 gMatchCallFlavorText_AromaLady_Rose_Strategy[] = _("Becalm fighting emotions.");
const u8 gMatchCallFlavorText_AromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON.");
const u8 gMatchCallFlavorText_AromaLady_Rose_Intro1[] = _("Soothing aromas make the");
const u8 gMatchCallFlavorText_AromaLady_Rose_Intro2[] = _("body and mind healthy.");
const u8 gMatchCallFlavorText_RuinManiac_Andres_Strategy[] = _("I'm not very good at this.");
const u8 gMatchCallFlavorText_RuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners.");
const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro1[] = _("I am searching for undersea");
const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro2[] = _("ruins and relics.");
const u8 gMatchCallFlavorText_RuinManiac_Dusty_Strategy[] = _("Overwhelm with power!");
const u8 gMatchCallFlavorText_RuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON.");
const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro1[] = _("In search of ancient lore,");
const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro2[] = _("I travel the world.");
const u8 gMatchCallFlavorText_Tuber_Lola_Strategy[] = _("I'm going to try hard!");
const u8 gMatchCallFlavorText_Tuber_Lola_Pokemon[] = _("Good swimmer POKéMON.");
const u8 gMatchCallFlavorText_Tuber_Lola_Intro1[] = _("I wish I could swim without");
const u8 gMatchCallFlavorText_Tuber_Lola_Intro2[] = _("using an inner tube.");
const u8 gMatchCallFlavorText_Tuber_Ricky_Strategy[] = _("I don't know. I'll try hard.");
const u8 gMatchCallFlavorText_Tuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies.");
const u8 gMatchCallFlavorText_Tuber_Ricky_Intro1[] = _("It's not like I can't swim.");
const u8 gMatchCallFlavorText_Tuber_Ricky_Intro2[] = _("I just like my inner tube.");
const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Strategy[] = _("We split our duties.");
const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON.");
const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together");
const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother.");
const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Strategy[] = _("I finish with power moves!");
const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Pokemon[] = _("A mix of different types.");
const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate");
const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro2[] = _("TRAINER!");
const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness.");
const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Pokemon[] = _("Balance is crucial.");
const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro1[] = _("My goal is to become the");
const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION.");
const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Strategy[] = _("Upset the opponent.");
const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Pokemon[] = _("Type doesn't matter.");
const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro1[] = _("I'm a top student at the");
const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL.");
const u8 gMatchCallFlavorText_HexManiac_Valerie_Strategy[] = _("Slow, steady suffering.");
const u8 gMatchCallFlavorText_HexManiac_Valerie_Pokemon[] = _("Scary to meet at night.");
const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro1[] = _("I see things that others");
const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro2[] = _("can't see...");
const u8 gMatchCallFlavorText_Lady_Cindy_Strategy[] = _("Anything to win.");
const u8 gMatchCallFlavorText_Lady_Cindy_Pokemon[] = _("Gorgeous type!");
const u8 gMatchCallFlavorText_Lady_Cindy_Intro1[] = _("I have a pool specially for");
const u8 gMatchCallFlavorText_Lady_Cindy_Intro2[] = _("my POKéMON at home.");
const u8 gMatchCallFlavorText_Beauty_Thalia_Strategy[] = _("You'll fall under my spell!");
const u8 gMatchCallFlavorText_Beauty_Thalia_Pokemon[] = _("Mature WATER type.");
const u8 gMatchCallFlavorText_Beauty_Thalia_Intro1[] = _("I dream of cruising around");
const u8 gMatchCallFlavorText_Beauty_Thalia_Intro2[] = _("the world on a luxury liner.");
const u8 gMatchCallFlavorText_Beauty_Jessica_Strategy[] = _("I'll lead you astray.");
const u8 gMatchCallFlavorText_Beauty_Jessica_Pokemon[] = _("Cute, of course.");
const u8 gMatchCallFlavorText_Beauty_Jessica_Intro1[] = _("I love the SAFARI ZONE.");
const u8 gMatchCallFlavorText_Beauty_Jessica_Intro2[] = _("I seem to end up there.");
const u8 gMatchCallFlavorText_RichBoy_Winston_Strategy[] = _("Strategy? Who needs it?");
const u8 gMatchCallFlavorText_RichBoy_Winston_Pokemon[] = _("I spent big money on it!");
const u8 gMatchCallFlavorText_RichBoy_Winston_Intro1[] = _("I, being rich, sleep in a");
const u8 gMatchCallFlavorText_RichBoy_Winston_Intro2[] = _("custom POKéMON bed.");
const u8 gMatchCallFlavorText_PokeManiac_Steve_Strategy[] = _("Wrestle down with power.");
const u8 gMatchCallFlavorText_PokeManiac_Steve_Pokemon[] = _("Took all night to catch.");
const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro1[] = _("Big, burly, and buff");
const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro2[] = _("POKéMON are the best...");
const u8 gMatchCallFlavorText_Swimmer_Tony_Strategy[] = _("Ram at full speed!");
const u8 gMatchCallFlavorText_Swimmer_Tony_Pokemon[] = _("Funky WATER type!");
const u8 gMatchCallFlavorText_Swimmer_Tony_Intro1[] = _("If I can't be out swimming,");
const u8 gMatchCallFlavorText_Swimmer_Tony_Intro2[] = _("I'll be pumping weights.");
const u8 gMatchCallFlavorText_BlackBelt_Nob_Strategy[] = _("Grand slam pummeling!");
const u8 gMatchCallFlavorText_BlackBelt_Nob_Pokemon[] = _("FIGHTING type.");
const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust");
const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro2[] = _("ten roof tiles!");
const u8 gMatchCallFlavorText_BlackBelt_Koji_Strategy[] = _("Witness karate power!");
const u8 gMatchCallFlavorText_BlackBelt_Koji_Pokemon[] = _("My partners in training!");
const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro1[] = _("Let us discuss matters of");
const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro2[] = _("the world with bare fists!");
const u8 gMatchCallFlavorText_Guitarist_Fernando_Strategy[] = _("Rock to stunning sounds!");
const u8 gMatchCallFlavorText_Guitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!");
const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro1[] = _("My compositions will shock");
const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro2[] = _("you and stun you!");
const u8 gMatchCallFlavorText_Guitarist_Dalton_Strategy[] = _("I'll electrify you!");
const u8 gMatchCallFlavorText_Guitarist_Dalton_Pokemon[] = _("They're ELECTRIC!");
const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro1[] = _("I want to make people cry");
const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro2[] = _("with songs from my heart.");
const u8 gMatchCallFlavorText_Kindler_Bernie_Strategy[] = _("Burn it all down!");
const u8 gMatchCallFlavorText_Kindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON.");
const u8 gMatchCallFlavorText_Kindler_Bernie_Intro1[] = _("When you light a campfire,");
const u8 gMatchCallFlavorText_Kindler_Bernie_Intro2[] = _("be sure there's some water.");
const u8 gMatchCallFlavorText_Camper_Ethan_Strategy[] = _("Hang in and be tenacious!");
const u8 gMatchCallFlavorText_Camper_Ethan_Pokemon[] = _("I'll raise any POKéMON.");
const u8 gMatchCallFlavorText_Camper_Ethan_Intro1[] = _("POKéMON raised in the wild");
const u8 gMatchCallFlavorText_Camper_Ethan_Intro2[] = _("grow strong!");
const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail.");
const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Pokemon[] = _("We've had them for years.");
const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've");
const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON.");
const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Strategy[] = _("Attack in waves!");
const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool.");
const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro1[] = _("I go into the forest every");
const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON.");
const u8 gMatchCallFlavorText_Psychic_Cameron_Strategy[] = _("Daze and confuse!");
const u8 gMatchCallFlavorText_Psychic_Cameron_Pokemon[] = _("Ones with weird powers.");
const u8 gMatchCallFlavorText_Psychic_Cameron_Intro1[] = _("I can see through exactly");
const u8 gMatchCallFlavorText_Psychic_Cameron_Intro2[] = _("what you're thinking!");
const u8 gMatchCallFlavorText_Psychic_Jacki_Strategy[] = _("Battle at full power.");
const u8 gMatchCallFlavorText_Psychic_Jacki_Pokemon[] = _("POKéMON of many mysteries.");
const u8 gMatchCallFlavorText_Psychic_Jacki_Intro1[] = _("When we spoke, I was really");
const u8 gMatchCallFlavorText_Psychic_Jacki_Intro2[] = _("using telepathy.");
const u8 gMatchCallFlavorText_Gentleman_Walter_Strategy[] = _("Calm and collected.");
const u8 gMatchCallFlavorText_Gentleman_Walter_Pokemon[] = _("POKéMON of distinction.");
const u8 gMatchCallFlavorText_Gentleman_Walter_Intro1[] = _("We enjoy a spot of tea");
const u8 gMatchCallFlavorText_Gentleman_Walter_Intro2[] = _("every day. It's imported.");
const u8 gMatchCallFlavorText_SchoolKid_Karen_Strategy[] = _("I use my head to battle.");
const u8 gMatchCallFlavorText_SchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!");
const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro1[] = _("My daddy gives me spending");
const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro2[] = _("money if I ace a test.");
const u8 gMatchCallFlavorText_SchoolKid_Jerry_Strategy[] = _("My knowledge rules!");
const u8 gMatchCallFlavorText_SchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!");
const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON");
const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro2[] = _("researcher in the future.");
const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first.");
const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like.");
const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior");
const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!");
const u8 gMatchCallFlavorText_Pokefan_Isabel_Strategy[] = _("Go for it, my dears!");
const u8 gMatchCallFlavorText_Pokefan_Isabel_Pokemon[] = _("I have no likes or dislikes.");
const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro1[] = _("While out shopping for");
const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro2[] = _("supper, I battle too.");
const u8 gMatchCallFlavorText_Pokefan_Miguel_Strategy[] = _("I battle with love!");
const u8 gMatchCallFlavorText_Pokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!");
const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro1[] = _("It's important to build");
const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro2[] = _("trust with your POKéMON.");
const u8 gMatchCallFlavorText_Expert_Timothy_Strategy[] = _("I see through your moves!");
const u8 gMatchCallFlavorText_Expert_Timothy_Pokemon[] = _("The essence of FIGHTING.");
const u8 gMatchCallFlavorText_Expert_Timothy_Intro1[] = _("I'm not ready to give way");
const u8 gMatchCallFlavorText_Expert_Timothy_Intro2[] = _("to the young yet!");
const u8 gMatchCallFlavorText_Expert_Shelby_Strategy[] = _("Attack while defending.");
const u8 gMatchCallFlavorText_Expert_Shelby_Pokemon[] = _("The FIGHTING type.");
const u8 gMatchCallFlavorText_Expert_Shelby_Intro1[] = _("Being old, I have my own");
const u8 gMatchCallFlavorText_Expert_Shelby_Intro2[] = _("style of battling.");
const u8 gMatchCallFlavorText_Youngster_Calvin_Strategy[] = _("I do what I can.");
const u8 gMatchCallFlavorText_Youngster_Calvin_Pokemon[] = _("I use different types.");
const u8 gMatchCallFlavorText_Youngster_Calvin_Intro1[] = _("I'm going to keep working");
const u8 gMatchCallFlavorText_Youngster_Calvin_Intro2[] = _("until I beat a GYM LEADER.");
const u8 gMatchCallFlavorText_Fisherman_Elliot_Strategy[] = _("I battle patiently.");
const u8 gMatchCallFlavorText_Fisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!");
const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro1[] = _("I'm the world's only guy to");
const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro2[] = _("catch a huge POKéMON!");
const u8 gMatchCallFlavorText_Triathlete_Isaiah_Strategy[] = _("Exploit the environment!");
const u8 gMatchCallFlavorText_Triathlete_Isaiah_Pokemon[] = _("All hail the WATER type!");
const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro1[] = _("I won't be beaten by some");
const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!");
const u8 gMatchCallFlavorText_Triathlete_Maria_Strategy[] = _("Speed above all!");
const u8 gMatchCallFlavorText_Triathlete_Maria_Pokemon[] = _("I use a speedy POKéMON.");
const u8 gMatchCallFlavorText_Triathlete_Maria_Intro1[] = _("A marathon is a challenge");
const u8 gMatchCallFlavorText_Triathlete_Maria_Intro2[] = _("against your own self.");
const u8 gMatchCallFlavorText_Triathlete_Abigail_Strategy[] = _("Defense is crucial.");
const u8 gMatchCallFlavorText_Triathlete_Abigail_Pokemon[] = _("My POKéMON is solid.");
const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro1[] = _("I started this for dieting,");
const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro2[] = _("but I got right into it.");
const u8 gMatchCallFlavorText_Triathlete_Dylan_Strategy[] = _("Strike before stricken!");
const u8 gMatchCallFlavorText_Triathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!");
const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro1[] = _("If you ran and ran, you'd");
const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro2[] = _("become one with the wind.");
const u8 gMatchCallFlavorText_Triathlete_Katelyn_Strategy[] = _("All-out offensive!");
const u8 gMatchCallFlavorText_Triathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!");
const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro1[] = _("I must swim over 6 miles");
const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro2[] = _("every day.");
const u8 gMatchCallFlavorText_Triathlete_Benjamin_Strategy[] = _("Push and push again!");
const u8 gMatchCallFlavorText_Triathlete_Benjamin_Pokemon[] = _("The strength of STEEL.");
const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro1[] = _("If you're sweating, get");
const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro2[] = _("fluids into you regularly.");
const u8 gMatchCallFlavorText_Triathlete_Pablo_Strategy[] = _("Draw the power of WATER.");
const u8 gMatchCallFlavorText_Triathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON.");
const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro1[] = _("Training POKéMON is good,");
const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro2[] = _("but don't neglect yourself.");
const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!");
const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!");
const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the");
const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro2[] = _("strongest one day!");
const u8 gMatchCallFlavorText_BirdKeeper_Robert_Strategy[] = _("I'll show you my technique!");
const u8 gMatchCallFlavorText_BirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS.");
const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my");
const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro2[] = _("love to that girl!");
const u8 gMatchCallFlavorText_NinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!");
const u8 gMatchCallFlavorText_NinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON.");
const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro1[] = _("I undertake training so");
const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro2[] = _("that I may become a ninja.");
const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Strategy[] = _("The first strike wins!");
const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type.");
const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,");
const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!");
const u8 gMatchCallFlavorText_ParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!");
const u8 gMatchCallFlavorText_ParasolLady_Madeline_Pokemon[] = _("I'll raise anything.");
const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro1[] = _("UV rays are your skin's");
const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro2[] = _("enemy. Get protected.");
const u8 gMatchCallFlavorText_Swimmer_Jenny_Strategy[] = _("No mercy!");
const u8 gMatchCallFlavorText_Swimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON.");
const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro1[] = _("I have too many fans.");
const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro2[] = _("I was interviewed on TV.");
const u8 gMatchCallFlavorText_Picnicker_Diana_Strategy[] = _("I think about this & that.");
const u8 gMatchCallFlavorText_Picnicker_Diana_Pokemon[] = _("I like all POKéMON.");
const u8 gMatchCallFlavorText_Picnicker_Diana_Intro1[] = _("What lies beyond that");
const u8 gMatchCallFlavorText_Picnicker_Diana_Intro2[] = _("yonder hill?");
const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Strategy[] = _("We battle together!");
const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Pokemon[] = _("We train together!");
const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,");
const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro2[] = _("but different desserts.");
const u8 gMatchCallFlavorText_Sailor_Ernest_Strategy[] = _("I force things with power!");
const u8 gMatchCallFlavorText_Sailor_Ernest_Pokemon[] = _("WATER and FIGHTING types.");
const u8 gMatchCallFlavorText_Sailor_Ernest_Intro1[] = _("Seamen are rough spirits!");
const u8 gMatchCallFlavorText_Sailor_Ernest_Intro2[] = _("Any complaints?");
const u8 gMatchCallFlavorText_Sailor_Cory_Strategy[] = _("Up for a fight anytime!");
const u8 gMatchCallFlavorText_Sailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!");
const u8 gMatchCallFlavorText_Sailor_Cory_Intro1[] = _("If you want to shout loud,");
const u8 gMatchCallFlavorText_Sailor_Cory_Intro2[] = _("suck in air with your belly!");
const u8 gMatchCallFlavorText_Collector_Edwin_Strategy[] = _("Protect POKéMON from harm.");
const u8 gMatchCallFlavorText_Collector_Edwin_Pokemon[] = _("I love rare POKéMON.");
const u8 gMatchCallFlavorText_Collector_Edwin_Intro1[] = _("I want to collect all the");
const u8 gMatchCallFlavorText_Collector_Edwin_Intro2[] = _("world's rare POKéMON.");
const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Strategy[] = _("I count on power.");
const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children.");
const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and");
const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON.");
const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Strategy[] = _("Full-on attack!");
const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it.");
const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for");
const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles.");
const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care.");
const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON.");
const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you");
const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro2[] = _("meet with respect.");
const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON.");
const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON.");
const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro1[] = _("I'm training for rescue");
const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro2[] = _("work with my POKéMON.");
const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Strategy[] = _("Attack in waves!");
const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Pokemon[] = _("I use different types.");
const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro1[] = _("Those who destroy nature");
const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro2[] = _("must never be forgiven!");
const u8 gMatchCallFlavorText_Lass_Haley_Strategy[] = _("I'll show you some guts!");
const u8 gMatchCallFlavorText_Lass_Haley_Pokemon[] = _("Cute POKéMON are my faves!");
const u8 gMatchCallFlavorText_Lass_Haley_Intro1[] = _("After a battle, I always");
const u8 gMatchCallFlavorText_Lass_Haley_Intro2[] = _("bathe with my POKéMON.");
const u8 gMatchCallFlavorText_BugCatcher_James_Strategy[] = _("Lightning-fast attack!");
const u8 gMatchCallFlavorText_BugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!");
const u8 gMatchCallFlavorText_BugCatcher_James_Intro1[] = _("If you want to catch BUG");
const u8 gMatchCallFlavorText_BugCatcher_James_Intro2[] = _("POKéMON, wake up early.");
const u8 gMatchCallFlavorText_Hiker_Trent_Strategy[] = _("I battle with power.");
const u8 gMatchCallFlavorText_Hiker_Trent_Pokemon[] = _("Hard-bodied POKéMON.");
const u8 gMatchCallFlavorText_Hiker_Trent_Intro1[] = _("I've been planning a month");
const u8 gMatchCallFlavorText_Hiker_Trent_Intro2[] = _("for today's hike.");
const u8 gMatchCallFlavorText_Hiker_Sawyer_Strategy[] = _("I like it hot!");
const u8 gMatchCallFlavorText_Hiker_Sawyer_Pokemon[] = _("Hot POKéMON!");
const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro1[] = _("As much as I love POKéMON,");
const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro2[] = _("I surely like hiking!");
const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!");
const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!");
const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!");
const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!");
const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Strategy[] = _("We let it all hang out.");
const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught.");
const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown");
const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro2[] = _("stronger together.");
const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack.");
const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON.");
const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears");
const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility.");
const u8 gMatchCallFlavorText_TheBigHit_Brawly_Strategy[] = _("Direct physical action!");
const u8 gMatchCallFlavorText_TheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!");
const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro1[] = _("The world awaits me as the");
const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro2[] = _("next big wave!");
const u8 gMatchCallFlavorText_SwellShock_Wattson_Strategy[] = _("I choose to electrify.");
const u8 gMatchCallFlavorText_SwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!");
const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro1[] = _("One must never throw a");
const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro2[] = _("match. Even I must not.");
const u8 gMatchCallFlavorText_PassionBurn_Flannery_Strategy[] = _("Battle aggressively.");
const u8 gMatchCallFlavorText_PassionBurn_Flannery_Pokemon[] = _("Burn with passion!");
const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro1[] = _("Completely wash away daily");
const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!");
const u8 gMatchCallFlavorText_ReliableOne_Dad_Strategy[] = _("I flexibly adapt my style.");
const u8 gMatchCallFlavorText_ReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner.");
const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from");
const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro2[] = _("home to here every day.");
const u8 gMatchCallFlavorText_SkyTamer_Winona_Strategy[] = _("I take advantage of speed.");
const u8 gMatchCallFlavorText_SkyTamer_Winona_Pokemon[] = _("Graceful sky dancers.");
const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro1[] = _("The ultimate would be to");
const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro2[] = _("live as one with nature.");
const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation.");
const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON.");
const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling");
const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!");
const u8 gMatchCallFlavorText_DandyCharm_Juan_Strategy[] = _("I use splendid waterpower.");
const u8 gMatchCallFlavorText_DandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!");
const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro1[] = _("The adulation of beautiful");
const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro2[] = _("ladies fills me with energy!");
const u8 gMatchCallFlavorText_EliteFour_Sidney_Strategy[] = _("Offense over defense!");
const u8 gMatchCallFlavorText_EliteFour_Sidney_Pokemon[] = _("The DARK side's beauties.");
const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro1[] = _("They said I was a punk, but");
const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!");
const u8 gMatchCallFlavorText_EliteFour_Phoebe_Strategy[] = _("Confuse and confound.");
const u8 gMatchCallFlavorText_EliteFour_Phoebe_Pokemon[] = _("There's nothing definite.");
const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at");
const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?");
const u8 gMatchCallFlavorText_EliteFour_Glacia_Strategy[] = _("I use items for help.");
const u8 gMatchCallFlavorText_EliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!");
const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro1[] = _("The ICE type can be better");
const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro2[] = _("trained in this hot land.");
const u8 gMatchCallFlavorText_EliteFour_Drake_Strategy[] = _("Harness strong abilities.");
const u8 gMatchCallFlavorText_EliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!");
const u8 gMatchCallFlavorText_EliteFour_Drake_Intro1[] = _("I dedicate myself to the");
const u8 gMatchCallFlavorText_EliteFour_Drake_Intro2[] = _("POKéMON that saved me.");
const u8 gMatchCallFlavorText_Champion_Wallace_Strategy[] = _("Dignity and respect.");
const u8 gMatchCallFlavorText_Champion_Wallace_Pokemon[] = _("I prefer POKéMON of grace.");
const u8 gMatchCallFlavorText_Champion_Wallace_Intro1[] = _("I represent beauty as");
const u8 gMatchCallFlavorText_Champion_Wallace_Intro2[] = _("well as intelligence.");
const u8 *const gMatchCallMessages[][4] =
const u8 gText_MatchCallAromaLady_Rose_Strategy[] = _("Becalm fighting emotions.");
const u8 gText_MatchCallAromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON.");
const u8 gText_MatchCallAromaLady_Rose_Intro1[] = _("Soothing aromas make the");
const u8 gText_MatchCallAromaLady_Rose_Intro2[] = _("body and mind healthy.");
const u8 gText_MatchCallRuinManiac_Andres_Strategy[] = _("I'm not very good at this.");
const u8 gText_MatchCallRuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners.");
const u8 gText_MatchCallRuinManiac_Andres_Intro1[] = _("I am searching for undersea");
const u8 gText_MatchCallRuinManiac_Andres_Intro2[] = _("ruins and relics.");
const u8 gText_MatchCallRuinManiac_Dusty_Strategy[] = _("Overwhelm with power!");
const u8 gText_MatchCallRuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON.");
const u8 gText_MatchCallRuinManiac_Dusty_Intro1[] = _("In search of ancient lore,");
const u8 gText_MatchCallRuinManiac_Dusty_Intro2[] = _("I travel the world.");
const u8 gText_MatchCallTuber_Lola_Strategy[] = _("I'm going to try hard!");
const u8 gText_MatchCallTuber_Lola_Pokemon[] = _("Good swimmer POKéMON.");
const u8 gText_MatchCallTuber_Lola_Intro1[] = _("I wish I could swim without");
const u8 gText_MatchCallTuber_Lola_Intro2[] = _("using an inner tube.");
const u8 gText_MatchCallTuber_Ricky_Strategy[] = _("I don't know. I'll try hard.");
const u8 gText_MatchCallTuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies.");
const u8 gText_MatchCallTuber_Ricky_Intro1[] = _("It's not like I can't swim.");
const u8 gText_MatchCallTuber_Ricky_Intro2[] = _("I just like my inner tube.");
const u8 gText_MatchCallSisAndBro_LilaAndRoy_Strategy[] = _("We split our duties.");
const u8 gText_MatchCallSisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON.");
const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together");
const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother.");
const u8 gText_MatchCallCooltrainer_Cristin_Strategy[] = _("I finish with power moves!");
const u8 gText_MatchCallCooltrainer_Cristin_Pokemon[] = _("A mix of different types.");
const u8 gText_MatchCallCooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate");
const u8 gText_MatchCallCooltrainer_Cristin_Intro2[] = _("TRAINER!");
const u8 gText_MatchCallCooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness.");
const u8 gText_MatchCallCooltrainer_Brooke_Pokemon[] = _("Balance is crucial.");
const u8 gText_MatchCallCooltrainer_Brooke_Intro1[] = _("My goal is to become the");
const u8 gText_MatchCallCooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION.");
const u8 gText_MatchCallCooltrainer_Wilton_Strategy[] = _("Upset the opponent.");
const u8 gText_MatchCallCooltrainer_Wilton_Pokemon[] = _("Type doesn't matter.");
const u8 gText_MatchCallCooltrainer_Wilton_Intro1[] = _("I'm a top student at the");
const u8 gText_MatchCallCooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL.");
const u8 gText_MatchCallHexManiac_Valerie_Strategy[] = _("Slow, steady suffering.");
const u8 gText_MatchCallHexManiac_Valerie_Pokemon[] = _("Scary to meet at night.");
const u8 gText_MatchCallHexManiac_Valerie_Intro1[] = _("I see things that others");
const u8 gText_MatchCallHexManiac_Valerie_Intro2[] = _("can't see...");
const u8 gText_MatchCallLady_Cindy_Strategy[] = _("Anything to win.");
const u8 gText_MatchCallLady_Cindy_Pokemon[] = _("Gorgeous type!");
const u8 gText_MatchCallLady_Cindy_Intro1[] = _("I have a pool specially for");
const u8 gText_MatchCallLady_Cindy_Intro2[] = _("my POKéMON at home.");
const u8 gText_MatchCallBeauty_Thalia_Strategy[] = _("You'll fall under my spell!");
const u8 gText_MatchCallBeauty_Thalia_Pokemon[] = _("Mature WATER type.");
const u8 gText_MatchCallBeauty_Thalia_Intro1[] = _("I dream of cruising around");
const u8 gText_MatchCallBeauty_Thalia_Intro2[] = _("the world on a luxury liner.");
const u8 gText_MatchCallBeauty_Jessica_Strategy[] = _("I'll lead you astray.");
const u8 gText_MatchCallBeauty_Jessica_Pokemon[] = _("Cute, of course.");
const u8 gText_MatchCallBeauty_Jessica_Intro1[] = _("I love the SAFARI ZONE.");
const u8 gText_MatchCallBeauty_Jessica_Intro2[] = _("I seem to end up there.");
const u8 gText_MatchCallRichBoy_Winston_Strategy[] = _("Strategy? Who needs it?");
const u8 gText_MatchCallRichBoy_Winston_Pokemon[] = _("I spent big money on it!");
const u8 gText_MatchCallRichBoy_Winston_Intro1[] = _("I, being rich, sleep in a");
const u8 gText_MatchCallRichBoy_Winston_Intro2[] = _("custom POKéMON bed.");
const u8 gText_MatchCallPokeManiac_Steve_Strategy[] = _("Wrestle down with power.");
const u8 gText_MatchCallPokeManiac_Steve_Pokemon[] = _("Took all night to catch.");
const u8 gText_MatchCallPokeManiac_Steve_Intro1[] = _("Big, burly, and buff");
const u8 gText_MatchCallPokeManiac_Steve_Intro2[] = _("POKéMON are the best...");
const u8 gText_MatchCallSwimmer_Tony_Strategy[] = _("Ram at full speed!");
const u8 gText_MatchCallSwimmer_Tony_Pokemon[] = _("Funky WATER type!");
const u8 gText_MatchCallSwimmer_Tony_Intro1[] = _("If I can't be out swimming,");
const u8 gText_MatchCallSwimmer_Tony_Intro2[] = _("I'll be pumping weights.");
const u8 gText_MatchCallBlackBelt_Nob_Strategy[] = _("Grand slam pummeling!");
const u8 gText_MatchCallBlackBelt_Nob_Pokemon[] = _("FIGHTING type.");
const u8 gText_MatchCallBlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust");
const u8 gText_MatchCallBlackBelt_Nob_Intro2[] = _("ten roof tiles!");
const u8 gText_MatchCallBlackBelt_Koji_Strategy[] = _("Witness karate power!");
const u8 gText_MatchCallBlackBelt_Koji_Pokemon[] = _("My partners in training!");
const u8 gText_MatchCallBlackBelt_Koji_Intro1[] = _("Let us discuss matters of");
const u8 gText_MatchCallBlackBelt_Koji_Intro2[] = _("the world with bare fists!");
const u8 gText_MatchCallGuitarist_Fernando_Strategy[] = _("Rock to stunning sounds!");
const u8 gText_MatchCallGuitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!");
const u8 gText_MatchCallGuitarist_Fernando_Intro1[] = _("My compositions will shock");
const u8 gText_MatchCallGuitarist_Fernando_Intro2[] = _("you and stun you!");
const u8 gText_MatchCallGuitarist_Dalton_Strategy[] = _("I'll electrify you!");
const u8 gText_MatchCallGuitarist_Dalton_Pokemon[] = _("They're ELECTRIC!");
const u8 gText_MatchCallGuitarist_Dalton_Intro1[] = _("I want to make people cry");
const u8 gText_MatchCallGuitarist_Dalton_Intro2[] = _("with songs from my heart.");
const u8 gText_MatchCallKindler_Bernie_Strategy[] = _("Burn it all down!");
const u8 gText_MatchCallKindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON.");
const u8 gText_MatchCallKindler_Bernie_Intro1[] = _("When you light a campfire,");
const u8 gText_MatchCallKindler_Bernie_Intro2[] = _("be sure there's some water.");
const u8 gText_MatchCallCamper_Ethan_Strategy[] = _("Hang in and be tenacious!");
const u8 gText_MatchCallCamper_Ethan_Pokemon[] = _("I'll raise any POKéMON.");
const u8 gText_MatchCallCamper_Ethan_Intro1[] = _("POKéMON raised in the wild");
const u8 gText_MatchCallCamper_Ethan_Intro2[] = _("grow strong!");
const u8 gText_MatchCallOldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail.");
const u8 gText_MatchCallOldCouple_JohnAndJay_Pokemon[] = _("We've had them for years.");
const u8 gText_MatchCallOldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've");
const u8 gText_MatchCallOldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON.");
const u8 gText_MatchCallBugManiac_Jeffrey_Strategy[] = _("Attack in waves!");
const u8 gText_MatchCallBugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool.");
const u8 gText_MatchCallBugManiac_Jeffrey_Intro1[] = _("I go into the forest every");
const u8 gText_MatchCallBugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON.");
const u8 gText_MatchCallPsychic_Cameron_Strategy[] = _("Daze and confuse!");
const u8 gText_MatchCallPsychic_Cameron_Pokemon[] = _("Ones with weird powers.");
const u8 gText_MatchCallPsychic_Cameron_Intro1[] = _("I can see through exactly");
const u8 gText_MatchCallPsychic_Cameron_Intro2[] = _("what you're thinking!");
const u8 gText_MatchCallPsychic_Jacki_Strategy[] = _("Battle at full power.");
const u8 gText_MatchCallPsychic_Jacki_Pokemon[] = _("POKéMON of many mysteries.");
const u8 gText_MatchCallPsychic_Jacki_Intro1[] = _("When we spoke, I was really");
const u8 gText_MatchCallPsychic_Jacki_Intro2[] = _("using telepathy.");
const u8 gText_MatchCallGentleman_Walter_Strategy[] = _("Calm and collected.");
const u8 gText_MatchCallGentleman_Walter_Pokemon[] = _("POKéMON of distinction.");
const u8 gText_MatchCallGentleman_Walter_Intro1[] = _("We enjoy a spot of tea");
const u8 gText_MatchCallGentleman_Walter_Intro2[] = _("every day. It's imported.");
const u8 gText_MatchCallSchoolKid_Karen_Strategy[] = _("I use my head to battle.");
const u8 gText_MatchCallSchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!");
const u8 gText_MatchCallSchoolKid_Karen_Intro1[] = _("My daddy gives me spending");
const u8 gText_MatchCallSchoolKid_Karen_Intro2[] = _("money if I ace a test.");
const u8 gText_MatchCallSchoolKid_Jerry_Strategy[] = _("My knowledge rules!");
const u8 gText_MatchCallSchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!");
const u8 gText_MatchCallSchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON");
const u8 gText_MatchCallSchoolKid_Jerry_Intro2[] = _("researcher in the future.");
const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first.");
const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like.");
const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior");
const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!");
const u8 gText_MatchCallPokefan_Isabel_Strategy[] = _("Go for it, my dears!");
const u8 gText_MatchCallPokefan_Isabel_Pokemon[] = _("I have no likes or dislikes.");
const u8 gText_MatchCallPokefan_Isabel_Intro1[] = _("While out shopping for");
const u8 gText_MatchCallPokefan_Isabel_Intro2[] = _("supper, I battle too.");
const u8 gText_MatchCallPokefan_Miguel_Strategy[] = _("I battle with love!");
const u8 gText_MatchCallPokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!");
const u8 gText_MatchCallPokefan_Miguel_Intro1[] = _("It's important to build");
const u8 gText_MatchCallPokefan_Miguel_Intro2[] = _("trust with your POKéMON.");
const u8 gText_MatchCallExpert_Timothy_Strategy[] = _("I see through your moves!");
const u8 gText_MatchCallExpert_Timothy_Pokemon[] = _("The essence of FIGHTING.");
const u8 gText_MatchCallExpert_Timothy_Intro1[] = _("I'm not ready to give way");
const u8 gText_MatchCallExpert_Timothy_Intro2[] = _("to the young yet!");
const u8 gText_MatchCallExpert_Shelby_Strategy[] = _("Attack while defending.");
const u8 gText_MatchCallExpert_Shelby_Pokemon[] = _("The FIGHTING type.");
const u8 gText_MatchCallExpert_Shelby_Intro1[] = _("Being old, I have my own");
const u8 gText_MatchCallExpert_Shelby_Intro2[] = _("style of battling.");
const u8 gText_MatchCallYoungster_Calvin_Strategy[] = _("I do what I can.");
const u8 gText_MatchCallYoungster_Calvin_Pokemon[] = _("I use different types.");
const u8 gText_MatchCallYoungster_Calvin_Intro1[] = _("I'm going to keep working");
const u8 gText_MatchCallYoungster_Calvin_Intro2[] = _("until I beat a GYM LEADER.");
const u8 gText_MatchCallFisherman_Elliot_Strategy[] = _("I battle patiently.");
const u8 gText_MatchCallFisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!");
const u8 gText_MatchCallFisherman_Elliot_Intro1[] = _("I'm the world's only guy to");
const u8 gText_MatchCallFisherman_Elliot_Intro2[] = _("catch a huge POKéMON!");
const u8 gText_MatchCallTriathlete_Isaiah_Strategy[] = _("Exploit the environment!");
const u8 gText_MatchCallTriathlete_Isaiah_Pokemon[] = _("All hail the WATER type!");
const u8 gText_MatchCallTriathlete_Isaiah_Intro1[] = _("I won't be beaten by some");
const u8 gText_MatchCallTriathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!");
const u8 gText_MatchCallTriathlete_Maria_Strategy[] = _("Speed above all!");
const u8 gText_MatchCallTriathlete_Maria_Pokemon[] = _("I use a speedy POKéMON.");
const u8 gText_MatchCallTriathlete_Maria_Intro1[] = _("A marathon is a challenge");
const u8 gText_MatchCallTriathlete_Maria_Intro2[] = _("against your own self.");
const u8 gText_MatchCallTriathlete_Abigail_Strategy[] = _("Defense is crucial.");
const u8 gText_MatchCallTriathlete_Abigail_Pokemon[] = _("My POKéMON is solid.");
const u8 gText_MatchCallTriathlete_Abigail_Intro1[] = _("I started this for dieting,");
const u8 gText_MatchCallTriathlete_Abigail_Intro2[] = _("but I got right into it.");
const u8 gText_MatchCallTriathlete_Dylan_Strategy[] = _("Strike before stricken!");
const u8 gText_MatchCallTriathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!");
const u8 gText_MatchCallTriathlete_Dylan_Intro1[] = _("If you ran and ran, you'd");
const u8 gText_MatchCallTriathlete_Dylan_Intro2[] = _("become one with the wind.");
const u8 gText_MatchCallTriathlete_Katelyn_Strategy[] = _("All-out offensive!");
const u8 gText_MatchCallTriathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!");
const u8 gText_MatchCallTriathlete_Katelyn_Intro1[] = _("I must swim over 6 miles");
const u8 gText_MatchCallTriathlete_Katelyn_Intro2[] = _("every day.");
const u8 gText_MatchCallTriathlete_Benjamin_Strategy[] = _("Push and push again!");
const u8 gText_MatchCallTriathlete_Benjamin_Pokemon[] = _("The strength of STEEL.");
const u8 gText_MatchCallTriathlete_Benjamin_Intro1[] = _("If you're sweating, get");
const u8 gText_MatchCallTriathlete_Benjamin_Intro2[] = _("fluids into you regularly.");
const u8 gText_MatchCallTriathlete_Pablo_Strategy[] = _("Draw the power of WATER.");
const u8 gText_MatchCallTriathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON.");
const u8 gText_MatchCallTriathlete_Pablo_Intro1[] = _("Training POKéMON is good,");
const u8 gText_MatchCallTriathlete_Pablo_Intro2[] = _("but don't neglect yourself.");
const u8 gText_MatchCallDragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!");
const u8 gText_MatchCallDragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!");
const u8 gText_MatchCallDragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the");
const u8 gText_MatchCallDragonTamer_Nicolas_Intro2[] = _("strongest one day!");
const u8 gText_MatchCallBirdKeeper_Robert_Strategy[] = _("I'll show you my technique!");
const u8 gText_MatchCallBirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS.");
const u8 gText_MatchCallBirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my");
const u8 gText_MatchCallBirdKeeper_Robert_Intro2[] = _("love to that girl!");
const u8 gText_MatchCallNinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!");
const u8 gText_MatchCallNinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON.");
const u8 gText_MatchCallNinjaBoy_Lao_Intro1[] = _("I undertake training so");
const u8 gText_MatchCallNinjaBoy_Lao_Intro2[] = _("that I may become a ninja.");
const u8 gText_MatchCallBattleGirl_Cyndy_Strategy[] = _("The first strike wins!");
const u8 gText_MatchCallBattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type.");
const u8 gText_MatchCallBattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,");
const u8 gText_MatchCallBattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!");
const u8 gText_MatchCallParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!");
const u8 gText_MatchCallParasolLady_Madeline_Pokemon[] = _("I'll raise anything.");
const u8 gText_MatchCallParasolLady_Madeline_Intro1[] = _("UV rays are your skin's");
const u8 gText_MatchCallParasolLady_Madeline_Intro2[] = _("enemy. Get protected.");
const u8 gText_MatchCallSwimmer_Jenny_Strategy[] = _("No mercy!");
const u8 gText_MatchCallSwimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON.");
const u8 gText_MatchCallSwimmer_Jenny_Intro1[] = _("I have too many fans.");
const u8 gText_MatchCallSwimmer_Jenny_Intro2[] = _("I was interviewed on TV.");
const u8 gText_MatchCallPicnicker_Diana_Strategy[] = _("I think about this & that.");
const u8 gText_MatchCallPicnicker_Diana_Pokemon[] = _("I like all POKéMON.");
const u8 gText_MatchCallPicnicker_Diana_Intro1[] = _("What lies beyond that");
const u8 gText_MatchCallPicnicker_Diana_Intro2[] = _("yonder hill?");
const u8 gText_MatchCallTwins_AmyAndLiv_Strategy[] = _("We battle together!");
const u8 gText_MatchCallTwins_AmyAndLiv_Pokemon[] = _("We train together!");
const u8 gText_MatchCallTwins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,");
const u8 gText_MatchCallTwins_AmyAndLiv_Intro2[] = _("but different desserts.");
const u8 gText_MatchCallSailor_Ernest_Strategy[] = _("I force things with power!");
const u8 gText_MatchCallSailor_Ernest_Pokemon[] = _("WATER and FIGHTING types.");
const u8 gText_MatchCallSailor_Ernest_Intro1[] = _("Seamen are rough spirits!");
const u8 gText_MatchCallSailor_Ernest_Intro2[] = _("Any complaints?");
const u8 gText_MatchCallSailor_Cory_Strategy[] = _("Up for a fight anytime!");
const u8 gText_MatchCallSailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!");
const u8 gText_MatchCallSailor_Cory_Intro1[] = _("If you want to shout loud,");
const u8 gText_MatchCallSailor_Cory_Intro2[] = _("suck in air with your belly!");
const u8 gText_MatchCallCollector_Edwin_Strategy[] = _("Protect POKéMON from harm.");
const u8 gText_MatchCallCollector_Edwin_Pokemon[] = _("I love rare POKéMON.");
const u8 gText_MatchCallCollector_Edwin_Intro1[] = _("I want to collect all the");
const u8 gText_MatchCallCollector_Edwin_Intro2[] = _("world's rare POKéMON.");
const u8 gText_MatchCallPkmnBreeder_Lydia_Strategy[] = _("I count on power.");
const u8 gText_MatchCallPkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children.");
const u8 gText_MatchCallPkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and");
const u8 gText_MatchCallPkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON.");
const u8 gText_MatchCallPkmnBreeder_Isaac_Strategy[] = _("Full-on attack!");
const u8 gText_MatchCallPkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it.");
const u8 gText_MatchCallPkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for");
const u8 gText_MatchCallPkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles.");
const u8 gText_MatchCallPkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care.");
const u8 gText_MatchCallPkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON.");
const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you");
const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro2[] = _("meet with respect.");
const u8 gText_MatchCallPkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON.");
const u8 gText_MatchCallPkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON.");
const u8 gText_MatchCallPkmnRanger_Catherine_Intro1[] = _("I'm training for rescue");
const u8 gText_MatchCallPkmnRanger_Catherine_Intro2[] = _("work with my POKéMON.");
const u8 gText_MatchCallPkmnRanger_Jackson_Strategy[] = _("Attack in waves!");
const u8 gText_MatchCallPkmnRanger_Jackson_Pokemon[] = _("I use different types.");
const u8 gText_MatchCallPkmnRanger_Jackson_Intro1[] = _("Those who destroy nature");
const u8 gText_MatchCallPkmnRanger_Jackson_Intro2[] = _("must never be forgiven!");
const u8 gText_MatchCallLass_Haley_Strategy[] = _("I'll show you some guts!");
const u8 gText_MatchCallLass_Haley_Pokemon[] = _("Cute POKéMON are my faves!");
const u8 gText_MatchCallLass_Haley_Intro1[] = _("After a battle, I always");
const u8 gText_MatchCallLass_Haley_Intro2[] = _("bathe with my POKéMON.");
const u8 gText_MatchCallBugCatcher_James_Strategy[] = _("Lightning-fast attack!");
const u8 gText_MatchCallBugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!");
const u8 gText_MatchCallBugCatcher_James_Intro1[] = _("If you want to catch BUG");
const u8 gText_MatchCallBugCatcher_James_Intro2[] = _("POKéMON, wake up early.");
const u8 gText_MatchCallHiker_Trent_Strategy[] = _("I battle with power.");
const u8 gText_MatchCallHiker_Trent_Pokemon[] = _("Hard-bodied POKéMON.");
const u8 gText_MatchCallHiker_Trent_Intro1[] = _("I've been planning a month");
const u8 gText_MatchCallHiker_Trent_Intro2[] = _("for today's hike.");
const u8 gText_MatchCallHiker_Sawyer_Strategy[] = _("I like it hot!");
const u8 gText_MatchCallHiker_Sawyer_Pokemon[] = _("Hot POKéMON!");
const u8 gText_MatchCallHiker_Sawyer_Intro1[] = _("As much as I love POKéMON,");
const u8 gText_MatchCallHiker_Sawyer_Intro2[] = _("I surely like hiking!");
const u8 gText_MatchCallYoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!");
const u8 gText_MatchCallYoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!");
const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!");
const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!");
const u8 gText_MatchCallPkmnTrainer_Wally_Strategy[] = _("We let it all hang out.");
const u8 gText_MatchCallPkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught.");
const u8 gText_MatchCallPkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown");
const u8 gText_MatchCallPkmnTrainer_Wally_Intro2[] = _("stronger together.");
const u8 gText_MatchCallRockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack.");
const u8 gText_MatchCallRockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON.");
const u8 gText_MatchCallRockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears");
const u8 gText_MatchCallRockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility.");
const u8 gText_MatchCallTheBigHit_Brawly_Strategy[] = _("Direct physical action!");
const u8 gText_MatchCallTheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!");
const u8 gText_MatchCallTheBigHit_Brawly_Intro1[] = _("The world awaits me as the");
const u8 gText_MatchCallTheBigHit_Brawly_Intro2[] = _("next big wave!");
const u8 gText_MatchCallSwellShock_Wattson_Strategy[] = _("I choose to electrify.");
const u8 gText_MatchCallSwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!");
const u8 gText_MatchCallSwellShock_Wattson_Intro1[] = _("One must never throw a");
const u8 gText_MatchCallSwellShock_Wattson_Intro2[] = _("match. Even I must not.");
const u8 gText_MatchCallPassionBurn_Flannery_Strategy[] = _("Battle aggressively.");
const u8 gText_MatchCallPassionBurn_Flannery_Pokemon[] = _("Burn with passion!");
const u8 gText_MatchCallPassionBurn_Flannery_Intro1[] = _("Completely wash away daily");
const u8 gText_MatchCallPassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!");
const u8 gText_MatchCallReliableOne_Dad_Strategy[] = _("I flexibly adapt my style.");
const u8 gText_MatchCallReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner.");
const u8 gText_MatchCallReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from");
const u8 gText_MatchCallReliableOne_Dad_Intro2[] = _("home to here every day.");
const u8 gText_MatchCallSkyTamer_Winona_Strategy[] = _("I take advantage of speed.");
const u8 gText_MatchCallSkyTamer_Winona_Pokemon[] = _("Graceful sky dancers.");
const u8 gText_MatchCallSkyTamer_Winona_Intro1[] = _("The ultimate would be to");
const u8 gText_MatchCallSkyTamer_Winona_Intro2[] = _("live as one with nature.");
const u8 gText_MatchCallMysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation.");
const u8 gText_MatchCallMysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON.");
const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling");
const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!");
const u8 gText_MatchCallDandyCharm_Juan_Strategy[] = _("I use splendid waterpower.");
const u8 gText_MatchCallDandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!");
const u8 gText_MatchCallDandyCharm_Juan_Intro1[] = _("The adulation of beautiful");
const u8 gText_MatchCallDandyCharm_Juan_Intro2[] = _("ladies fills me with energy!");
const u8 gText_MatchCallEliteFour_Sidney_Strategy[] = _("Offense over defense!");
const u8 gText_MatchCallEliteFour_Sidney_Pokemon[] = _("The DARK side's beauties.");
const u8 gText_MatchCallEliteFour_Sidney_Intro1[] = _("They said I was a punk, but");
const u8 gText_MatchCallEliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!");
const u8 gText_MatchCallEliteFour_Phoebe_Strategy[] = _("Confuse and confound.");
const u8 gText_MatchCallEliteFour_Phoebe_Pokemon[] = _("There's nothing definite.");
const u8 gText_MatchCallEliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at");
const u8 gText_MatchCallEliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?");
const u8 gText_MatchCallEliteFour_Glacia_Strategy[] = _("I use items for help.");
const u8 gText_MatchCallEliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!");
const u8 gText_MatchCallEliteFour_Glacia_Intro1[] = _("The ICE type can be better");
const u8 gText_MatchCallEliteFour_Glacia_Intro2[] = _("trained in this hot land.");
const u8 gText_MatchCallEliteFour_Drake_Strategy[] = _("Harness strong abilities.");
const u8 gText_MatchCallEliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!");
const u8 gText_MatchCallEliteFour_Drake_Intro1[] = _("I dedicate myself to the");
const u8 gText_MatchCallEliteFour_Drake_Intro2[] = _("POKéMON that saved me.");
const u8 gText_MatchCallChampion_Wallace_Strategy[] = _("Dignity and respect.");
const u8 gText_MatchCallChampion_Wallace_Pokemon[] = _("I prefer POKéMON of grace.");
const u8 gText_MatchCallChampion_Wallace_Intro1[] = _("I represent beauty as");
const u8 gText_MatchCallChampion_Wallace_Intro2[] = _("well as intelligence.");
const u8 *const gMatchCallFlavorTexts[REMATCH_TABLE_ENTRIES][CHECK_PAGE_ENTRY_COUNT] =
{
[REMATCH_ROSE] = MCFLAVOR(AromaLady_Rose),
[REMATCH_ANDRES] = MCFLAVOR(RuinManiac_Andres),

View File

@@ -54,8 +54,8 @@ static const struct WindowTemplate sDaycareLevelMenuWindowTemplate =
// which is copied to VAR_0x8004 and used as an index for GetDaycareCost
static const struct ListMenuItem sLevelMenuItems[] =
{
{gExpandedPlaceholder_Empty, 0},
{gExpandedPlaceholder_Empty, 1},
{gText_ExpandedPlaceholder_Empty, 0},
{gText_ExpandedPlaceholder_Empty, 1},
{gText_Exit, DAYCARE_LEVEL_MENU_EXIT}
};

View File

@@ -608,7 +608,7 @@ static void DecorationMenuAction_PutAway(u8 taskId)
{
RemoveDecorationWindow(0);
ClearDialogWindowAndFrame(0, 0);
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_8129ABC;
}
@@ -1292,7 +1292,7 @@ void sub_8127F68(u8 taskId)
{
if (sub_8127F38() == TRUE)
{
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_8128060;
}
@@ -1682,7 +1682,7 @@ void CancelDecorating(u8 taskId)
void sub_8128BBC(u8 taskId)
{
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = c1_overworld_prev_quest;
}
@@ -2551,7 +2551,7 @@ void ReturnDecorationPrompt(u8 taskId)
void PutAwayDecoration(u8 taskId)
{
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_81298EC;
}
@@ -2570,7 +2570,7 @@ void StopPuttingAwayDecorations(u8 taskId)
void sub_812A22C(u8 taskId)
{
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_812A25C;
}

View File

@@ -1341,7 +1341,7 @@ static void CB2_QuizLadyQuestion(void)
switch (gMain.state)
{
case 0:
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
break;
case 1:
if (!gPaletteFade.active)

View File

@@ -461,7 +461,7 @@ void EggHatch(void)
{
ScriptContext2_Enable();
CreateTask(Task_EggHatch, 10);
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
}
static void Task_EggHatch(u8 taskID)

View File

@@ -2,9 +2,15 @@
#include "event_data.h"
#include "pokedex.h"
#define TEMP_FLAGS_SIZE 0x4
#define DAILY_FLAGS_SIZE 0x8
#define TEMP_VARS_SIZE 0x20
#define NUM_SPECIAL_FLAGS (SPECIAL_FLAGS_END - SPECIAL_FLAGS_START + 1)
#define NUM_TEMP_FLAGS (TEMP_FLAGS_END - TEMP_FLAGS_START + 1)
#define NUM_DAILY_FLAGS (DAILY_FLAGS_END - DAILY_FLAGS_START + 1)
#define NUM_TEMP_VARS (TEMP_VARS_END - TEMP_VARS_START + 1)
#define SPECIAL_FLAGS_SIZE (NUM_SPECIAL_FLAGS / 8) // 8 flags per byte
#define TEMP_FLAGS_SIZE (NUM_TEMP_FLAGS / 8)
#define DAILY_FLAGS_SIZE (NUM_DAILY_FLAGS / 8)
#define TEMP_VARS_SIZE (NUM_TEMP_VARS * 2) // 1/2 var per byte
EWRAM_DATA u16 gSpecialVar_0x8000 = 0;
EWRAM_DATA u16 gSpecialVar_0x8001 = 0;
@@ -24,7 +30,7 @@ EWRAM_DATA u16 gSpecialVar_Facing = 0;
EWRAM_DATA u16 gSpecialVar_MonBoxId = 0;
EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0;
EWRAM_DATA u16 gSpecialVar_Unused_0x8014 = 0;
EWRAM_DATA static u8 gSpecialFlags[16] = {0};
EWRAM_DATA static u8 gSpecialFlags[SPECIAL_FLAGS_SIZE] = {0};
extern u16 *const gSpecialVars[];
@@ -37,8 +43,8 @@ void InitEventData(void)
void ClearTempFieldEventData(void)
{
memset(gSaveBlock1Ptr->flags, 0, TEMP_FLAGS_SIZE);
memset(gSaveBlock1Ptr->vars, 0, TEMP_VARS_SIZE);
memset(gSaveBlock1Ptr->flags + (TEMP_FLAGS_START / 8), 0, TEMP_FLAGS_SIZE);
memset(gSaveBlock1Ptr->vars + ((TEMP_VARS_START - VARS_START) * 2), 0, TEMP_VARS_SIZE);
FlagClear(FLAG_SYS_ENC_UP_ITEM);
FlagClear(FLAG_SYS_ENC_DOWN_ITEM);
FlagClear(FLAG_SYS_USE_STRENGTH);
@@ -48,7 +54,7 @@ void ClearTempFieldEventData(void)
void ClearDailyFlags(void)
{
memset(gSaveBlock1Ptr->flags + 0x124, 0, DAILY_FLAGS_SIZE);
memset(gSaveBlock1Ptr->flags + (DAILY_FLAGS_START / 8), 0, DAILY_FLAGS_SIZE);
}
void DisableNationalPokedex(void)
@@ -108,7 +114,7 @@ bool32 IsMysteryGiftEnabled(void)
return FlagGet(FLAG_SYS_MYSTERY_GIFT_ENABLE);
}
void sub_809D4D8(void)
void ClearMysteryEventFlags(void)
{
FlagClear(FLAG_MYSTERY_EVENT_DONE);
FlagClear(FLAG_MYSTERY_EVENT_1);
@@ -128,7 +134,7 @@ void sub_809D4D8(void)
FlagClear(FLAG_MYSTERY_EVENT_15);
}
void sub_809D570(void)
void ClearMysteryEventVars(void)
{
VarSet(VAR_EVENT_PICHU_SLOT, 0);
VarSet(VAR_NEVER_READ_0x40DE, 0);

View File

@@ -517,7 +517,7 @@ static bool8 TryStartMiscWalkingScripts(u16 metatileBehavior)
}
else if (MetatileBehavior_IsBattlePyramidWarp(metatileBehavior))
{
ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8);
ScriptContext1_SetupScript(BattlePyramid_WarpToNextFloor);
return TRUE;
}
else if (MetatileBehavior_IsSecretBaseGlitterMat(metatileBehavior) == TRUE)

View File

@@ -429,7 +429,7 @@ static void sub_80AF660(u8 taskId)
if (WaitForWeatherFadeIn() == TRUE)
{
DestroyTask(taskId);
CreateTask(sub_809FA34, 80);
CreateTask(Task_ShowStartMenu, 80);
}
}

View File

@@ -1558,7 +1558,7 @@ static u8 MapNumToFrontierFacilityId(u16 mapNum) // id + 1, zero means not a fro
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS))
return FRONTIER_FACILITY_PIKE + 1;
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_TOP))
return FRONTIER_FACILITY_PYRAMID + 1;
else

View File

@@ -601,7 +601,7 @@ void ItemUseOutOfBattle_PokeblockCase(u8 taskId)
else
{
gFieldCallback = sub_80AF6D4;
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].func = sub_80FDC00;
}
}

View File

@@ -1060,7 +1060,7 @@ static bool32 SelectMatchCallTrainer(void)
static u32 GetNumRegisteredNPCs(void)
{
u32 i, count;
for (i = 0, count = 0; i < 64; i++)
for (i = 0, count = 0; i < REMATCH_SPECIAL_TRAINER_START; i++)
{
if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i))
count++;
@@ -1072,7 +1072,7 @@ static u32 GetNumRegisteredNPCs(void)
static u32 GetActiveMatchCallTrainerId(u32 activeMatchCallId)
{
u32 i;
for (i = 0; i < 64; i++)
for (i = 0; i < REMATCH_SPECIAL_TRAINER_START; i++)
{
if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i))
{
@@ -1384,7 +1384,7 @@ static u16 GetRematchTrainerLocation(int matchCallId)
static u32 GetNumRematchTrainersFought(void)
{
u32 i, count;
for (i = 0, count = 0; i < 64; i++)
for (i = 0, count = 0; i < REMATCH_SPECIAL_TRAINER_START; i++)
{
if (HasTrainerBeenFought(gRematchTable[i].trainerIds[0]))
count++;
@@ -1961,7 +1961,7 @@ static const u8 *const sBirchDexRatingTexts[] =
gBirchDexRatingText_DexCompleted,
};
void sub_8197080(u8 *destStr)
void BufferPokedexRatingForMatchCall(u8 *destStr)
{
int numSeen, numCaught;
u8 *str;

View File

@@ -132,8 +132,8 @@ void DestroyWonderCard(void)
sub_801B368();
sub_801B9F8();
ClearRamScript();
sub_809D4D8();
sub_809D570();
ClearMysteryEventFlags();
ClearMysteryEventVars();
ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer);
}

View File

@@ -33,7 +33,6 @@ EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL;
extern u16 gKeyRepeatStartDelay;
// extern text
extern const u8 gExpandedPlaceholder_Empty[];
extern const u8 gText_MoveOkBack[];
extern const u8 gText_YourName[];
extern const u8 gText_BoxName[];
@@ -1679,7 +1678,7 @@ static void sub_80E4D10(void)
for (i = 0; i < maxChars; i++)
{
temp[0] = gNamingScreenData->textBuffer[i];
temp[1] = gExpandedPlaceholder_Empty[0];
temp[1] = gText_ExpandedPlaceholder_Empty[0];
unk2 = (IsLetter(temp[0]) == TRUE) ? 2 : 0;
AddTextPrinterParameterized(gNamingScreenData->windows[2], 1, temp, i * 8 + unk + unk2, 1, 0xFF, NULL);

View File

@@ -852,7 +852,7 @@ static void mli0_load_map(u32 a1)
LoadCurrentMapData();
if (!(sUnknown_020322D8 & 1))
{
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
LoadBattlePyramidEventObjectTemplates();
else if (InTrainerHill())
LoadTrainerHillEventObjectTemplates();
@@ -880,7 +880,7 @@ static void mli0_load_map(u32 a1)
RunOnTransitionMapScript();
UpdateLocationHistoryForRoamer();
RoamerMoveToOtherLocationSet();
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
InitBattlePyramidMap(FALSE);
else if (InTrainerHill())
InitTrainerHillMap();
@@ -1720,7 +1720,7 @@ void CB2_ContinueSavedGame(void)
LoadSaveblockMapHeader();
ClearDiveAndHoleWarps();
trainerHillMapId = GetCurrentTrainerHillMapId();
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
LoadBattlePyramidFloorEventObjectScripts();
else if (trainerHillMapId != 0 && trainerHillMapId != TRAINER_HILL_ENTRANCE)
LoadTrainerHillFloorEventObjectScripts();
@@ -1730,7 +1730,7 @@ void CB2_ContinueSavedGame(void)
UnfreezeEventObjects();
DoTimeBasedEvents();
sub_8084788();
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
InitBattlePyramidMap(TRUE);
else if (trainerHillMapId != 0)
InitTrainerHillMap();

View File

@@ -484,7 +484,7 @@ static void ItemStorageMenuProcessInput(u8 taskId)
static void ItemStorage_Deposit(u8 taskId)
{
gTasks[taskId].func = Task_ItemStorage_Deposit;
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
}
static void Task_ItemStorage_Deposit(u8 taskId)
@@ -714,7 +714,7 @@ static void Mailbox_MailOptionsProcessInput(u8 taskId)
static void Mailbox_DoMailRead(u8 taskId)
{
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].func = Mailbox_FadeAndReadMail;
}
@@ -813,7 +813,7 @@ static void Mailbox_Give(u8 taskId)
Mailbox_NoPokemonForMail(taskId);
else
{
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].func = Mailbox_DoGiveMailPokeMenu;
}
}

View File

@@ -1790,7 +1790,7 @@ static void Task_PokemonStorageSystemPC(u8 taskId)
}
else
{
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
task->data[0] = 4;
}
break;

View File

@@ -320,7 +320,7 @@ void CB2_InitPokeNav(void)
void OpenPokenavForTutorial(void)
{
SetMainCallback2(CB2_InitPokenavForTutorial);
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
}
static void CB2_InitPokenavForTutorial(void)
@@ -337,7 +337,7 @@ static void CB2_InitPokenavForTutorial(void)
else
{
InitPokenavResources(gPokenavResources);
gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_1;
gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_READY;
ResetTasks();
ResetSpriteData();
FreeAllSpritePalettes();

View File

@@ -41,7 +41,7 @@ struct PokenavMainMenuResources
u32 (*unk4)(void);
u32 unk8;
u32 currentTaskId;
u32 unk10;
u32 helpBarWindowId;
u32 unk14;
struct Sprite *spinningPokenav;
struct Sprite *leftHeaderSprites[2];
@@ -68,10 +68,10 @@ static void MoveLeftHeader(struct Sprite *sprite, s32 startX, s32 endX, s32 dura
static void SpriteCB_MoveLeftHeader(struct Sprite *sprite);
static void InitPokenavMainMenuResources(void);
static void InitHoennMapHeaderSprites(void);
static void sub_81C7B74(void);
static void InitHelpBar(void);
static u32 LoopedTask_ScrollMenuHeaderDown(s32 a0);
static u32 LoopedTask_ScrollMenuHeaderUp(s32 a0);
static void sub_81C7BF8(u32 a0);
static void DrawHelpBar(u32 windowId);
static void SpriteCB_SpinningPokenav(struct Sprite* sprite);
static u32 LoopedTask_InitPokenavMenu(s32 a0);
@@ -92,7 +92,7 @@ const struct BgTemplate gPokenavMainMenuBgTemplates[] =
}
};
const struct WindowTemplate gUnknown_0861FA08[2] =
static const struct WindowTemplate sHelpBarWindowTemplate[] =
{
{
.bg = 0,
@@ -103,31 +103,23 @@ const struct WindowTemplate gUnknown_0861FA08[2] =
.paletteNum = 0,
.baseBlock = 0x36,
},
{
.bg = 0xFF,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 0,
.height = 0,
.paletteNum = 0,
.baseBlock = 0,
},
DUMMY_WIN_TEMPLATE
};
const u8 *const sHelpBarTexts[12] =
static const u8 *const sHelpBarTexts[HELPBAR_COUNT] =
{
gText_Pokenav_ClearButtonList,
gText_PokenavMap_ZoomedOutButtons,
gText_PokenavMap_ZoomedInButtons,
gText_PokenavCondition_MonListButtons,
gText_PokenavCondition_MonStatusButtons,
gText_PokenavCondition_MarkingButtons,
gText_PokenavMatchCall_TrainerListButtons,
gText_PokenavMatchCall_CallMenuButtons,
gText_PokenavMatchCall_CheckTrainerButtons,
gText_PokenavRibbons_MonListButtons,
gText_PokenavRibbons_RibbonListButtons,
gText_PokenavRibbons_RibbonCheckButtons,
[HELPBAR_NONE] = gText_Pokenav_ClearButtonList,
[HELPBAR_MAP_ZOOMED_OUT] = gText_PokenavMap_ZoomedOutButtons,
[HELPBAR_MAP_ZOOMED_IN] = gText_PokenavMap_ZoomedInButtons,
[HELPBAR_CONDITION_MON_LIST] = gText_PokenavCondition_MonListButtons,
[HELPBAR_CONDITION_MON_STATUS] = gText_PokenavCondition_MonStatusButtons,
[HELPBAR_CONDITION_MARKINGS] = gText_PokenavCondition_MarkingButtons,
[HELPBAR_MC_TRAINER_LIST] = gText_PokenavMatchCall_TrainerListButtons,
[HELPBAR_MC_CALL_MENU] = gText_PokenavMatchCall_CallMenuButtons,
[HELPBAR_MC_CHECK_PAGE] = gText_PokenavMatchCall_CheckTrainerButtons,
[HELPBAR_RIBBONS_MON_LIST] = gText_PokenavRibbons_MonListButtons,
[HELPBAR_RIBBONS_LIST] = gText_PokenavRibbons_RibbonListButtons,
[HELPBAR_RIBBONS_CHECK] = gText_PokenavRibbons_RibbonCheckButtons,
};
static const u8 sHelpBarTextColors[3] =
@@ -386,7 +378,7 @@ static u32 LoopedTask_InitPokenavMenu(s32 a0)
if (free_temp_tile_data_buffers_if_possible())
return LT_PAUSE;
sub_81C7B74();
InitHelpBar();
return LT_INC_AND_PAUSE;
case 3:
if (IsDma3ManagerBusyWithBgCopy())
@@ -676,31 +668,31 @@ void InitBgTemplates(const struct BgTemplate *templates, int count)
InitBgFromTemplate(templates++);
}
static void sub_81C7B74(void)
static void InitHelpBar(void)
{
struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0);
InitWindows(&gUnknown_0861FA08[0]);
structPtr->unk10 = 0;
sub_81C7BF8(structPtr->unk10);
PutWindowTilemap(structPtr->unk10);
CopyWindowToVram(structPtr->unk10, 3); // TODO: Use a defined constant here.
InitWindows(&sHelpBarWindowTemplate[0]);
structPtr->helpBarWindowId = 0;
DrawHelpBar(structPtr->helpBarWindowId);
PutWindowTilemap(structPtr->helpBarWindowId);
CopyWindowToVram(structPtr->helpBarWindowId, 3); // TODO: Use a defined constant here.
}
void sub_81C7BA4(u32 helpBarIndex)
void PrintHelpBarText(u32 textId)
{
struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0);
sub_81C7BF8(structPtr->unk10);
AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, sHelpBarTextColors, 0, sHelpBarTexts[helpBarIndex]);
DrawHelpBar(structPtr->helpBarWindowId);
AddTextPrinterParameterized3(structPtr->helpBarWindowId, 1, 0, 1, sHelpBarTextColors, 0, sHelpBarTexts[textId]);
}
bool32 IsDma3ManagerBusyWithBgCopy_(void)
bool32 WaitForHelpBar(void)
{
return IsDma3ManagerBusyWithBgCopy();
}
static void sub_81C7BF8(u32 windowId)
static void DrawHelpBar(u32 windowId)
{
FillWindowPixelBuffer(windowId, PIXEL_FILL(4));
FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1);

File diff suppressed because it is too large Load Diff

View File

@@ -46,7 +46,7 @@ struct PokenavSub17Substruct
u32 unk28;
s32 unk2C;
u32 unk30;
void (*unk34)(struct PokenavMonList *, u8*);
void (*unk34)(struct PokenavMatchCallEntries *, u8*);
void (*unk38)(u16, u32, u32);
struct Sprite *rightArrow;
struct Sprite *upArrow;
@@ -67,8 +67,8 @@ struct PokenavSub17
extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4);
void sub_81C82E4(struct PokenavSub17 *a0);
bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3);
void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1);
bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct PokenavListTemplate *a2, s32 a3);
void sub_81C9160(struct MatchCallWindowState *a0, struct PokenavListTemplate *a1);
void SpriteCB_MatchCallUpArrow(struct Sprite *sprite);
void SpriteCB_MatchCallDownArrow(struct Sprite *sprite);
void SpriteCB_MatchCallRightArrow(struct Sprite *sprite);
@@ -76,7 +76,7 @@ void ToggleMatchCallArrows(struct PokenavSub17Substruct *a0, u32 a1);
void sub_81C8FE0(struct PokenavSub17Substruct *a0);
void sub_81C8EF8(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1);
void sub_81C8ED0(void);
void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2);
static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2);
void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 a1);
void sub_81C8D4C(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1);
void sub_81C8CB4(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1);
@@ -91,14 +91,14 @@ u32 LoopedTask_sub_81C83F0(s32 state);
u32 LoopedTask_sub_81C85A0(s32 state);
u32 LoopedTask_sub_81C8870(s32 state);
u32 LoopedTask_sub_81C8A28(s32 state);
u32 LoopedTask_sub_81C8958(s32 state);
u32 LoopedTask_PrintCheckPageInfo(s32 state);
static const u16 sMatchcallArrowPaletteData[] = INCBIN_U16("graphics/pokenav/arrows_matchcall.gbapal");
static const u32 sMatchcallArrowSpriteSheetData[] = INCBIN_U32("graphics/pokenav/arrows_matchcall.4bpp.lz");
EWRAM_DATA u32 gUnknown_0203CF44 = 0;
bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2)
bool32 sub_81C81D4(const struct BgTemplate *arg0, struct PokenavListTemplate *arg1, s32 arg2)
{
struct PokenavSub17 *structPtr = AllocSubstruct(17, sizeof(struct PokenavSub17));
if (structPtr == NULL)
@@ -467,12 +467,12 @@ void sub_81C877C(void)
structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8870, 6);
}
void sub_81C87AC(s16 a0)
void PrintCheckPageInfo(s16 a0)
{
struct PokenavSub17 *structPtr = GetSubstructPtr(17);
structPtr->unk888.windowTopIndex += a0;
structPtr->unk89C = 0;
structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8958, 6);
structPtr->unk8A0 = CreateLoopedTask(LoopedTask_PrintCheckPageInfo, 6);
}
void sub_81C87F0(void)
@@ -496,6 +496,7 @@ void sub_81C8838(void)
CopyWindowToVram(structPtr->unk0.unk0.windowId, 1);
}
// TODO:
u32 LoopedTask_sub_81C8870(s32 state)
{
struct PokenavSub17 *structPtr = GetSubstructPtr(17);
@@ -543,7 +544,7 @@ u32 LoopedTask_sub_81C8870(s32 state)
return LT_FINISH;
}
u32 LoopedTask_sub_81C8958(s32 state)
u32 LoopedTask_PrintCheckPageInfo(s32 state)
{
struct PokenavSub17 *structPtr = GetSubstructPtr(17);
if (IsDma3ManagerBusyWithBgCopy())
@@ -558,22 +559,22 @@ u32 LoopedTask_sub_81C8958(s32 state)
PrintMatchCallFieldNames(&structPtr->unk0, 0);
break;
case 2:
sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0);
PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_STRATEGY);
break;
case 3:
PrintMatchCallFieldNames(&structPtr->unk0, 1);
break;
case 4:
sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1);
PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_POKEMON);
break;
case 5:
PrintMatchCallFieldNames(&structPtr->unk0, 2);
break;
case 6:
sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2);
PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_1);
break;
case 7:
sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3);
PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_2);
break;
default:
return LT_FINISH;
@@ -683,7 +684,7 @@ void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, s32 a1, s32 a2)
}
for (a2--; a2 != -1; a1 = (a1 + 1) & 0xF, a2--)
sub_81CBD48(a0->windowId, a1);
ClearRematchPokeballIcon(a0->windowId, a1);
CopyWindowToVram(a0->windowId, 1);
}
@@ -735,11 +736,19 @@ void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 fieldId)
CopyWindowRectToVram(a0->unk0.windowId, 2, 0, top << 1, a0->unk0.unk4, 2);
}
void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2)
static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 checkPageEntry)
{
static const u8 array[] = {2, 4, 6, 7};
u32 r6 = (a1->unk0.unkA + array[a2]) & 0xF;
const u8 *str = sub_81CAFD8(a0->windowTopIndex, a2);
// lines 1, 3, and 5 are the field names printed by PrintMatchCallFieldNames
static const u8 lineOffsets[CHECK_PAGE_ENTRY_COUNT] =
{
[CHECK_PAGE_STRATEGY] = 2,
[CHECK_PAGE_POKEMON] = 4,
[CHECK_PAGE_INTRO_1] = 6,
[CHECK_PAGE_INTRO_2] = 7
};
u32 r6 = (a1->unk0.unkA + lineOffsets[checkPageEntry]) & 0xF;
const u8 *str = GetMatchCallFlavorText(a0->windowTopIndex, checkPageEntry);
if (str != NULL)
{
@@ -925,9 +934,9 @@ void ToggleMatchCallVerticalArrows(bool32 shouldHide)
structPtr->unk0.downArrow->data[7] = shouldHide;
}
void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1)
void sub_81C9160(struct MatchCallWindowState *a0, struct PokenavListTemplate *a1)
{
a0->unk10 = a1->unk0;
a0->unk10 = a1->list.matchCallEntries;
a0->windowTopIndex = a1->unk6;
a0->listLength = a1->unk4;
a0->unkC = a1->unk8;
@@ -953,13 +962,13 @@ void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *
}
}
bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3)
bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct PokenavListTemplate *a2, s32 a3)
{
struct WindowTemplate window;
a0->unk0.bg = a1->bg;
a0->unk0.unk6 = a3;
a0->unk34 = a2->unk10;
a0->unk34 = a2->listFunc.unk10_2;
a0->unk38 = a2->unk14;
a0->unk0.unk1 = a2->unkD;
a0->unk0.unk2 = a2->unk9;

View File

@@ -64,7 +64,7 @@ bool32 PokenavCallback_Init_0(void)
state->menuType = GetPokenavMainMenuType();
state->cursorPos = 0;
state->descriptionId = 0;
state->helpBarIndex = 0;
state->helpBarIndex = HELPBAR_NONE;
sub_81C939C(state);
return TRUE;
}
@@ -78,7 +78,7 @@ bool32 PokenavCallback_Init_4(void)
state->menuType = GetPokenavMainMenuType();
state->cursorPos = 2;
state->descriptionId = 2;
state->helpBarIndex = 0;
state->helpBarIndex = HELPBAR_NONE;
sub_81C939C(state);
return TRUE;
}
@@ -105,7 +105,7 @@ bool32 PokenavCallback_Init_2(void)
state->menuType = 3;
state->cursorPos = 0;
state->descriptionId = 5;
state->helpBarIndex = 0;
state->helpBarIndex = HELPBAR_NONE;
sub_81C939C(state);
return TRUE;
}
@@ -119,7 +119,7 @@ bool32 PokenavCallback_Init_3(void)
state->menuType = 4;
state->cursorPos = sub_81C76AC();
state->descriptionId = state->cursorPos + 8;
state->helpBarIndex = 0;
state->helpBarIndex = HELPBAR_NONE;
sub_81C939C(state);
return TRUE;
}
@@ -151,9 +151,9 @@ static u32 (*sub_81C93EC(void))(struct Pokenav1Struct*)
default:
case POKENAV_MODE_NORMAL:
return sub_81C943C;
case POKENAV_MODE_FORCE_CALL_1:
case POKENAV_MODE_FORCE_CALL_READY:
return sub_81C9520;
case POKENAV_MODE_FORCE_CALL_2:
case POKENAV_MODE_FORCE_CALL_EXIT:
return sub_81C9588;
}
}
@@ -179,7 +179,7 @@ static u32 sub_81C943C(struct Pokenav1Struct *a0)
switch (sDescriptionIds[a0->menuType][a0->cursorPos])
{
case 0:
a0->helpBarIndex = gSaveBlock2Ptr->regionMapZoom ? 2 : 1;
a0->helpBarIndex = gSaveBlock2Ptr->regionMapZoom ? HELPBAR_MAP_ZOOMED_IN : HELPBAR_MAP_ZOOMED_OUT;
sub_81C97B0(a0, POKENAV_MENU_6);
return 8;
case 1:
@@ -189,13 +189,13 @@ static u32 sub_81C943C(struct Pokenav1Struct *a0)
a0->callback = sub_81C963C;
return 2;
case 2:
a0->helpBarIndex = 6;
a0->helpBarIndex = HELPBAR_MC_TRAINER_LIST;
sub_81C97B0(a0, POKENAV_MENU_B);
return 8;
case 3:
if (CanViewRibbonsMenu())
{
a0->helpBarIndex = 9;
a0->helpBarIndex = HELPBAR_RIBBONS_MON_LIST;
sub_81C97B0(a0, POKENAV_MENU_C);
return 8;
}
@@ -224,7 +224,7 @@ static u32 sub_81C9520(struct Pokenav1Struct *a0)
{
if (sDescriptionIds[a0->menuType][a0->cursorPos] == 2)
{
a0->helpBarIndex = 6;
a0->helpBarIndex = HELPBAR_MC_TRAINER_LIST;
sub_81C97B0(a0, POKENAV_MENU_B);
return 8;
}
@@ -259,7 +259,7 @@ static u32 sub_81C9588(struct Pokenav1Struct *a0)
}
else if (v0 == 2)
{
a0->helpBarIndex = 6;
a0->helpBarIndex = HELPBAR_MC_TRAINER_LIST;
sub_81C97B0(a0, POKENAV_MENU_B);
return 8;
}
@@ -349,7 +349,7 @@ static u32 sub_81C96FC(struct Pokenav1Struct *a0)
{
sub_81C7694(v0 - 8);
sub_81C97B0(a0, POKENAV_MENU_8);
a0->helpBarIndex = 3;
a0->helpBarIndex = HELPBAR_CONDITION_MON_LIST;
return 8;
}
else
@@ -459,7 +459,7 @@ int sub_81C98B4(void)
return state->descriptionId;
}
u16 sub_81C98C4(void)
u16 GetHelpBarTextId(void)
{
struct Pokenav1Struct *state = GetSubstructPtr(1);
return state->helpBarIndex;

View File

@@ -573,7 +573,7 @@ u32 sub_81D0A6C(s32 state)
return LT_PAUSE;
case 7:
sub_81D12D8(structPtr);
sub_81C7BA4(10);
PrintHelpBarText(HELPBAR_RIBBONS_LIST);
return LT_INC_AND_PAUSE;
case 8:
if (!IsDma3ManagerBusyWithBgCopy())
@@ -667,7 +667,7 @@ u32 sub_81D0D2C(s32 state)
if (!sub_81D1524(structPtr))
{
sub_81D0EFC(structPtr);
sub_81C7BA4(11);
PrintHelpBarText(HELPBAR_RIBBONS_CHECK);
return LT_INC_AND_PAUSE;
}
return LT_PAUSE;
@@ -721,7 +721,7 @@ u32 sub_81D0E00(s32 state)
if (!sub_81D1524(structPtr))
{
sub_81D0E84(structPtr);
sub_81C7BA4(10);
PrintHelpBarText(HELPBAR_RIBBONS_LIST);
return LT_INC_AND_PAUSE;
}
return LT_PAUSE;

View File

@@ -323,7 +323,7 @@ static bool32 sub_81C98D4(void)
for (i = 0; i < REMATCH_TABLE_ENTRIES; i++)
{
if (sub_81CB0C8(i) == gMapHeader.regionMapSectionId
&& sub_81CAE08(i)
&& IsRematchEntryRegistered(i)
&& gSaveBlock1Ptr->trainerRematches[i])
return TRUE;
}
@@ -706,10 +706,10 @@ static u32 sub_81C9F28(s32 state)
switch (state)
{
case 0:
sub_81C7BA4(sub_81C98C4());
PrintHelpBarText(GetHelpBarTextId());
return LT_INC_AND_PAUSE;
case 1:
if (IsDma3ManagerBusyWithBgCopy_())
if (WaitForHelpBar())
return LT_PAUSE;
sub_81C7880();
sub_81CA9C8();

View File

@@ -17,30 +17,40 @@
struct Pokenav3Struct
{
u16 unk0;
u16 unk2;
const u8 *unk4;
u16 unk8;
u16 unkA;
u16 optionCursorPos;
u16 maxOptionId;
const u8 *matchCallOptions;
u16 headerId;
u16 numRegistered;
u16 unkC;
u32 unk10;
u32 unk14;
u32 (*callback)(struct Pokenav3Struct*);
struct PokenavMonList unk1C[99];
struct PokenavMatchCallEntries matchCallEntries[MAX_REMATCH_ENTRIES - 1];
};
static u32 sub_81CAB44(struct Pokenav3Struct *);
static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *);
static u32 sub_81CABFC(struct Pokenav3Struct *);
static u32 sub_81CAC04(struct Pokenav3Struct *);
static u32 sub_81CACB8(struct Pokenav3Struct *);
static u32 sub_81CACF8(struct Pokenav3Struct *);
static u32 CB2_HandleMatchCallOptionsInput(struct Pokenav3Struct *);
static u32 CB2_HandleCheckPageInput(struct Pokenav3Struct *);
static u32 CB2_HandleCallInput(struct Pokenav3Struct *);
static u32 sub_81CAD20(s32);
static bool32 sub_81CB1D0(void);
#include "data/text/match_call_messages.h"
const u8 gUnknown_08622508[] = {0, 2};
const u8 gUnknown_0862250A[] = {0, 1, 2};
static const u8 sMatchCallOptionsNoCheckPage[] =
{
MATCH_CALL_OPTION_CALL,
MATCH_CALL_OPTION_CANCEL
};
static const u8 sMatchCallOptionsHasCheckPage[] =
{
MATCH_CALL_OPTION_CALL,
MATCH_CALL_OPTION_CHECK,
MATCH_CALL_OPTION_CANCEL
};
bool32 PokenavCallback_Init_11(void)
{
@@ -48,8 +58,8 @@ bool32 PokenavCallback_Init_11(void)
if (!state)
return FALSE;
state->callback = sub_81CAB44;
state->unk8 = 0;
state->callback = CB2_HandleMatchCallInput;
state->headerId = 0;
state->unk10 = 0;
state->unk14 = CreateLoopedTask(sub_81CAD20, 1);
return TRUE;
@@ -66,52 +76,54 @@ void sub_81CAB38(void)
FreePokenavSubstruct(5);
}
static u32 sub_81CAB44(struct Pokenav3Struct *state)
static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *state)
{
int selectedMatchCall;
int selection;
if (gMain.newAndRepeatedKeys & DPAD_UP)
return 2;
return POKENAV_MC_FUNC_UP;
if (gMain.newAndRepeatedKeys & DPAD_DOWN)
return 1;
return POKENAV_MC_FUNC_DOWN;
if (gMain.newAndRepeatedKeys & DPAD_LEFT)
return 4;
return POKENAV_MC_FUNC_PG_UP;
if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
return 3;
return POKENAV_MC_FUNC_PG_DOWN;
if (gMain.newKeys & A_BUTTON)
{
state->callback = sub_81CAC04;
state->unk0 = 0;
selectedMatchCall = GetSelectedMatchCall();
if (!state->unk1C[selectedMatchCall].boxId || MatchCall_HasCheckPage(state->unk1C[selectedMatchCall].unk6))
state->callback = CB2_HandleMatchCallOptionsInput;
state->optionCursorPos = 0;
selection = GetSelectedMatchCall();
if (!state->matchCallEntries[selection].isSpecialTrainer || MatchCall_HasCheckPage(state->matchCallEntries[selection].headerId))
{
state->unk4 = gUnknown_0862250A;
state->unk2 = 2;
state->matchCallOptions = sMatchCallOptionsHasCheckPage;
state->maxOptionId = ARRAY_COUNT(sMatchCallOptionsHasCheckPage) - 1;
}
else
{
state->unk4 = gUnknown_08622508;
state->unk2 = 1;
state->matchCallOptions = sMatchCallOptionsNoCheckPage;
state->maxOptionId = ARRAY_COUNT(sMatchCallOptionsNoCheckPage) - 1;
}
return 5;
return POKENAV_MC_FUNC_SELECT;
}
if (gMain.newKeys & B_BUTTON)
{
if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_1)
if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_READY)
{
state->callback = sub_81CABFC;
return 15;
return POKENAV_MC_FUNC_EXIT;
}
else
{
// Cant exit Match Call menu before calling Mr Stone during tutorial
PlaySE(SE_HAZURE);
}
}
return 0;
return POKENAV_MC_FUNC_NONE;
}
static u32 sub_81CABFC(struct Pokenav3Struct *state)
@@ -119,76 +131,76 @@ static u32 sub_81CABFC(struct Pokenav3Struct *state)
return POKENAV_MENU_4;
}
static u32 sub_81CAC04(struct Pokenav3Struct *state)
static u32 CB2_HandleMatchCallOptionsInput(struct Pokenav3Struct *state)
{
if ((gMain.newKeys & DPAD_UP) && state->unk0)
if ((gMain.newKeys & DPAD_UP) && state->optionCursorPos)
{
state->unk0--;
return 6;
state->optionCursorPos--;
return POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR;
}
if ((gMain.newKeys & DPAD_DOWN) && state->unk0 < state->unk2)
if ((gMain.newKeys & DPAD_DOWN) && state->optionCursorPos < state->maxOptionId)
{
state->unk0++;
return 6;
state->optionCursorPos++;
return POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR;
}
if (gMain.newKeys & A_BUTTON)
{
switch (state->unk4[state->unk0])
switch (state->matchCallOptions[state->optionCursorPos])
{
case 2:
state->callback = sub_81CAB44;
return 7;
case 0:
if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_1)
SetPokenavMode(POKENAV_MODE_FORCE_CALL_2);
case MATCH_CALL_OPTION_CANCEL:
state->callback = CB2_HandleMatchCallInput;
return POKENAV_MC_FUNC_CANCEL;
case MATCH_CALL_OPTION_CALL:
if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_READY)
SetPokenavMode(POKENAV_MODE_FORCE_CALL_EXIT);
state->callback = sub_81CACF8;
state->callback = CB2_HandleCallInput;
if (sub_81CB1D0())
return 9;
return POKENAV_MC_FUNC_NEARBY_MSG;
return 8;
case 1:
state->callback = sub_81CACB8;
return 11;
return POKENAV_MC_FUNC_CALL_MSG;
case MATCH_CALL_OPTION_CHECK:
state->callback = CB2_HandleCheckPageInput;
return POKENAV_MC_FUNC_SHOW_CHECK_PAGE;
}
}
if (gMain.newKeys & B_BUTTON)
{
state->callback = sub_81CAB44;
return 7;
state->callback = CB2_HandleMatchCallInput;
return POKENAV_MC_FUNC_CANCEL;
}
return 0;
return POKENAV_MC_FUNC_NONE;
}
static u32 sub_81CACB8(struct Pokenav3Struct *state)
static u32 CB2_HandleCheckPageInput(struct Pokenav3Struct *state)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
return 12;
return POKENAV_MC_FUNC_CHECK_PAGE_UP;
if (gMain.newAndRepeatedKeys & DPAD_DOWN)
return 13;
return POKENAV_MC_FUNC_CHECK_PAGE_DOWN;
if (gMain.newKeys & B_BUTTON)
{
state->callback = sub_81CAB44;
return 14;
state->callback = CB2_HandleMatchCallInput;
return POKENAV_MC_FUNC_EXIT_CHECK_PAGE;
}
return 0;
return POKENAV_MC_FUNC_NONE;
}
static u32 sub_81CACF8(struct Pokenav3Struct *state)
static u32 CB2_HandleCallInput(struct Pokenav3Struct *state)
{
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
state->callback = sub_81CAB44;
return 10;
state->callback = CB2_HandleMatchCallInput;
return POKENAV_MC_FUNC_10;
}
return 0;
return POKENAV_MC_FUNC_NONE;
}
static u32 sub_81CAD20(s32 taskState)
@@ -198,41 +210,41 @@ static u32 sub_81CAD20(s32 taskState)
switch (taskState)
{
case 0:
state->unk8 = 0;
state->unkA = 0;
state->headerId = 0;
state->numRegistered = 0;
return LT_INC_AND_CONTINUE;
case 1:
for (i = 0, j = state->unk8; i < 30; i++, j++)
for (i = 0, j = state->headerId; i < 30; i++, j++)
{
if (MatchCallFlagGetByIndex(j))
if (MatchCall_GetEnabled(j))
{
state->unk1C[state->unkA].unk6 = j;
state->unk1C[state->unkA].boxId = 1;
state->unk1C[state->unkA].monId = MatchCallMapSecGetByIndex(j);
state->unkA++;
state->matchCallEntries[state->numRegistered].headerId = j;
state->matchCallEntries[state->numRegistered].isSpecialTrainer = TRUE;
state->matchCallEntries[state->numRegistered].mapSec = MatchCall_GetMapSec(j);
state->numRegistered++;
}
if (++state->unk8 >= MC_HEADER_COUNT)
if (++state->headerId >= MC_HEADER_COUNT)
{
state->unkC = state->unk8;
state->unk8 = 0;
state->unkC = state->headerId;
state->headerId = 0;
return LT_INC_AND_CONTINUE;
}
}
return LT_CONTINUE;
case 2:
for (i = 0, j = state->unk8; i < 30; i++, j++)
for (i = 0, j = state->headerId; i < 30; i++, j++)
{
if (!sub_81D1BF8(state->unk8) && sub_81CAE08(state->unk8))
if (!MatchCall_HasRematchId(state->headerId) && IsRematchEntryRegistered(state->headerId))
{
state->unk1C[state->unkA].unk6 = state->unk8;
state->unk1C[state->unkA].boxId = 0;
state->unk1C[state->unkA].monId = sub_81CB0C8(j);
state->unkA++;
state->matchCallEntries[state->numRegistered].headerId = state->headerId;
state->matchCallEntries[state->numRegistered].isSpecialTrainer = FALSE;
state->matchCallEntries[state->numRegistered].mapSec = sub_81CB0C8(j);
state->numRegistered++;
}
if (++state->unk8 > REMATCH_TABLE_ENTRIES - 1)
if (++state->headerId > REMATCH_TABLE_ENTRIES - 1)
return LT_INC_AND_CONTINUE;
}
@@ -245,7 +257,7 @@ static u32 sub_81CAD20(s32 taskState)
return LT_FINISH;
}
bool32 sub_81CAE08(int rematchIndex)
bool32 IsRematchEntryRegistered(int rematchIndex)
{
if (rematchIndex < REMATCH_TABLE_ENTRIES)
return FlagGet(FLAG_MATCH_CALL_REGISTERED + rematchIndex);
@@ -259,10 +271,10 @@ int sub_81CAE28(void)
return state->unk10;
}
int sub_81CAE38(void)
int GetNumberRegistered(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
return state->unkA;
return state->numRegistered;
}
int sub_81CAE48(void)
@@ -274,38 +286,38 @@ int sub_81CAE48(void)
int unref_sub_81CAE58(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
return state->unkA - state->unkC;
return state->numRegistered - state->unkC;
}
int unref_sub_81CAE6C(int arg0)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
arg0 += state->unkC;
if (arg0 >= state->unkA)
if (arg0 >= state->numRegistered)
return REMATCH_TABLE_ENTRIES;
return state->unk1C[arg0].unk6;
return state->matchCallEntries[arg0].headerId;
}
struct PokenavMonList *sub_81CAE94(void)
struct PokenavMatchCallEntries *sub_81CAE94(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
return state->unk1C;
return state->matchCallEntries;
}
u16 sub_81CAEA4(int index)
u16 GetMatchCallMapSec(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
return state->unk1C[index].monId;
return state->matchCallEntries[index].mapSec;
}
bool32 sub_81CAEBC(int index)
bool32 ShouldDrawRematchPokeballIcon(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
if (!state->unk1C[index].boxId)
index = state->unk1C[index].unk6;
if (!state->matchCallEntries[index].isSpecialTrainer)
index = state->matchCallEntries[index].headerId;
else
index = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
index = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId);
if (index == REMATCH_TABLE_ENTRIES)
return FALSE;
@@ -313,83 +325,83 @@ bool32 sub_81CAEBC(int index)
return gSaveBlock1Ptr->trainerRematches[index] != 0;
}
int sub_81CAF04(int index)
int GetMatchCallTrainerPic(int index)
{
int var0;
int headerId;
struct Pokenav3Struct *state = GetSubstructPtr(5);
if (!state->unk1C[index].boxId)
if (!state->matchCallEntries[index].isSpecialTrainer)
{
index = GetTrainerIdxByRematchIdx(state->unk1C[index].unk6);
index = GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId);
return gTrainers[index].trainerPic;
}
var0 = state->unk1C[index].unk6;
index = MatchCall_GetRematchTableIdx(var0);
headerId = state->matchCallEntries[index].headerId;
index = MatchCall_GetRematchTableIdx(headerId);
if (index != REMATCH_TABLE_ENTRIES)
{
index = GetTrainerIdxByRematchIdx(index);
return gTrainers[index].trainerPic;
}
index = MatchCall_GetOverrideFacilityClass(var0);
index = MatchCall_GetOverrideFacilityClass(headerId);
return gFacilityClassToPicIndex[index];
}
const u8 *sub_81CAF78(int index, u8 *arg1)
const u8 *GetMatchCallMessageText(int index, u8 *arg1)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
*arg1 = 0;
if (!Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType))
return gText_CallCantBeMadeHere;
if (!state->unk1C[index].boxId)
*arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->unk1C[index].unk6), gStringVar4);
if (!state->matchCallEntries[index].isSpecialTrainer)
*arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId), gStringVar4);
else
MatchCall_GetMessage(state->unk1C[index].unk6, gStringVar4);
MatchCall_GetMessage(state->matchCallEntries[index].headerId, gStringVar4);
return gStringVar4;
}
const u8 *sub_81CAFD8(int index, int textType)
const u8 *GetMatchCallFlavorText(int index, int checkPageEntry)
{
int var0;
int rematchId;
struct Pokenav3Struct *state = GetSubstructPtr(5);
if (state->unk1C[index].boxId)
if (state->matchCallEntries[index].isSpecialTrainer)
{
var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
if (var0 == REMATCH_TABLE_ENTRIES)
return MatchCall_GetOverrideFlavorText(state->unk1C[index].unk6, textType);
rematchId = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId);
if (rematchId == REMATCH_TABLE_ENTRIES)
return MatchCall_GetOverrideFlavorText(state->matchCallEntries[index].headerId, checkPageEntry);
}
else
{
var0 = state->unk1C[index].unk6;
rematchId = state->matchCallEntries[index].headerId;
}
return gMatchCallMessages[var0][textType];
return gMatchCallFlavorTexts[rematchId][checkPageEntry];
}
u16 sub_81CB01C(void)
u16 GetMatchCallOptionCursorPos(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
return state->unk0;
return state->optionCursorPos;
}
u16 sub_81CB02C(int arg0)
u16 GetMatchCallOptionId(int optionId)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
if (state->unk2 < arg0)
return 3;
if (state->maxOptionId < optionId)
return MATCH_CALL_OPTION_COUNT;
return state->unk4[arg0];
return state->matchCallOptions[optionId];
}
void sub_81CB050(struct PokenavMonList * arg0, u8 *str)
void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntries *matchCallEntry, u8 *str)
{
const u8 *trainerName;
const u8 *className;
if (!arg0->boxId)
if (!matchCallEntry->isSpecialTrainer)
{
int index = GetTrainerIdxByRematchIdx(arg0->unk6);
int index = GetTrainerIdxByRematchIdx(matchCallEntry->headerId);
const struct Trainer *trainer = &gTrainers[index];
int class = trainer->trainerClass;
className = gTrainerClassNames[class];
@@ -397,7 +409,7 @@ void sub_81CB050(struct PokenavMonList * arg0, u8 *str)
}
else
{
sub_81D1A78(arg0->unk6, &className, &trainerName);
MatchCall_GetNameAndDesc(matchCallEntry->headerId, &className, &trainerName);
}
if (className && trainerName)
@@ -418,15 +430,15 @@ u8 sub_81CB0C8(int rematchIndex)
return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId;
}
int sub_81CB0E4(int index)
int GetIndexDeltaOfNextCheckPageDown(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
int count = 1;
while (++index < state->unkA)
while (++index < state->numRegistered)
{
if (!state->unk1C[index].boxId)
if (!state->matchCallEntries[index].isSpecialTrainer)
return count;
if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId))
return count;
count++;
@@ -435,15 +447,15 @@ int sub_81CB0E4(int index)
return 0;
}
int sub_81CB128(int index)
int GetIndexDeltaOfNextCheckPageUp(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
int count = -1;
while (--index >= 0)
{
if (!state->unk1C[index].boxId)
if (!state->matchCallEntries[index].isSpecialTrainer)
return count;
if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId))
return count;
count--;
@@ -458,13 +470,13 @@ bool32 unref_sub_81CB16C(void)
for (i = 0; i < REMATCH_TABLE_ENTRIES; i++)
{
if (sub_81CAE08(i) && gSaveBlock1Ptr->trainerRematches[i])
if (IsRematchEntryRegistered(i) && gSaveBlock1Ptr->trainerRematches[i])
return TRUE;
}
for (i = 0; i < MC_HEADER_COUNT; i++)
{
if (MatchCallFlagGetByIndex(i))
if (MatchCall_GetEnabled(i))
{
int index = MatchCall_GetRematchTableIdx(i);
if (gSaveBlock1Ptr->trainerRematches[index])
@@ -478,20 +490,20 @@ bool32 unref_sub_81CB16C(void)
static bool32 sub_81CB1D0(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
int index = GetSelectedMatchCall();
if (!state->unk1C[index].boxId)
int selection = GetSelectedMatchCall();
if (!state->matchCallEntries[selection].isSpecialTrainer)
{
if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId)
if (GetMatchCallMapSec(selection) == gMapHeader.regionMapSectionId)
{
if (!gSaveBlock1Ptr->trainerRematches[state->unk1C[index].unk6])
if (!gSaveBlock1Ptr->trainerRematches[state->matchCallEntries[selection].headerId])
return TRUE;
}
}
else
{
if (state->unk1C[index].unk6 == 11)
if (state->matchCallEntries[selection].headerId == MC_HEADER_WATTSON)
{
if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId
if (GetMatchCallMapSec(selection) == gMapHeader.regionMapSectionId
&& FlagGet(FLAG_BADGE05_GET) == TRUE)
{
if (!FlagGet(FLAG_WATTSON_REMATCH_AVAILABLE))

File diff suppressed because it is too large Load Diff

View File

@@ -401,10 +401,10 @@ u32 sub_81CC878(s32 taskState)
if (sub_8123514() || sub_81CCC88())
return 2;
sub_81C7BA4(1);
PrintHelpBarText(HELPBAR_MAP_ZOOMED_OUT);
return 0;
case 2:
if (IsDma3ManagerBusyWithBgCopy_())
if (WaitForHelpBar())
return 2;
sub_81C7E14(4);
@@ -434,10 +434,10 @@ u32 sub_81CC8D8(s32 taskState)
if (sub_8123514() || sub_81CCC88())
return 2;
sub_81C7BA4(2);
PrintHelpBarText(HELPBAR_MAP_ZOOMED_IN);
return 0;
case 3:
if (IsDma3ManagerBusyWithBgCopy_())
if (WaitForHelpBar())
return 2;
sub_81C7E14(5);

View File

@@ -463,14 +463,14 @@ void sub_81CD970(void)
{
unkPtr->unk4[count].boxId = TOTAL_BOXES_COUNT;
unkPtr->unk4[count].monId = i;
unkPtr->unk4[count].unk6 = 0;
unkPtr->unk4[count].data = 0;
count++;
}
}
unkPtr->unk4[count].boxId = 0;
unkPtr->unk4[count].monId = 0;
unkPtr->unk4[count].unk6 = 0;
unkPtr->unk4[count].data = 0;
unkPtr->unk2 = 0;
unkPtr->unk0 = count + 1;
structPtr->unk678A = 0;
@@ -597,7 +597,7 @@ u8 *sub_81CDD24(u8 id)
u16 sub_81CDD48(void)
{
struct PokenavSub18 *unkPtr = GetSubstructPtr(18);
return unkPtr->unk4[unkPtr->unk2].unk6;
return unkPtr->unk4[unkPtr->unk2].data;
}
bool32 sub_81CDD5C(void)

View File

@@ -195,8 +195,8 @@ u32 sub_81CDE94(s32 state)
{
case 0:
if (sub_81CD3C4() != TRUE)
return 2;
return 0;
return LT_PAUSE;
return LT_INC_AND_PAUSE;
case 1:
InitBgTemplates(gUnknown_08623358, ARRAY_COUNT(gUnknown_08623358));
ChangeBgX(1, 0, 0);
@@ -209,15 +209,15 @@ u32 sub_81CDE94(s32 state)
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG3);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
decompress_and_copy_tile_data_to_vram(3, gPokenavCondition_Gfx, 0, 0, 0);
return 0;
return LT_INC_AND_PAUSE;
case 2:
if (free_temp_tile_data_buffers_if_possible())
return 2;
return LT_PAUSE;
decompress_and_copy_tile_data_to_vram(2, gUnknown_08623228, 0, 0, 0);
return 0;
return LT_INC_AND_PAUSE;
case 3:
if (free_temp_tile_data_buffers_if_possible())
return 2;
return LT_PAUSE;
LZ77UnCompVram(gPokenavCondition_Tilemap, structPtr->tilemapBuffers[0]);
SetBgTilemapBuffer(3, structPtr->tilemapBuffers[0]);
@@ -228,26 +228,26 @@ u32 sub_81CDE94(s32 state)
CopyPaletteIntoBufferUnfaded(gPokenavCondition_Pal, 0x10, 0x20);
CopyPaletteIntoBufferUnfaded(gUnknown_08623208, 0xF0, 0x20);
structPtr->unk1814 = -80;
return 0;
return LT_INC_AND_PAUSE;
case 4:
if (free_temp_tile_data_buffers_if_possible())
return 2;
return LT_PAUSE;
LZ77UnCompVram(gUnknown_0862323C, structPtr->tilemapBuffers[2]);
SetBgTilemapBuffer(2, structPtr->tilemapBuffers[2]);
CopyBgTilemapBufferToVram(2);
CopyPaletteIntoBufferUnfaded(gUnknown_086231E8, 0x30, 0x20);
sub_81D21DC(2);
return 0;
return LT_INC_AND_PAUSE;
case 5:
sub_8199DF0(1, 0, 0, 1);
sub_8199DF0(1, 17, 1, 1);
CpuFill32(0, structPtr->tilemapBuffers[1], BG_SCREEN_SIZE);
SetBgTilemapBuffer(1, structPtr->tilemapBuffers[1]);
return 0;
return LT_INC_AND_PAUSE;
case 6:
if (free_temp_tile_data_buffers_if_possible())
return 2;
return LT_PAUSE;
structPtr->unk1820 = AddWindow(&gUnknown_08623364);
if (sub_81CDD5C() == TRUE)
@@ -257,29 +257,29 @@ u32 sub_81CDE94(s32 state)
structPtr->unk1823 = AddWindow(&gUnknown_0862337C);
}
DeactivateAllTextPrinters();
return 0;
return LT_INC_AND_PAUSE;
case 7:
sub_81CED30(0);
return 0;
return LT_INC_AND_PAUSE;
case 8:
sub_81CE9E4();
return 0;
return LT_INC_AND_PAUSE;
case 9:
if (sub_81CDD5C() == TRUE)
sub_81CE934();
return 0;
return LT_INC_AND_PAUSE;
case 10:
sub_81CE754(0, sub_81CDC84(), TRUE);
return 0;
return LT_INC_AND_PAUSE;
case 11:
sub_81CE754(1, sub_81CDC84(), TRUE);
return 0;
return LT_INC_AND_PAUSE;
case 12:
sub_81CE754(2, sub_81CDC84(), TRUE);
return 0;
return LT_INC_AND_PAUSE;
case 13:
if (sub_81CE754(3, sub_81CDC84(), TRUE) != TRUE)
return 2;
return LT_PAUSE;
PutWindowTilemap(structPtr->unk1820);
if (sub_81CDD5C() == TRUE)
{
@@ -287,14 +287,14 @@ u32 sub_81CDE94(s32 state)
PutWindowTilemap(structPtr->unk1822);
PutWindowTilemap(structPtr->unk1823);
}
return 0;
return LT_INC_AND_PAUSE;
case 14:
ShowBg(1);
HideBg(2);
ShowBg(3);
if (sub_81CDD5C() == TRUE)
sub_81C7BA4(4);
return 0;
PrintHelpBarText(HELPBAR_CONDITION_MON_STATUS);
return LT_INC_AND_PAUSE;
case 15:
sub_81C7AC0(1);
if (!sub_81CDD5C())
@@ -303,25 +303,25 @@ u32 sub_81CDE94(s32 state)
sub_81C7FA0(1, TRUE, 0);
sub_81C7FA0(6, TRUE, 0);
}
return 0;
return LT_INC_AND_PAUSE;
case 16:
if (IsPaletteFadeActive())
return 2;
return LT_PAUSE;
if (!sub_81CDD5C() && sub_81C8010())
return 2;
return LT_PAUSE;
SetVBlankCallback_(sub_81CEE44);
return 0;
return LT_INC_AND_PAUSE;
case 17:
sub_81CEE90();
sub_81D20AC(sub_81CDC70());
return 0;
return LT_INC_AND_PAUSE;
case 18:
if (sub_81D20BC(sub_81CDC70()))
return 2;
return 0;
return LT_PAUSE;
return LT_INC_AND_PAUSE;
case 19:
sub_81CEE74(TRUE);
return 0;
return LT_INC_AND_PAUSE;
case 20:
if (!sub_81D3178(sub_81CDC70(), &structPtr->unk1814))
{
@@ -329,12 +329,12 @@ u32 sub_81CDE94(s32 state)
if (sub_81CDD5C() == TRUE || sub_81CDC60() != sub_81CDC50())
sub_81D3480(structPtr->unk28e0, structPtr->unk1816, sub_81CDDB0());
return 4;
return LT_FINISH;
}
return 2;
return LT_PAUSE;
}
return 4;
return LT_FINISH;
}
u32 sub_81CE2D0(s32 state)
@@ -367,7 +367,7 @@ u32 sub_81CE2D0(s32 state)
return 1;
}
return 4;
return LT_FINISH;
}
u32 sub_81CE37C(s32 state)
@@ -424,7 +424,7 @@ u32 sub_81CE37C(s32 state)
return 2;
}
return 4;
return LT_FINISH;
}
u32 sub_81CE4D8(s32 state)
@@ -468,7 +468,7 @@ u32 sub_81CE4D8(s32 state)
return 2;
}
return 4;
return LT_FINISH;
}
u32 sub_81CE5E4(s32 state)
@@ -506,7 +506,7 @@ u32 sub_81CE5E4(s32 state)
return 2;
}
return 4;
return LT_FINISH;
}
u32 sub_81CE6BC(s32 state)
@@ -514,18 +514,18 @@ u32 sub_81CE6BC(s32 state)
switch (state)
{
case 0:
sub_811FAA4(sub_81CDD7C(), 0xb0, 0x20);
sub_811FAA4(sub_81CDD7C(), 176, 32);
return 1;
case 1:
sub_81C7BA4(5);
PrintHelpBarText(HELPBAR_CONDITION_MARKINGS);
return 1;
case 2:
if (IsDma3ManagerBusyWithBgCopy_() == TRUE)
if (WaitForHelpBar() == TRUE)
return 2;
return 1;
}
return 4;
return LT_FINISH;
}
u32 sub_81CE700(s32 state)
@@ -536,18 +536,18 @@ u32 sub_81CE700(s32 state)
sub_811FAF8();
return 1;
case 1:
sub_81C7BA4(4);
PrintHelpBarText(HELPBAR_CONDITION_MON_STATUS);
return 1;
case 2:
if (IsDma3ManagerBusyWithBgCopy_() == TRUE)
if (WaitForHelpBar() == TRUE)
return 2;
return 1;
}
return 4;
return LT_FINISH;
}
u8 *sub_81CE738(u8 *dst, u16 num)
static u8 *UnusedPrintNumberString(u8 *dst, u16 num)
{
u8 *txtPtr = ConvertIntToDecimalStringN(dst, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
txtPtr = StringCopy(txtPtr, gText_Number2);

View File

@@ -227,7 +227,7 @@ static s32 sub_81CF0F0(void)
{
struct PokenavSub7 * ptr = GetSubstructPtr(7);
s32 i = GetSelectedMatchCall();
return ptr->unkPtr->unk4[i].unk6;
return ptr->unkPtr->unk4[i].data;
}
static u16 sub_81CF10C(void)
@@ -258,7 +258,7 @@ static u32 sub_81CF134(s32 state)
if (!GetMonData(pokemon, MON_DATA_SANITY_IS_EGG))
{
item.monId = i;
item.unk6 = GetMonData(pokemon, ptr->unk14);
item.data = GetMonData(pokemon, ptr->unk14);
sub_81CF2C4(ptr, &item);
}
}
@@ -290,7 +290,7 @@ static u32 sub_81CF1D8(s32 state)
{
item.boxId = boxId;
item.monId = monId;
item.unk6 = GetBoxMonDataAt(boxId, monId, ptr->unk14);
item.data = GetBoxMonDataAt(boxId, monId, ptr->unk14);
sub_81CF2C4(ptr, &item);
}
boxCount++;
@@ -313,19 +313,19 @@ static u32 sub_81CF278(s32 state)
{
struct PokenavSub7 * ptr = GetSubstructPtr(7);
s32 r6 = ptr->unkPtr->unk0;
s32 r4 = ptr->unkPtr->unk4[0].unk6;
s32 r4 = ptr->unkPtr->unk4[0].data;
s32 i;
ptr->unkPtr->unk4[0].unk6 = 1;
ptr->unkPtr->unk4[0].data = 1;
for (i = 1; i < r6; i++)
{
if (ptr->unkPtr->unk4[i].unk6 == r4)
if (ptr->unkPtr->unk4[i].data == r4)
{
ptr->unkPtr->unk4[i].unk6 = ptr->unkPtr->unk4[i - 1].unk6;
ptr->unkPtr->unk4[i].data = ptr->unkPtr->unk4[i - 1].data;
}
else
{
r4 = ptr->unkPtr->unk4[i].unk6;
ptr->unkPtr->unk4[i].unk6 = i + 1;
r4 = ptr->unkPtr->unk4[i].data;
ptr->unkPtr->unk4[i].data = i + 1;
}
}
ptr->unk18 = 1;
@@ -340,7 +340,7 @@ static void sub_81CF2C4(struct PokenavSub7 *structPtr, struct PokenavMonList *it
while (right != insertionIdx)
{
if (item->unk6 > structPtr->unkPtr->unk4[insertionIdx].unk6)
if (item->data > structPtr->unkPtr->unk4[insertionIdx].data)
right = insertionIdx;
else
left = insertionIdx + 1;
@@ -431,7 +431,7 @@ static u32 sub_81CF418(s32 state)
if (sub_81C8224())
return LT_PAUSE;
sub_81CF7C8(unk);
sub_81C7BA4(3);
PrintHelpBarText(HELPBAR_CONDITION_MON_LIST);
return LT_INC_AND_PAUSE;
case 4:
if (free_temp_tile_data_buffers_if_possible())
@@ -651,8 +651,8 @@ static void sub_81CF7F4(struct PokenavSub8 * ptr)
static void sub_81CF88C(void)
{
struct MatchCallListTemplate template;
template.unk0 = sub_81CF0D0();
struct PokenavListTemplate template;
template.list.monList = sub_81CF0D0();
template.unk4 = sub_81CF0E0();
template.unk8 = 4;
template.unk6 = sub_81CF10C();
@@ -662,7 +662,7 @@ static void sub_81CF88C(void)
template.unkC = 8;
template.unkD = 2;
template.unkE = 1;
template.unk10 = sub_81CF8E4;
template.listFunc.unk10_1 = sub_81CF8E4;
template.unk14 = NULL;
sub_81C81D4(&gUnknown_08623590[1], &template, 0);
}

View File

@@ -218,7 +218,7 @@ static s32 sub_81CFB48(void)
{
struct PokenavSub9 * ptr = GetSubstructPtr(9);
s32 idx = GetSelectedMatchCall();
return ptr->unk1C->unk4[idx].unk6;
return ptr->unk1C->unk4[idx].data;
}
static s32 sub_81CFB64(void)
@@ -240,7 +240,7 @@ static u32 sub_81CFB8C(s32 state)
ptr->unk1C->unk0 = 0;
ptr->unk1C->unk2 = 0;
item.boxId = 14;
item.boxId = TOTAL_BOXES_COUNT;
for (i = 0; i < PARTY_SIZE; i++)
{
struct Pokemon * pokemon = &gPlayerParty[i];
@@ -252,7 +252,7 @@ static u32 sub_81CFB8C(s32 state)
if (ribbonCount != 0)
{
item.monId = i;
item.unk6 = ribbonCount;
item.data = ribbonCount;
sub_81CFCEC(ptr, &item);
}
}
@@ -288,13 +288,13 @@ static u32 sub_81CFC40(s32 state)
{
item.boxId = boxId;
item.monId = monId;
item.unk6 = ribbonCount;
item.data = ribbonCount;
sub_81CFCEC(ptr, &item);
}
}
boxCount++;
monId++;
if (boxCount > 14)
if (boxCount > TOTAL_BOXES_COUNT)
{
ptr->unkC = boxId;
ptr->unk10 = monId;
@@ -317,7 +317,7 @@ static void sub_81CFCEC(struct PokenavSub9 *structPtr, struct PokenavMonList *it
while (right != insertionIdx)
{
if (item->unk6 > structPtr->unk1C->unk4[insertionIdx].unk6)
if (item->data > structPtr->unk1C->unk4[insertionIdx].data)
right = insertionIdx;
else
left = insertionIdx + 1;
@@ -445,7 +445,7 @@ static u32 sub_81CFEB8(s32 state)
return LT_PAUSE;
ShowBg(2);
HideBg(3);
sub_81C7BA4(9);
PrintHelpBarText(HELPBAR_RIBBONS_MON_LIST);
sub_81C7AC0(1);
if (!unk->unkC)
{
@@ -665,8 +665,8 @@ static void sub_81D02B0(s32 windowId, s32 val1, s32 val2)
static void sub_81D0304(void)
{
struct MatchCallListTemplate template;
template.unk0 = sub_81CFB28();
struct PokenavListTemplate template;
template.list.monList = sub_81CFB28();
template.unk4 = sub_81CFB38();
template.unk8 = 4;
template.unk6 = sub_81CFB64();
@@ -676,7 +676,7 @@ static void sub_81D0304(void)
template.unkC = 8;
template.unkD = 2;
template.unkE = 1;
template.unk10 = sub_81D035C;
template.listFunc.unk10_1 = sub_81D035C;
template.unk14 = NULL;
sub_81C81D4(&gUnknown_086237B0[1], &template, 0);
}
@@ -688,7 +688,7 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest)
u8 * s;
const u8 * genderStr;
struct PokenavMonList * item = item0;
if (item->boxId == 14)
if (item->boxId == TOTAL_BOXES_COUNT)
{
struct Pokemon * mon = &gPlayerParty[item->monId];
gender = GetMonGender(mon);
@@ -722,5 +722,5 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest)
*s++ = 5; // LV
ConvertIntToDecimalStringN(s, level, STR_CONV_MODE_LEFT_ALIGN, 3);
dest = sub_81DB494(dest, 1, gStringVar1, 54);
ConvertIntToDecimalStringN(dest, item->unk6, STR_CONV_MODE_RIGHT_ALIGN, 2);
ConvertIntToDecimalStringN(dest, item->data, STR_CONV_MODE_RIGHT_ALIGN, 2);
}

View File

@@ -650,13 +650,14 @@ bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx)
switch (mode)
{
case 1:
case FADE_TO_BLACK:
case FADE_TO_WHITE:
default:
CpuCopy32(gPlttBufferUnfaded, gPaletteDecompressionBuffer, PLTT_DECOMP_BUFFER_SIZE);
FadeScreen(mode, 0);
break;
case 0:
case 2:
case FADE_FROM_BLACK:
case FADE_FROM_WHITE:
CpuCopy32(gPaletteDecompressionBuffer, gPlttBufferUnfaded, PLTT_DECOMP_BUFFER_SIZE);
FadeScreen(mode, 0);
break;

View File

@@ -423,7 +423,7 @@ static void Task_EnterSecretBase(u8 taskId)
void EnterSecretBase(void)
{
CreateTask(Task_EnterSecretBase, 0);
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}

View File

@@ -348,7 +348,7 @@ static void Task_HandleShopMenuBuy(u8 taskId)
data[8] = (u32)CB2_InitBuyMenu >> 16;
data[9] = (u32)CB2_InitBuyMenu;
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
}
static void Task_HandleShopMenuSell(u8 taskId)
@@ -357,7 +357,7 @@ static void Task_HandleShopMenuSell(u8 taskId)
data[8] = (u32)CB2_GoToSellMenu >> 16;
data[9] = (u32)CB2_GoToSellMenu;
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
}
void CB2_ExitSellMenu(void)

View File

@@ -512,14 +512,14 @@ static bool8 sub_809FA00(void)
return TRUE;
}
void sub_809FA18(void) // Called from field_screen.s
void sub_809FA18(void)
{
sUnknown_02037619[0] = 0;
sUnknown_02037619[1] = 0;
gFieldCallback2 = sub_809FA00;
}
void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s
void Task_ShowStartMenu(u8 taskId)
{
struct Task* task = &gTasks[taskId];
@@ -539,7 +539,7 @@ void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s
}
}
void ShowStartMenu(void) // Called from overworld.c and field_control_avatar.s
void ShowStartMenu(void)
{
if (!IsUpdateLinkStateCBActive())
{
@@ -547,7 +547,7 @@ void ShowStartMenu(void) // Called from overworld.c and field_control_avatar.s
sub_808B864();
sub_808BCF4();
}
CreateStartMenuTask(sub_809FA34);
CreateStartMenuTask(Task_ShowStartMenu);
ScriptContext2_Enable();
}
@@ -581,7 +581,7 @@ static bool8 HandleStartMenuInput(void)
&& gMenuCallback != StartMenuSafariZoneRetireCallback
&& gMenuCallback != StartMenuBattlePyramidRetireCallback)
{
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
}
return FALSE;
@@ -743,11 +743,12 @@ static bool8 StartMenuBattlePyramidRetireCallback(void)
return FALSE;
}
void sub_809FDD4(void)
// Functionally unused
void ShowBattlePyramidStartMenu(void)
{
ClearDialogWindowAndFrameToTransparent(0, FALSE);
ScriptUnfreezeEventObjects();
CreateStartMenuTask(sub_809FA34);
CreateStartMenuTask(Task_ShowStartMenu);
ScriptContext2_Enable();
}
@@ -827,7 +828,7 @@ static bool8 BattlePyramidRetireCallback(void)
ClearDialogWindowAndFrameToTransparent(0, TRUE);
ScriptUnfreezeEventObjects();
ScriptContext2_Disable();
ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88);
ScriptContext1_SetupScript(BattlePyramid_Retire);
return TRUE;
}
@@ -853,7 +854,7 @@ static u8 RunSaveCallback(void)
return sSaveDialogCallback();
}
void SaveGame(void) // Called from cable_club.s
void SaveGame(void)
{
InitSave();
CreateTask(SaveGameTask, 0x50);
@@ -1048,7 +1049,7 @@ static u8 SaveDoSaveCallback(void)
u8 saveStatus;
IncrementGameStat(GAME_STAT_SAVED_GAME);
sub_81A9E90();
PausePyramidChallenge();
if (gDifferentSaveFile == TRUE)
{
@@ -1202,7 +1203,7 @@ static bool32 sub_80A03E4(u8 *par1)
return FALSE;
}
void sub_80A0514(void) // Called from cable_club.s
void sub_80A0514(void)
{
if (sub_80A03E4(&gMain.state))
{
@@ -1371,7 +1372,7 @@ static void sub_80A08A4(u8 taskId)
}
}
void sub_80A08CC(void) // Referenced in data/specials.inc and data/scripts/maps/BattleFrontier_BattleTowerLobby.inc
void sub_80A08CC(void)
{
u8 taskId = CreateTask(sub_8153688, 0x5);
gTasks[taskId].data[2] = 1;
@@ -1386,7 +1387,7 @@ static void HideStartMenuWindow(void)
ScriptContext2_Disable();
}
void HideStartMenu(void) // Called from map_name_popup.s
void HideStartMenu(void)
{
PlaySE(SE_SELECT);
HideStartMenuWindow();

View File

@@ -2,23 +2,23 @@
#include "strings.h"
ALIGNED(4)
const u8 gExpandedPlaceholder_Empty[] = _("");
const u8 gExpandedPlaceholder_Kun[] = _("");
const u8 gExpandedPlaceholder_Chan[] = _("");
const u8 gExpandedPlaceholder_Sapphire[] = _("SAPPHIRE");
const u8 gExpandedPlaceholder_Ruby[] = _("RUBY");
const u8 gExpandedPlaceholder_Emerald[] = _("EMERALD");
const u8 gExpandedPlaceholder_Aqua[] = _("AQUA");
const u8 gExpandedPlaceholder_Magma[] = _("MAGMA");
const u8 gExpandedPlaceholder_Archie[] = _("ARCHIE");
const u8 gExpandedPlaceholder_Maxie[] = _("MAXIE");
const u8 gExpandedPlaceholder_Kyogre[] = _("KYOGRE");
const u8 gExpandedPlaceholder_Groudon[] = _("GROUDON");
const u8 gExpandedPlaceholder_Brendan[] = _("BRENDAN");
const u8 gExpandedPlaceholder_May[] = _("MAY");
const u8 gText_ExpandedPlaceholder_Empty[] = _("");
const u8 gText_ExpandedPlaceholder_Kun[] = _("");
const u8 gText_ExpandedPlaceholder_Chan[] = _("");
const u8 gText_ExpandedPlaceholder_Sapphire[] = _("SAPPHIRE");
const u8 gText_ExpandedPlaceholder_Ruby[] = _("RUBY");
const u8 gText_ExpandedPlaceholder_Emerald[] = _("EMERALD");
const u8 gText_ExpandedPlaceholder_Aqua[] = _("AQUA");
const u8 gText_ExpandedPlaceholder_Magma[] = _("MAGMA");
const u8 gText_ExpandedPlaceholder_Archie[] = _("ARCHIE");
const u8 gText_ExpandedPlaceholder_Maxie[] = _("MAXIE");
const u8 gText_ExpandedPlaceholder_Kyogre[] = _("KYOGRE");
const u8 gText_ExpandedPlaceholder_Groudon[] = _("GROUDON");
const u8 gText_ExpandedPlaceholder_Brendan[] = _("BRENDAN");
const u8 gText_ExpandedPlaceholder_May[] = _("MAY");
const u8 gText_EggNickname[] = _("EGG");
const u8 gText_Pokemon[] = _("POKéMON");
const u8 gProfBirchMatchCallName[] = _("PROF. BIRCH");
const u8 gText_ProfBirchMatchCallName[] = _("PROF. BIRCH");
const u8 gText_MainMenuNewGame[] = _("NEW GAME");
const u8 gText_MainMenuContinue[] = _("CONTINUE");
const u8 gText_MainMenuOption[] = _("OPTION");
@@ -1276,20 +1276,20 @@ const u8 gText_Sorry[] = _("SORRY");
const u8 gText_YaySmileEmoji[] = _("YAY{EMOJI_BIGSMILE}");
const u8 gText_ThankYou[] = _("THANK YOU");
const u8 gText_ByeBye[] = _("BYE-BYE!");
const u8 gMatchCallStevenStrategyText[] = _("Attack the weak points!");
const u8 gMatchCall_StevenTrainersPokemonText[] = _("Ultimate STEEL POKéMON.");
const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls");
const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[] = _("to find a rare stone!");
const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[] = _("I'm the strongest and most");
const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[] = _("energetic after all!");
const u8 gMatchCall_BrendanStrategyText[] = _("Battle with knowledge!");
const u8 gMatchCall_BrendanTrainersPokemonText[] = _("I will use various POKéMON.");
const u8 gMatchCall_BrendanSelfIntroductionText_Line1[] = _("I'll be a better POKéMON");
const u8 gMatchCall_BrendanSelfIntroductionText_Line2[] = _("prof than my father is!");
const u8 gMatchCall_MayStrategyText[] = _("I'm not so good at battles.");
const u8 gMatchCall_MayTrainersPokemonText[] = _("I'll use any POKéMON!");
const u8 gMatchCall_MaySelfIntroductionText_Line1[] = _("My POKéMON and I help");
const u8 gMatchCall_MaySelfIntroductionText_Line2[] = _("my father's research.");
const u8 gText_MatchCallSteven_Strategy[] = _("Attack the weak points!");
const u8 gText_MatchCallSteven_Pokemon[] = _("Ultimate STEEL POKéMON.");
const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls");
const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[] = _("to find a rare stone!");
const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[] = _("I'm the strongest and most");
const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[] = _("energetic after all!");
const u8 gText_MatchCallBrendan_Strategy[] = _("Battle with knowledge!");
const u8 gText_MatchCallBrendan_Pokemon[] = _("I will use various POKéMON.");
const u8 gText_MatchCallBrendan_Intro1[] = _("I'll be a better POKéMON");
const u8 gText_MatchCallBrendan_Intro2[] = _("prof than my father is!");
const u8 gText_MatchCallMay_Strategy[] = _("I'm not so good at battles.");
const u8 gText_MatchCallMay_Pokemon[] = _("I'll use any POKéMON!");
const u8 gText_MatchCallMay_Intro1[] = _("My POKéMON and I help");
const u8 gText_MatchCallMay_Intro2[] = _("my father's research.");
const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!");
const u8 gText_NicknameHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?");
ALIGNED(4) const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p");
@@ -1769,28 +1769,28 @@ const u8 gText_ClearingData[] = _("Clearing data…\nPlease wait.");
const u8 gText_IsThisTheCorrectTime[] = _("Is this the correct time?");
const u8 gText_Confirm3[] = _("CONFIRM");
const u8 gText_Cancel4[] = _("CANCEL");
const u8 gMrStoneMatchCallDesc[] = _("DEVON PRES");
const u8 gMrStoneMatchCallName[] = _("MR. STONE");
const u8 gStevenMatchCallDesc[] = _("HARD AS ROCK");
const u8 gStevenMatchCallName[] = _("STEVEN");
const u8 gMayBrendanMatchCallDesc[] = _("RAD NEIGHBOR");
const u8 gNormanMatchCallDesc[] = _("RELIABLE ONE");
const u8 gMomMatchCallDesc[] = _("CALM & KIND");
const u8 gWallyMatchCallDesc[] = _("{PKMN} LOVER");
const u8 gNormanMatchCallName[] = _("DAD");
const u8 gMomMatchCallName[] = _("MOM");
const u8 gScottMatchCallDesc[] = _("ELUSIVE EYES");
const u8 gScottMatchCallName[] = _("SCOTT");
const u8 gRoxanneMatchCallDesc[] = _("ROCKIN' WHIZ");
const u8 gBrawlyMatchCallDesc[] = _("THE BIG HIT");
const u8 gWattsonMatchCallDesc[] = _("SWELL SHOCK");
const u8 gFlanneryMatchCallDesc[] = _("PASSION BURN");
const u8 gWinonaMatchCallDesc[] = _("SKY TAMER");
const u8 gTateLizaMatchCallDesc[] = _("MYSTIC DUO");
const u8 gJuanMatchCallDesc[] = _("DANDY CHARM");
const u8 gEliteFourMatchCallDesc[] = _("ELITE FOUR");
const u8 gChampionMatchCallDesc[] = _("CHAMPION");
const u8 gProfBirchMatchCallDesc[] = _("{PKMN} PROF.");
const u8 gText_MrStoneMatchCallDesc[] = _("DEVON PRES");
const u8 gText_MrStoneMatchCallName[] = _("MR. STONE");
const u8 gText_StevenMatchCallDesc[] = _("HARD AS ROCK");
const u8 gText_StevenMatchCallName[] = _("STEVEN");
const u8 gText_MayBrendanMatchCallDesc[] = _("RAD NEIGHBOR");
const u8 gText_NormanMatchCallDesc[] = _("RELIABLE ONE");
const u8 gText_MomMatchCallDesc[] = _("CALM & KIND");
const u8 gText_WallyMatchCallDesc[] = _("{PKMN} LOVER");
const u8 gText_NormanMatchCallName[] = _("DAD");
const u8 gText_MomMatchCallName[] = _("MOM");
const u8 gText_ScottMatchCallDesc[] = _("ELUSIVE EYES");
const u8 gText_ScottMatchCallName[] = _("SCOTT");
const u8 gText_RoxanneMatchCallDesc[] = _("ROCKIN' WHIZ");
const u8 gText_BrawlyMatchCallDesc[] = _("THE BIG HIT");
const u8 gText_WattsonMatchCallDesc[] = _("SWELL SHOCK");
const u8 gText_FlanneryMatchCallDesc[] = _("PASSION BURN");
const u8 gText_WinonaMatchCallDesc[] = _("SKY TAMER");
const u8 gText_TateLizaMatchCallDesc[] = _("MYSTIC DUO");
const u8 gText_JuanMatchCallDesc[] = _("DANDY CHARM");
const u8 gText_EliteFourMatchCallDesc[] = _("ELITE FOUR");
const u8 gText_ChampionMatchCallDesc[] = _("CHAMPION");
const u8 gText_ProfBirchMatchCallDesc[] = _("{PKMN} PROF.");
const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication standby…\nAwaiting another player to choose.");
const u8 gText_BattleWasRefused[] = _("The battle was refused.{PAUSE 60}");
const u8 gText_RefusedBattle[] = _("Refused the battle.{PAUSE 60}");

View File

@@ -1583,7 +1583,7 @@ void sub_8014790(u8 taskId)
case 1:
if (!ScriptContext1_IsScriptSetUp())
{
FadeScreen(1, 0);
FadeScreen(FADE_TO_BLACK, 0);
data[0] = 2;
}
break;
@@ -2423,7 +2423,7 @@ void sub_80156E0(u8 taskId)
}
break;
case 23:
if (!FuncIsActiveTask(sub_809FA34))
if (!FuncIsActiveTask(Task_ShowStartMenu))
{
sub_8011090(0x40, 0, 0);
data->state = 4;

View File

@@ -485,7 +485,7 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility)
{
u32 ability = GetMonAbility(&gPlayerParty[0]);
if (ability == ABILITY_STENCH && gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
if (ability == ABILITY_STENCH && gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
encounterRate = encounterRate * 3 / 4;
else if (ability == ABILITY_STENCH)
encounterRate /= 2;
@@ -548,7 +548,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi
BattleSetup_StartBattlePikeWildBattle();
return TRUE;
}
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
{
headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll())
@@ -686,7 +686,7 @@ bool8 SweetScentWildEncounter(void)
BattleSetup_StartBattlePikeWildBattle();
return TRUE;
}
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
{
headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE)