summaryrefslogtreecommitdiff
path: root/src/pokemon_summary_screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pokemon_summary_screen.c')
-rw-r--r--src/pokemon_summary_screen.c427
1 files changed, 213 insertions, 214 deletions
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 46bdc9ef3..bd1ae7802 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -97,25 +97,22 @@ static EWRAM_DATA struct PssData
u8 currPageIndex;
u8 minPageIndex;
u8 maxPageIndex;
- bool8 unk40C3;
+ bool8 lockMonFlag; // This is used to prevent the player from changing pokemon in the move deleter select, etc, but it is not needed because the input is handled differently there
u16 newMove;
u8 firstMoveIndex;
u8 secondMoveIndex;
bool8 unk40C8;
- u8 unk40C9;
+ u8 bgDisplayOrder; // Determines the order page backgrounds are loaded while scrolling between them
u8 filler40CA;
u8 windowIds[8];
u8 spriteIds[28];
bool8 unk40EF;
- s16 unk40F0;
+ s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or pokemon data
u8 unk_filler4[6];
} *pssData = NULL;
-EWRAM_DATA u8 gUnknown_0203CF20 = 0;
-static EWRAM_DATA u8 gUnknown_0203CF21 = 0;
-static EWRAM_DATA u8 gFiller_0203CF22[2] = {0};
-static EWRAM_DATA u8 sUnknownTaskId = 0;
-static EWRAM_DATA u8 gFiller_0203CF25[3] = {0};
-
+EWRAM_DATA u8 gLastViewedMonIndex = 0;
+static EWRAM_DATA u8 sUnknown_0203CF21 = 0;
+ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0;
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
struct UnkStruct_61CC04
@@ -144,11 +141,11 @@ static s8 sub_81C08F8(s8 a);
static s8 sub_81C09B4(s8 a);
static bool8 sub_81C0A50(struct Pokemon* mon);
static void ChangePage(u8 taskId, s8 a);
-static void sub_81C0B8C(u8 taskId);
-static void sub_81C0C68(u8 taskId);
-static void sub_81C0CC4(u8 taskId);
-static void sub_81C0D44(u8 taskId);
-static void sub_81C0E24(void);
+static void PssScrollRight(u8 taskId);
+static void PssScrollRightEnd(u8 taskId);
+static void PssScrollLeft(u8 taskId);
+static void PssScrollLeftEnd(u8 taskId);
+static void CheckExperienceProgressBar(void);
static void sub_81C0E48(u8 taskId);
static void HandleInput_MoveSelect(u8 taskId);
static bool8 sub_81C1040(void);
@@ -160,11 +157,11 @@ static void sub_81C13B0(u8 taskId, bool8 b);
static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2);
static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2);
static void sub_81C171C(u8 taskId);
-static void sub_81C174C(u8 taskId);
-static bool8 sub_81C18A8(void);
-static void sub_81C18F4(u8 a);
-static void sub_81C1940(u8 taskId);
-static void sub_81C1BA0(void);
+static void HandleReplaceMoveInput(u8 taskId);
+static bool8 CanReplaceMove(void);
+static void ShowHMMovesCantBeForgottenWindow(u8 a);
+static void HandleHMMovesCantBeForgottenInput(u8 taskId);
+static void DrawPagination(void);
static void sub_81C1DA4(u16 a, s16 b);
static void sub_81C1E20(u8 taskId);
static void sub_81C1EFC(u16 a, s16 b, u16 c);
@@ -172,10 +169,10 @@ static void sub_81C1F80(u8 taskId);
static void sub_81C2074(u16 a, s16 b);
static void sub_81C20F0(u8 taskId);
static void sub_81C2194(u16 *a, u16 b, u8 c);
-static void sub_81C2228(struct Pokemon* mon);
+static void DrawPokerusCuredSymbol(struct Pokemon* mon);
static void DrawExperienceProgressBar(struct Pokemon* mon);
static void DrawContestMoveHearts(u16 move);
-static void sub_81C2524(void);
+static void LimitEggSummaryPageDisplay(void);
static void ResetWindows(void);
static void sub_81C25E8(void);
static void sub_81C2628(void);
@@ -237,7 +234,7 @@ static void sub_81C4568(u8 a, u8 b);
static u8 CreatePokemonSprite(struct Pokemon *a, s16 *b);
static u8 sub_81C47B4(struct Pokemon *unused);
static void SpriteCB_Pokemon(struct Sprite *);
-static void sub_81C48F0(void);
+static void StopPokemonAnimations(void);
static void CreateMonMarkingsSprite(struct Pokemon *mon);
static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon);
static void CreateCaughtBallSprite(struct Pokemon *mon);
@@ -252,7 +249,7 @@ static void sub_81C4D18(u8 a);
#include "data/text/move_descriptions.h"
#include "data/text/nature_names.h"
-static const struct BgTemplate gUnknown_0861CBB4[] =
+ALIGNED(4) static const struct BgTemplate sUnknown_0861CBB4[] =
{
{
.bg = 0,
@@ -292,25 +289,25 @@ static const struct BgTemplate gUnknown_0861CBB4[] =
},
};
-static const u16 gUnknown_0861CBC4[] = INCBIN_U16("graphics/interface/unk_tilemap2.bin");
-static const struct UnkStruct_61CC04 gUnknown_0861CBEC =
+static const u16 sUnknown_0861CBC4[] = INCBIN_U16("graphics/interface/unk_tilemap2.bin");
+static const struct UnkStruct_61CC04 sUnknown_0861CBEC =
{
- gUnknown_0861CBC4, 1, 10, 2, 0, 18
+ sUnknown_0861CBC4, 1, 10, 2, 0, 18
};
-static const struct UnkStruct_61CC04 gUnknown_0861CBF8 =
+static const struct UnkStruct_61CC04 sUnknown_0861CBF8 =
{
- gUnknown_0861CBC4, 1, 10, 2, 0, 50
+ sUnknown_0861CBC4, 1, 10, 2, 0, 50
};
-static const struct UnkStruct_61CC04 gUnknown_0861CC04 =
+static const struct UnkStruct_61CC04 sUnknown_0861CC04 =
{
gSummaryScreenPowAcc_Tilemap, 0, 10, 7, 0, 45
};
-static const struct UnkStruct_61CC04 gUnknown_0861CC10 =
+static const struct UnkStruct_61CC04 sUnknown_0861CC10 =
{
gUnknown_08DC3C34, 0, 10, 7, 0, 45
};
static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5};
-static const struct WindowTemplate gUnknown_0861CC24[] =
+static const struct WindowTemplate sSummaryTemplate[] =
{
{//Text for Pokemon Info
.bg = 0,
@@ -494,7 +491,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
},
DUMMY_WIN_TEMPLATE
};
-static const struct WindowTemplate gUnknown_0861CCCC[] =
+static const struct WindowTemplate sPageInfoTemplate[] =
{
{//Original Trainer
.bg = 0,
@@ -533,7 +530,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] =
.baseBlock = 557,
},
};
-static const struct WindowTemplate gUnknown_0861CCEC[] =
+static const struct WindowTemplate sPageSkillsTemplate[] =
{
{//Held Item string
.bg = 0,
@@ -581,7 +578,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
.baseBlock = 543,
},
};
-static const struct WindowTemplate gUnknown_0861CD14[] =
+static const struct WindowTemplate sPageMovesTemplate[] = // This is used for both battle and contest moves
{
{//Move names?
.bg = 0,
@@ -628,8 +625,8 @@ static const u8 sTextColors_861CD2C[][3] =
{0, 7, 8}
};
-static const u8 gUnknown_0861CD53[] = INCBIN_U8("graphics/interface/summary_a_button.4bpp");
-static const u8 gUnknown_0861CDD3[] = INCBIN_U8("graphics/interface/summary_b_button.4bpp");
+static const u8 sSummaryAButtonBitmap[] = INCBIN_U8("graphics/interface/summary_a_button.4bpp");
+static const u8 sSummaryBButtonBitmap[] = INCBIN_U8("graphics/interface/summary_b_button.4bpp");
static void (*const sTextPrinterFunctions[])(void) =
{
@@ -647,11 +644,11 @@ static void (*const sTextPrinterTasks[])(u8 taskId) =
Task_PrintContestMoves
};
-static const u8 gUnknown_0861CE74[] = _("{COLOR LIGHT_RED}{SHADOW GREEN}");
-static const u8 gUnknown_0861CE7B[] = _("{COLOR WHITE}{SHADOW DARK_GREY}");
-static const u8 gUnknown_0861CE82[] = _("{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}\n{SPECIAL_F7 0x03}");
-static const u8 gUnknown_0861CE8E[] = _("{SPECIAL_F7 0x00}\n{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}");
-static const u8 gUnknown_0861CE97[] = _("{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}");
+static const u8 sMemoNatureTextColor[] = _("{COLOR LIGHT_RED}{SHADOW GREEN}");
+static const u8 sMemoMiscTextColor[] = _("{COLOR WHITE}{SHADOW DARK_GREY}"); // This is also affected by palettes, apparently
+static const u8 sStatsLeftColumnLayout[] = _("{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}\n{SPECIAL_F7 0x03}");
+static const u8 sStatsRightColumnLayout[] = _("{SPECIAL_F7 0x00}\n{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}");
+static const u8 sMovesPPLayout[] = _("{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}");
#define TAG_MOVE_TYPES 30002
@@ -847,61 +844,61 @@ static const struct OamData gOamData_861CFF4 =
.paletteNum = 0,
.affineParam = 0,
};
-static const union AnimCmd gSpriteAnim_861CFFC[] = {
+static const union AnimCmd sSpriteAnim_861CFFC[] = {
ANIMCMD_FRAME(0, 0, FALSE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_861D004[] = {
+static const union AnimCmd sSpriteAnim_861D004[] = {
ANIMCMD_FRAME(4, 0, FALSE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_861D00C[] = {
+static const union AnimCmd sSpriteAnim_861D00C[] = {
ANIMCMD_FRAME(8, 0, FALSE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_861D014[] = {
+static const union AnimCmd sSpriteAnim_861D014[] = {
ANIMCMD_FRAME(12, 0, FALSE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_861D01C[] = {
+static const union AnimCmd sSpriteAnim_861D01C[] = {
ANIMCMD_FRAME(16, 0, FALSE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_861D024[] = {
+static const union AnimCmd sSpriteAnim_861D024[] = {
ANIMCMD_FRAME(16, 0, TRUE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_861D02C[] = {
+static const union AnimCmd sSpriteAnim_861D02C[] = {
ANIMCMD_FRAME(20, 0, FALSE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_861D034[] = {
+static const union AnimCmd sSpriteAnim_861D034[] = {
ANIMCMD_FRAME(24, 0, FALSE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_861D03C[] = {
+static const union AnimCmd sSpriteAnim_861D03C[] = {
ANIMCMD_FRAME(24, 0, TRUE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_861D044[] = {
+static const union AnimCmd sSpriteAnim_861D044[] = {
ANIMCMD_FRAME(28, 0, FALSE, FALSE),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_861D04C[] = {
- gSpriteAnim_861CFFC,
- gSpriteAnim_861D004,
- gSpriteAnim_861D00C,
- gSpriteAnim_861D014,
- gSpriteAnim_861D01C,
- gSpriteAnim_861D024,
- gSpriteAnim_861D02C,
- gSpriteAnim_861D034,
- gSpriteAnim_861D03C,
- gSpriteAnim_861D044,
+static const union AnimCmd *const sSpriteAnimTable_861D04C[] = {
+ sSpriteAnim_861CFFC,
+ sSpriteAnim_861D004,
+ sSpriteAnim_861D00C,
+ sSpriteAnim_861D014,
+ sSpriteAnim_861D01C,
+ sSpriteAnim_861D024,
+ sSpriteAnim_861D02C,
+ sSpriteAnim_861D034,
+ sSpriteAnim_861D03C,
+ sSpriteAnim_861D044,
};
-static const struct CompressedSpriteSheet gUnknown_0861D074 =
+static const struct CompressedSpriteSheet sMoveSelectorSpriteSheet =
{
- .data = gUnknown_08D97BEC,
+ .data = gMoveSelectorBitmap,
.size = 0x400,
.tag = 30000
};
@@ -915,7 +912,7 @@ static const struct SpriteTemplate gUnknown_0861D084 =
.tileTag = 30000,
.paletteTag = 30000,
.oam = &gOamData_861CFF4,
- .anims = gSpriteAnimTable_861D04C,
+ .anims = sSpriteAnimTable_861D04C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
@@ -994,7 +991,7 @@ static const struct SpriteTemplate sSpriteTemplate_StatusCondition =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
-static const u16 gUnknown_0861D120[] = INCBIN_U16("graphics/interface/summary_markings.gbapal");
+static const u16 sSummaryMarkingsPalette[] = INCBIN_U16("graphics/interface/summary_markings.gbapal");
// code
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void))
@@ -1026,7 +1023,7 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex,
case PSS_MODE_SELECT_MOVE:
pssData->minPageIndex = 2;
pssData->maxPageIndex = 3;
- pssData->unk40C3 = TRUE;
+ pssData->lockMonFlag = TRUE;
break;
}
@@ -1101,7 +1098,7 @@ static bool8 SummaryScreen_LoadGraphics(void)
break;
case 5:
InitBGs();
- pssData->unk40F0 = 0;
+ pssData->switchCounter = 0;
gMain.state++;
break;
case 6:
@@ -1113,12 +1110,12 @@ static bool8 SummaryScreen_LoadGraphics(void)
gMain.state++;
break;
case 8:
- sub_81C1BA0();
+ DrawPagination();
gMain.state++;
break;
case 9:
CopyMonToSummaryStruct(&pssData->currentMon);
- pssData->unk40F0 = 0;
+ pssData->switchCounter = 0;
gMain.state++;
break;
case 10:
@@ -1148,14 +1145,14 @@ static bool8 SummaryScreen_LoadGraphics(void)
case 16:
ResetSpriteIds();
CreateMoveTypeIcons();
- pssData->unk40F0 = 0;
+ pssData->switchCounter = 0;
gMain.state++;
break;
case 17:
- pssData->spriteIds[0] = CreatePokemonSprite(&pssData->currentMon, &pssData->unk40F0);
+ pssData->spriteIds[0] = CreatePokemonSprite(&pssData->currentMon, &pssData->switchCounter);
if (pssData->spriteIds[0] != 0xFF)
{
- pssData->unk40F0 = 0;
+ pssData->switchCounter = 0;
gMain.state++;
}
break;
@@ -1202,7 +1199,7 @@ static bool8 SummaryScreen_LoadGraphics(void)
static void InitBGs(void)
{
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_0861CBB4, ARRAY_COUNT(gUnknown_0861CBB4));
+ InitBgsFromTemplates(0, sUnknown_0861CBB4, ARRAY_COUNT(sUnknown_0861CBB4));
SetBgTilemapBuffer(1, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]);
SetBgTilemapBuffer(2, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]);
SetBgTilemapBuffer(3, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]);
@@ -1220,64 +1217,64 @@ static void InitBGs(void)
static bool8 SummaryScreen_DecompressGraphics(void)
{
- switch (pssData->unk40F0)
+ switch (pssData->switchCounter)
{
case 0:
reset_temp_tile_data_buffers();
- decompress_and_copy_tile_data_to_vram(1, &gUnknown_08D97D0C, 0, 0, 0);
- pssData->unk40F0++;
+ decompress_and_copy_tile_data_to_vram(1, &gStatusScreenBitmap, 0, 0, 0);
+ pssData->switchCounter++;
break;
case 1:
if (free_temp_tile_data_buffers_if_possible() != 1)
{
- LZDecompressWram(gUnknown_08D9862C, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]);
- pssData->unk40F0++;
+ LZDecompressWram(gPageInfoTilemap, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]);
+ pssData->switchCounter++;
}
break;
case 2:
LZDecompressWram(gUnknown_08D98CC8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][1]);
- pssData->unk40F0++;
+ pssData->switchCounter++;
break;
case 3:
- LZDecompressWram(gUnknown_08D987FC, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]);
- pssData->unk40F0++;
+ LZDecompressWram(gPageSkillsTilemap, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]);
+ pssData->switchCounter++;
break;
case 4:
- LZDecompressWram(gUnknown_08D9898C, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]);
- pssData->unk40F0++;
+ LZDecompressWram(gPageBattleMovesTilemap, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]);
+ pssData->switchCounter++;
break;
case 5:
- LZDecompressWram(gUnknown_08D98B28, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]);
- pssData->unk40F0++;
+ LZDecompressWram(gPageContestMovesTilemap, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]);
+ pssData->switchCounter++;
break;
case 6:
- LoadCompressedPalette(gUnknown_08D9853C, 0, 0x100);
+ LoadCompressedPalette(gStatusScreenPalette, 0, 0x100);
LoadPalette(&gUnknown_08D85620, 0x81, 0x1E);
- pssData->unk40F0++;
+ pssData->switchCounter++;
break;
case 7:
LoadCompressedSpriteSheet(&sSpriteSheet_MoveTypes);
- pssData->unk40F0++;
+ pssData->switchCounter++;
break;
case 8:
- LoadCompressedSpriteSheet(&gUnknown_0861D074);
- pssData->unk40F0++;
+ LoadCompressedSpriteSheet(&sMoveSelectorSpriteSheet);
+ pssData->switchCounter++;
break;
case 9:
LoadCompressedSpriteSheet(&sStatusIconsSpriteSheet);
- pssData->unk40F0++;
+ pssData->switchCounter++;
break;
case 10:
LoadCompressedSpritePalette(&sStatusIconsSpritePalette);
- pssData->unk40F0++;
+ pssData->switchCounter++;
break;
case 11:
LoadCompressedSpritePalette(&gUnknown_0861D07C);
- pssData->unk40F0++;
+ pssData->switchCounter++;
break;
case 12:
LoadCompressedPalette(gMoveTypes_Pal, 0x1D0, 0x60);
- pssData->unk40F0 = 0;
+ pssData->switchCounter = 0;
return TRUE;
}
return FALSE;
@@ -1301,7 +1298,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a)
{
u32 i;
struct PokeSummary *sum = &pssData->summary;
- switch (pssData->unk40F0)
+ switch (pssData->switchCounter)
{
case 0:
sum->species = GetMonData(a, MON_DATA_SPECIES);
@@ -1366,7 +1363,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a)
sum->ribbonCount = GetMonData(a, MON_DATA_RIBBON_COUNT);
return TRUE;
}
- pssData->unk40F0++;
+ pssData->switchCounter++;
return FALSE;
}
@@ -1397,8 +1394,8 @@ static void sub_81C0348(void)
if (pssData->currPageIndex != PSS_PAGE_BATTLE_MOVES && pssData->currPageIndex != PSS_PAGE_CONTEST_MOVES)
PutWindowTilemap(13);
}
- sub_81C2524();
- sub_81C2228(&pssData->currentMon);
+ LimitEggSummaryPageDisplay();
+ DrawPokerusCuredSymbol(&pssData->currentMon);
}
static void sub_81C0434(void)
@@ -1418,7 +1415,7 @@ static void CloseSummaryScreen(u8 taskId)
if (sub_81221EC() != TRUE && !gPaletteFade.active)
{
SetMainCallback2(pssData->callback);
- gUnknown_0203CF20 = pssData->curMonIndex;
+ gLastViewedMonIndex = pssData->curMonIndex;
SummaryScreen_DestroyUnknownTask();
ResetSpriteData();
FreeAllSpritePalettes();
@@ -1457,7 +1454,7 @@ static void HandleInput(u8 taskId)
{
if (pssData->currPageIndex == PSS_PAGE_INFO)
{
- sub_81C48F0();
+ StopPokemonAnimations();
PlaySE(SE_SELECT);
BeginCloseSummaryScreen(taskId);
}
@@ -1470,7 +1467,7 @@ static void HandleInput(u8 taskId)
}
else if (gMain.newKeys & B_BUTTON)
{
- sub_81C48F0();
+ StopPokemonAnimations();
PlaySE(SE_SELECT);
BeginCloseSummaryScreen(taskId);
}
@@ -1481,7 +1478,7 @@ static void ChangePokemon(u8 taskId, s8 a)
{
s8 r4_2;
- if (!pssData->unk40C3)
+ if (!pssData->lockMonFlag)
{
if (pssData->isBoxMon == TRUE)
{
@@ -1545,7 +1542,7 @@ static void sub_81C0704(u8 taskId)
break;
case 3:
CopyMonToSummaryStruct(&pssData->currentMon);
- pssData->unk40F0 = 0;
+ pssData->switchCounter = 0;
break;
case 4:
if (ExtractMonDataToSummaryStruct(&pssData->currentMon) == FALSE)
@@ -1560,7 +1557,7 @@ static void sub_81C0704(u8 taskId)
case 7:
if (pssData->summary.unk7)
sub_81C2074(10, -2);
- sub_81C2228(&pssData->currentMon);
+ DrawPokerusCuredSymbol(&pssData->currentMon);
data[1] = 0;
break;
case 8:
@@ -1568,7 +1565,7 @@ static void sub_81C0704(u8 taskId)
if (pssData->spriteIds[0] == 0xFF)
return;
gSprites[pssData->spriteIds[0]].data[2] = 1;
- sub_81C0E24();
+ CheckExperienceProgressBar();
data[1] = 0;
break;
case 9:
@@ -1579,7 +1576,7 @@ static void sub_81C0704(u8 taskId)
break;
case 11:
PrintPageSpecificText(pssData->currPageIndex);
- sub_81C2524();
+ LimitEggSummaryPageDisplay();
break;
case 12:
gSprites[pssData->spriteIds[0]].data[2] = 0;
@@ -1678,19 +1675,19 @@ static void ChangePage(u8 taskId, s8 b)
pssData->currPageIndex += b;
data[0] = 0;
if (b == 1)
- SetTaskFuncWithFollowupFunc(taskId, sub_81C0B8C, gTasks[taskId].func);
+ SetTaskFuncWithFollowupFunc(taskId, PssScrollRight, gTasks[taskId].func);
else
- SetTaskFuncWithFollowupFunc(taskId, sub_81C0CC4, gTasks[taskId].func);
+ SetTaskFuncWithFollowupFunc(taskId, PssScrollLeft, gTasks[taskId].func);
CreateTextPrinterTask(pssData->currPageIndex);
HidePageSpecificSprites();
}
-static void sub_81C0B8C(u8 taskId)
+static void PssScrollRight(u8 taskId) // Scroll right
{
s16 *data = gTasks[taskId].data;
if (data[0] == 0)
{
- if (pssData->unk40C9 == 0)
+ if (pssData->bgDisplayOrder == 0)
{
data[1] = 1;
SetBgAttribute(1, BG_ATTR_PRIORITY, 1);
@@ -1712,28 +1709,28 @@ static void sub_81C0B8C(u8 taskId)
ChangeBgX(data[1], 0x2000, 1);
data[0] += 32;
if (data[0] > 0xFF)
- gTasks[taskId].func = sub_81C0C68;
+ gTasks[taskId].func = PssScrollRightEnd;
}
-static void sub_81C0C68(u8 taskId)
+static void PssScrollRightEnd(u8 taskId) // display right
{
s16 *data = gTasks[taskId].data;
- pssData->unk40C9 ^= 1;
+ pssData->bgDisplayOrder ^= 1;
data[1] = 0;
data[0] = 0;
- sub_81C1BA0();
+ DrawPagination();
CreatePageWindowTilemaps(pssData->currPageIndex);
SetTypeIcons();
- sub_81C0E24();
+ CheckExperienceProgressBar();
SwitchTaskToFollowupFunc(taskId);
}
-static void sub_81C0CC4(u8 taskId)
+static void PssScrollLeft(u8 taskId) // Scroll left
{
s16 *data = gTasks[taskId].data;
if (data[0] == 0)
{
- if (pssData->unk40C9 == 0)
+ if (pssData->bgDisplayOrder == 0)
data[1] = 2;
else
data[1] = 1;
@@ -1742,13 +1739,13 @@ static void sub_81C0CC4(u8 taskId)
ChangeBgX(data[1], 0x2000, 2);
data[0] += 32;
if (data[0] > 0xFF)
- gTasks[taskId].func = sub_81C0D44;
+ gTasks[taskId].func = PssScrollLeftEnd;
}
-static void sub_81C0D44(u8 taskId)
+static void PssScrollLeftEnd(u8 taskId) // display left
{
s16 *data = gTasks[taskId].data;
- if (pssData->unk40C9 == 0)
+ if (pssData->bgDisplayOrder == 0)
{
SetBgAttribute(1, BG_ATTR_PRIORITY, 1);
SetBgAttribute(2, BG_ATTR_PRIORITY, 2);
@@ -1767,17 +1764,17 @@ static void sub_81C0D44(u8 taskId)
}
ShowBg(1);
ShowBg(2);
- pssData->unk40C9 ^= 1;
+ pssData->bgDisplayOrder ^= 1;
data[1] = 0;
data[0] = 0;
- sub_81C1BA0();
+ DrawPagination();
CreatePageWindowTilemaps(pssData->currPageIndex);
SetTypeIcons();
- sub_81C0E24();
+ CheckExperienceProgressBar();
SwitchTaskToFollowupFunc(taskId);
}
-static void sub_81C0E24(void)
+static void CheckExperienceProgressBar(void)
{
if (pssData->currPageIndex == 1)
DrawExperienceProgressBar(&pssData->currentMon);
@@ -2025,9 +2022,9 @@ static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2)
u8 ppBonuses = summary->ppBonuses;
// Calculate PP bonuses
- u8 ppUpMask1 = gUnknown_08329D22[moveIndex1];
+ u8 ppUpMask1 = gPPUpGetMask[moveIndex1];
u8 ppBonusMove1 = (ppBonuses & ppUpMask1) >> (moveIndex1 * 2);
- u8 ppUpMask2 = gUnknown_08329D22[moveIndex2];
+ u8 ppUpMask2 = gPPUpGetMask[moveIndex2];
u8 ppBonusMove2 = (ppBonuses & ppUpMask2) >> (moveIndex2 * 2);
ppBonuses &= ~ppUpMask1;
ppBonuses &= ~ppUpMask2;
@@ -2060,9 +2057,9 @@ static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2
u8 ppBonuses = summary->ppBonuses;
// Calculate PP bonuses
- u8 ppUpMask1 = gUnknown_08329D22[moveIndex1];
+ u8 ppUpMask1 = gPPUpGetMask[moveIndex1];
u8 ppBonusMove1 = (ppBonuses & ppUpMask1) >> (moveIndex1 * 2);
- u8 ppUpMask2 = gUnknown_08329D22[moveIndex2];
+ u8 ppUpMask2 = gPPUpGetMask[moveIndex2];
u8 ppBonusMove2 = (ppBonuses & ppUpMask2) >> (moveIndex2 * 2);
ppBonuses &= ~ppUpMask1;
ppBonuses &= ~ppUpMask2;
@@ -2088,10 +2085,10 @@ static void sub_81C171C(u8 taskId)
{
SetNewMoveTypeIcon();
sub_81C4AF8(8);
- gTasks[taskId].func = sub_81C174C;
+ gTasks[taskId].func = HandleReplaceMoveInput;
}
-static void sub_81C174C(u8 taskId)
+static void HandleReplaceMoveInput(u8 taskId)
{
s16* data = gTasks[taskId].data;
@@ -2119,26 +2116,26 @@ static void sub_81C174C(u8 taskId)
}
else if (gMain.newKeys & A_BUTTON)
{
- if (sub_81C18A8() == TRUE)
+ if (CanReplaceMove() == TRUE)
{
- sub_81C48F0();
+ StopPokemonAnimations();
PlaySE(SE_SELECT);
- gUnknown_0203CF21 = pssData->firstMoveIndex;
- gSpecialVar_0x8005 = gUnknown_0203CF21;
+ sUnknown_0203CF21 = pssData->firstMoveIndex;
+ gSpecialVar_0x8005 = sUnknown_0203CF21;
BeginCloseSummaryScreen(taskId);
}
else
{
PlaySE(SE_HAZURE);
- sub_81C18F4(taskId);
+ ShowHMMovesCantBeForgottenWindow(taskId);
}
}
else if (gMain.newKeys & B_BUTTON)
{
u32 var1;
- sub_81C48F0();
+ StopPokemonAnimations();
PlaySE(SE_SELECT);
- gUnknown_0203CF21 = 4;
+ sUnknown_0203CF21 = 4;
gSpecialVar_0x8005 = 4;
BeginCloseSummaryScreen(taskId);
}
@@ -2146,7 +2143,7 @@ static void sub_81C174C(u8 taskId)
}
}
-static bool8 sub_81C18A8(void)
+static bool8 CanReplaceMove(void)
{
if (pssData->firstMoveIndex == MAX_MON_MOVES || pssData->newMove == MOVE_NONE || IsMoveHm(pssData->summary.moves[pssData->firstMoveIndex]) != 1)
return TRUE;
@@ -2154,7 +2151,7 @@ static bool8 sub_81C18A8(void)
return FALSE;
}
-static void sub_81C18F4(u8 taskId)
+static void ShowHMMovesCantBeForgottenWindow(u8 taskId)
{
ClearWindowTilemap(14);
ClearWindowTilemap(15);
@@ -2162,10 +2159,11 @@ static void sub_81C18F4(u8 taskId)
sub_81C1DA4(0, 3);
sub_81C1EFC(0, 3, 0);
PrintHMMovesCantBeForgotten();
- gTasks[taskId].func = sub_81C1940;
+ gTasks[taskId].func = HandleHMMovesCantBeForgottenInput;
}
-static void sub_81C1940(u8 taskId)
+// This redraws the power/accuracy window when the player scrolls out of the "HM Moves can't be forgotten" message
+static void HandleHMMovesCantBeForgottenInput(u8 taskId)
{
s16* data = gTasks[taskId].data;
u16 move;
@@ -2177,7 +2175,7 @@ static void sub_81C1940(u8 taskId)
data[0] = 4;
sub_81C1070(&data[0], -1, &pssData->firstMoveIndex);
data[1] = 0;
- gTasks[taskId].func = sub_81C174C;
+ gTasks[taskId].func = HandleReplaceMoveInput;
}
else if (gMain.newKeys & DPAD_DOWN)
{
@@ -2185,7 +2183,7 @@ static void sub_81C1940(u8 taskId)
data[0] = 4;
sub_81C1070(&data[0], 1, &pssData->firstMoveIndex);
data[1] = 0;
- gTasks[taskId].func = sub_81C174C;
+ gTasks[taskId].func = HandleReplaceMoveInput;
}
else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1)
{
@@ -2195,7 +2193,7 @@ static void sub_81C1940(u8 taskId)
if (!gSprites[pssData->spriteIds[2]].invisible)
ClearWindowTilemap(13);
move = pssData->summary.moves[pssData->firstMoveIndex];
- gTasks[taskId].func = sub_81C174C;
+ gTasks[taskId].func = HandleReplaceMoveInput;
ChangePage(taskId, -1);
sub_81C1DA4(9, -2);
sub_81C1EFC(9, -2, move);
@@ -2209,7 +2207,7 @@ static void sub_81C1940(u8 taskId)
if (!gSprites[pssData->spriteIds[2]].invisible)
ClearWindowTilemap(13);
move = pssData->summary.moves[pssData->firstMoveIndex];
- gTasks[taskId].func = sub_81C174C;
+ gTasks[taskId].func = HandleReplaceMoveInput;
ChangePage(taskId, 1);
sub_81C1DA4(9, -2);
sub_81C1EFC(9, -2, move);
@@ -2225,17 +2223,17 @@ static void sub_81C1940(u8 taskId)
schedule_bg_copy_tilemap_to_vram(0);
sub_81C1DA4(9, -3);
sub_81C1EFC(9, -3, move);
- gTasks[taskId].func = sub_81C174C;
+ gTasks[taskId].func = HandleReplaceMoveInput;
}
}
}
u8 sub_81C1B94(void)
{
- return gUnknown_0203CF21;
+ return sUnknown_0203CF21;
}
-static void sub_81C1BA0(void)
+static void DrawPagination(void) // Updates the pagination dots at the top of the summary screen
{
u16 *alloced = Alloc(32);
u8 i;
@@ -2333,11 +2331,11 @@ static void sub_81C1CB0(const struct UnkStruct_61CC04 *unkStruct, u16 *dest, u8
static void sub_81C1DA4(u16 a, s16 b)
{
- if (b > gUnknown_0861CC04.field_6)
- b = gUnknown_0861CC04.field_6;
- if (b == 0 || b == gUnknown_0861CC04.field_6)
+ if (b > sUnknown_0861CC04.field_6)
+ b = sUnknown_0861CC04.field_6;
+ if (b == 0 || b == sUnknown_0861CC04.field_6)
{
- sub_81C1CB0(&gUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1);
+ sub_81C1CB0(&sUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1);
}
else
{
@@ -2359,12 +2357,12 @@ static void sub_81C1E20(u8 taskId)
{
data[1] = 0;
}
- else if (data[1] > gUnknown_0861CC04.field_6)
+ else if (data[1] > sUnknown_0861CC04.field_6)
{
- data[1] = gUnknown_0861CC04.field_6;
+ data[1] = sUnknown_0861CC04.field_6;
}
- sub_81C1CB0(&gUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1);
- if (data[1] <= 0 || data[1] >= gUnknown_0861CC04.field_6)
+ sub_81C1CB0(&sUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1);
+ if (data[1] <= 0 || data[1] >= sUnknown_0861CC04.field_6)
{
if (data[0] < 0)
{
@@ -2386,10 +2384,10 @@ static void sub_81C1E20(u8 taskId)
static void sub_81C1EFC(u16 a, s16 b, u16 move)
{
- if (b > gUnknown_0861CC10.field_6)
- b = gUnknown_0861CC10.field_6;
- if (b == 0 || b == gUnknown_0861CC10.field_6)
- sub_81C1CB0(&gUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1);
+ if (b > sUnknown_0861CC10.field_6)
+ b = sUnknown_0861CC10.field_6;
+ if (b == 0 || b == sUnknown_0861CC10.field_6)
+ sub_81C1CB0(&sUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1);
else
{
u8 taskId = FindTaskIdByFunc(sub_81C1F80);
@@ -2409,16 +2407,16 @@ static void sub_81C1F80(u8 taskId)
{
data[1] = 0;
}
- else if (data[1] > gUnknown_0861CC10.field_6)
+ else if (data[1] > sUnknown_0861CC10.field_6)
{
- data[1] = gUnknown_0861CC10.field_6;
+ data[1] = sUnknown_0861CC10.field_6;
}
- sub_81C1CB0(&gUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1);
- if (data[1] <= 0 || data[1] >= gUnknown_0861CC10.field_6)
+ sub_81C1CB0(&sUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1);
+ if (data[1] <= 0 || data[1] >= sUnknown_0861CC10.field_6)
{
if (data[0] < 0)
{
- if (pssData->currPageIndex == 3 && FuncIsActiveTask(sub_81C0B8C) == 0)
+ if (pssData->currPageIndex == 3 && FuncIsActiveTask(PssScrollRight) == 0)
PutWindowTilemap(15);
DrawContestMoveHearts(data[2]);
}
@@ -2439,12 +2437,12 @@ static void sub_81C1F80(u8 taskId)
static void sub_81C2074(u16 a, s16 b)
{
- if (b > gUnknown_0861CBEC.field_6)
- b = gUnknown_0861CBEC.field_6;
- if (b == 0 || b == gUnknown_0861CBEC.field_6)
+ if (b > sUnknown_0861CBEC.field_6)
+ b = sUnknown_0861CBEC.field_6;
+ if (b == 0 || b == sUnknown_0861CBEC.field_6)
{
- sub_81C1CB0(&gUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0);
- sub_81C1CB0(&gUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0);
+ sub_81C1CB0(&sUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0);
+ sub_81C1CB0(&sUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0);
}
else
{
@@ -2460,12 +2458,12 @@ static void sub_81C20F0(u8 taskId)
data[1] += data[0];
if (data[1] < 0)
data[1] = 0;
- else if (data[1] > gUnknown_0861CBEC.field_6)
- data[1] = gUnknown_0861CBEC.field_6;
- sub_81C1CB0(&gUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0);
- sub_81C1CB0(&gUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0);
+ else if (data[1] > sUnknown_0861CBEC.field_6)
+ data[1] = sUnknown_0861CBEC.field_6;
+ sub_81C1CB0(&sUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0);
+ sub_81C1CB0(&sUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0);
schedule_bg_copy_tilemap_to_vram(3);
- if (data[1] <= 0 || data[1] >= gUnknown_0861CBEC.field_6)
+ if (data[1] <= 0 || data[1] >= sUnknown_0861CBEC.field_6)
{
if (data[0] < 0)
{
@@ -2505,9 +2503,9 @@ static void sub_81C2194(u16 *output, u16 palette, bool8 c)
}
}
-static void sub_81C2228(struct Pokemon *mon)
+static void DrawPokerusCuredSymbol(struct Pokemon *mon) // This checks if the mon has been cured of pokerus
{
- if (!CheckPartyPokerus(mon, 0) && CheckPartyHasHadPokerus(mon, 0))
+ if (!CheckPartyPokerus(mon, 0) && CheckPartyHasHadPokerus(mon, 0)) // If yes it draws the cured symbol
{
pssData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C;
pssData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C;
@@ -2615,7 +2613,7 @@ static void DrawContestMoveHearts(u16 move)
}
}
-static void sub_81C2524(void)
+static void LimitEggSummaryPageDisplay(void) // If the pokemon is an egg, limit the number of pages displayed to 1
{
if (pssData->summary.isEgg)
ChangeBgX(3, 0x10000, 0);
@@ -2626,7 +2624,7 @@ static void sub_81C2524(void)
static void ResetWindows(void)
{
u8 i;
- InitWindows(gUnknown_0861CC24);
+ InitWindows(sSummaryTemplate);
DeactivateAllTextPrinters();
for (i = 0; i < 20; i++)
@@ -2729,7 +2727,8 @@ static void sub_81C27DC(struct Pokemon *mon, u16 species)
static void PrintAOrBButtonIcon(u8 windowId, bool8 bButton, u32 x)
{
- BlitBitmapToWindow(windowId, (bButton) ? gUnknown_0861CDD3 : gUnknown_0861CDD3 - 0x80, x, 0, 16, 16);
+ // sSummaryBButtonBitmap - 0x80 = sSummaryAButtonBitmap
+ BlitBitmapToWindow(windowId, (bButton) ? sSummaryBButtonBitmap : sSummaryBButtonBitmap - 0x80, x, 0, 16, 16);
}
static void PrintPageNamesAndStatsPageToWindows(void)
@@ -2987,7 +2986,7 @@ static void PrintMonOTName(void)
int x;
if (InBattleFactory() != TRUE && sub_81B9E94() != TRUE)
{
- windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0);
+ windowId = AddWindowFromTemplateList(sPageInfoTemplate, 0);
SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1);
x = GetStringWidth(1, gText_OTSlash, 0);
if (pssData->summary.OTGender == 0)
@@ -3004,20 +3003,20 @@ static void PrintMonOTID(void)
{
ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)pssData->summary.OTID, 2, 5);
xPos = GetStringRightAlignXOffset(1, gStringVar1, 56);
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, xPos, 1, 0, 1);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 1), gStringVar1, xPos, 1, 0, 1);
}
}
static void PrintMonAbilityName(void)
{
u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility);
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 2), gAbilityNames[ability], 0, 1, 0, 1);
}
static void PrintMonAbilityDescription(void)
{
u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility);
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0);
}
static void BufferMonTrainerMemo(void)
@@ -3026,8 +3025,8 @@ static void BufferMonTrainerMemo(void)
const u8 *text;
DynamicPlaceholderTextUtil_Reset();
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_0861CE74);
- DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_0861CE7B);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sMemoNatureTextColor);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, sMemoMiscTextColor);
BufferNatureString();
if (InBattleFactory() == TRUE || sub_81B9E94() == TRUE || IsInGamePartnerMon() == TRUE)
@@ -3074,7 +3073,7 @@ static void BufferMonTrainerMemo(void)
static void PrintMonTrainerMemo(void)
{
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 3), gStringVar4, 0, 1, 0, 0);
}
static void BufferNatureString(void)
@@ -3147,7 +3146,7 @@ static bool8 IsInGamePartnerMon(void)
static void PrintEggOTName(void)
{
- u32 windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0);
+ u32 windowId = AddWindowFromTemplateList(sPageInfoTemplate, 0);
u32 width = GetStringWidth(1, gText_OTSlash, 0);
SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1);
SummaryScreen_PrintTextOnWindow(windowId, gText_FiveMarks, width, 1, 0, 1);
@@ -3159,7 +3158,7 @@ static void PrintEggOTID(void)
StringCopy(gStringVar1, gText_UnkCtrlF907F908);
StringAppend(gStringVar1, gText_FiveMarks);
x = GetStringRightAlignXOffset(1, gStringVar1, 56);
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, x, 1, 0, 1);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 1), gStringVar1, x, 1, 0, 1);
}
static void PrintEggState(void)
@@ -3178,7 +3177,7 @@ static void PrintEggState(void)
else
text = gText_EggWillTakeALongTime;
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), text, 0, 1, 0, 0);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 2), text, 0, 1, 0, 0);
}
static void PrintEggMemo(void)
@@ -3202,7 +3201,7 @@ static void PrintEggMemo(void)
text = gText_OddEggFoundByCouple;
}
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), text, 0, 1, 0, 0);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 3), text, 0, 1, 0, 0);
}
static void PrintSkillsPageText(void)
@@ -3270,7 +3269,7 @@ static void PrintHeldItemName(void)
}
offset = GetStringCenterAlignXOffset(1, text, 72) + 6;
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 0), text, offset, 1, 0, 0);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, 0), text, offset, 1, 0, 0);
}
static void PrintRibbonCount(void)
@@ -3290,7 +3289,7 @@ static void PrintRibbonCount(void)
}
offset = GetStringCenterAlignXOffset(1, text, 70) + 6;
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 1), text, offset, 1, 0, 0);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, 1), text, offset, 1, 0, 0);
}
static void BufferLeftColumnStats(void)
@@ -3310,7 +3309,7 @@ static void BufferLeftColumnStats(void)
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, maxHPString);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, attackString);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, defenseString);
- DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE82);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, sStatsLeftColumnLayout);
Free(currentHPString);
Free(maxHPString);
@@ -3320,7 +3319,7 @@ static void BufferLeftColumnStats(void)
static void PrintLeftColumnStats(void)
{
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, 2), gStringVar4, 4, 1, 0, 0);
}
static void BufferRightColumnStats(void)
@@ -3333,18 +3332,18 @@ static void BufferRightColumnStats(void)
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar3);
- DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE8E);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, sStatsRightColumnLayout);
}
static void PrintRightColumnStats(void)
{
- SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0);
+ SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, 3), gStringVar4, 2, 1, 0, 0);
}
static void PrintExpPointsNextLevel(void)
{
struct PokeSummary *sum = &pssData->summary;
- u8 windowId = AddWindowFromTemplateList(gUnknown_0861CCEC, 4);
+ u8 windowId = AddWindowFromTemplateList(sPageSkillsTemplate, 4);
int offset;
u32 expToNextLevel;
@@ -3436,8 +3435,8 @@ static void PrintMoveNameAndPP(u8 moveIndex)
const u8 *text;
u32 offset;
struct PssData *summaryStruct = pssData;
- u8 moveNameWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0);
- u8 ppValueWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 1);
+ u8 moveNameWindowId = AddWindowFromTemplateList(sPageMovesTemplate, 0);
+ u8 ppValueWindowId = AddWindowFromTemplateList(sPageMovesTemplate, 1);
u16 move = summaryStruct->summary.moves[moveIndex];
if (move != 0)
@@ -3449,7 +3448,7 @@ static void PrintMoveNameAndPP(u8 moveIndex)
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2);
- DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, sMovesPPLayout);
text = gStringVar4;
ppState = GetCurrentPpToMaxPpState(summaryStruct->summary.pp[moveIndex], pp) + 9;
offset = GetStringRightAlignXOffset(1, text, 44);
@@ -3560,14 +3559,14 @@ static void PrintContestMoveDescription(u8 moveSlot)
if (move != MOVE_NONE)
{
- u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2);
+ u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, 2);
SummaryScreen_PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0);
}
}
static void PrintMoveDetails(u16 move)
{
- u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2);
+ u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, 2);
FillWindowPixelBuffer(windowId, 0);
if (move != MOVE_NONE)
{
@@ -3592,8 +3591,8 @@ static void PrintMoveDetails(u16 move)
static void PrintNewMoveDetailsOrCancelText(void)
{
- u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0);
- u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1);
+ u8 windowId1 = AddWindowFromTemplateList(sPageMovesTemplate, 0);
+ u8 windowId2 = AddWindowFromTemplateList(sPageMovesTemplate, 1);
if (pssData->newMove == MOVE_NONE)
{
@@ -3612,22 +3611,22 @@ static void PrintNewMoveDetailsOrCancelText(void)
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1);
- DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, sMovesPPLayout);
SummaryScreen_PrintTextOnWindow(windowId2, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x2C), 0x41, 0, 12);
}
}
static void sub_81C4064(void)
{
- u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0);
+ u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, 0);
FillWindowPixelRect(windowId, 0, 0, 66, 72, 16);
CopyWindowToVram(windowId, 2);
}
static void sub_81C40A0(u8 moveIndex1, u8 moveIndex2)
{
- u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0);
- u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1);
+ u8 windowId1 = AddWindowFromTemplateList(sPageMovesTemplate, 0);
+ u8 windowId2 = AddWindowFromTemplateList(sPageMovesTemplate, 1);
FillWindowPixelRect(windowId1, 0, 0, moveIndex1 * 16, 0x48, 0x10);
FillWindowPixelRect(windowId1, 0, 0, moveIndex2 * 16, 0x48, 0x10);
@@ -3641,7 +3640,7 @@ static void sub_81C40A0(u8 moveIndex1, u8 moveIndex2)
static void PrintHMMovesCantBeForgotten(void)
{
- u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2);
+ u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, 2);
FillWindowPixelBuffer(windowId, 0);
SummaryScreen_PrintTextOnWindow(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0);
}
@@ -3942,14 +3941,14 @@ static bool32 SummaryScreen_DoesSpriteHaveCallback(void)
}
}
-static void sub_81C48F0(void)
+static void StopPokemonAnimations(void) // A subtle effect, this function stops pokemon animations when leaving the PSS
{
u16 i;
u16 paletteIndex;
gSprites[pssData->spriteIds[0]].animPaused = TRUE;
gSprites[pssData->spriteIds[0]].callback = SpriteCallbackDummy;
- sub_806EE98();
+ StopPokemonAnimationDelayTask();
paletteIndex = (gSprites[pssData->spriteIds[0]].oam.paletteNum * 16) | 0x100;
@@ -3961,7 +3960,7 @@ static void sub_81C48F0(void)
static void CreateMonMarkingsSprite(struct Pokemon *mon)
{
- struct Sprite *sprite = sub_811FF94(30003, 30003, gUnknown_0861D120);
+ struct Sprite *sprite = sub_811FF94(30003, 30003, sSummaryMarkingsPalette);
pssData->markingsSprite = sprite;