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.c119
1 files changed, 65 insertions, 54 deletions
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index fce2a893c..8f16321b2 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -47,6 +47,14 @@
#include "constants/rgb.h"
#include "constants/songs.h"
+enum {
+ PSS_PAGE_INFO,
+ PSS_PAGE_SKILLS,
+ PSS_PAGE_BATTLE_MOVES,
+ PSS_PAGE_CONTEST_MOVES,
+ PSS_PAGE_COUNT,
+};
+
// Screen titles (upper left)
#define PSS_LABEL_WINDOW_POKEMON_INFO_TITLE 0
#define PSS_LABEL_WINDOW_POKEMON_SKILLS_TITLE 1
@@ -175,7 +183,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData
} *sMonSummaryScreen = NULL;
EWRAM_DATA u8 gLastViewedMonIndex = 0;
static EWRAM_DATA u8 sMoveSlotToReplace = 0;
-ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0;
+ALIGNED(4) static EWRAM_DATA u8 sAnimDelayTaskId = 0;
// forward declarations
static bool8 LoadGraphics(void);
@@ -296,6 +304,7 @@ static void SpriteCb_MoveSelector(struct Sprite *sprite);
static void DestroyMoveSelectorSprites(u8 firstArrayId);
static void SetMainMoveSelectorColor(u8 whichColor);
static void KeepMoveSelectorVisible(u8 firstSpriteId);
+static void SummaryScreen_DestroyAnimDelayTask(void);
// const rom data
#include "data/text/move_descriptions.h"
@@ -707,7 +716,7 @@ static void (*const sTextPrinterTasks[])(u8 taskId) =
};
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 sMemoMiscTextColor[] = _("{COLOR WHITE}{SHADOW DARK_GRAY}"); // This is also affected by palettes, apparently
static const u8 sStatsLeftColumnLayout[] = _("{DYNAMIC 0}/{DYNAMIC 1}\n{DYNAMIC 2}\n{DYNAMIC 3}");
static const u8 sStatsRightColumnLayout[] = _("{DYNAMIC 0}\n{DYNAMIC 1}\n{DYNAMIC 2}");
static const u8 sMovesPPLayout[] = _("{PP}{DYNAMIC 0}/{DYNAMIC 1}");
@@ -1069,24 +1078,24 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex,
sMonSummaryScreen->maxMonIndex = maxMonIndex;
sMonSummaryScreen->callback = callback;
- if (mode == PSS_MODE_BOX)
+ if (mode == SUMMARY_MODE_BOX)
sMonSummaryScreen->isBoxMon = TRUE;
else
sMonSummaryScreen->isBoxMon = FALSE;
switch (mode)
{
- case PSS_MODE_NORMAL:
- case PSS_MODE_BOX:
+ case SUMMARY_MODE_NORMAL:
+ case SUMMARY_MODE_BOX:
sMonSummaryScreen->minPageIndex = 0;
sMonSummaryScreen->maxPageIndex = PSS_PAGE_COUNT - 1;
break;
- case PSS_MODE_LOCK_MOVES:
+ case SUMMARY_MODE_LOCK_MOVES:
sMonSummaryScreen->minPageIndex = 0;
sMonSummaryScreen->maxPageIndex = PSS_PAGE_COUNT - 1;
sMonSummaryScreen->lockMovesFlag = TRUE;
break;
- case PSS_MODE_SELECT_MOVE:
+ case SUMMARY_MODE_SELECT_MOVE:
sMonSummaryScreen->minPageIndex = PSS_PAGE_BATTLE_MOVES;
sMonSummaryScreen->maxPageIndex = PSS_PAGE_COUNT - 1;
sMonSummaryScreen->lockMonFlag = TRUE;
@@ -1094,7 +1103,7 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex,
}
sMonSummaryScreen->currPageIndex = sMonSummaryScreen->minPageIndex;
- SummaryScreen_SetUnknownTaskId(0xFF);
+ SummaryScreen_SetAnimDelayTaskId(TASK_NONE);
if (gMonSpritesGfxPtr == NULL)
sub_806F2AC(0, 0);
@@ -1104,7 +1113,7 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex,
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove)
{
- ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, mons, monIndex, maxMonIndex, callback);
+ ShowPokemonSummaryScreen(SUMMARY_MODE_SELECT_MOVE, mons, monIndex, maxMonIndex, callback);
sMonSummaryScreen->newMove = newMove;
}
@@ -1216,7 +1225,7 @@ static bool8 LoadGraphics(void)
break;
case 17:
sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON] = LoadMonGfxAndSprite(&sMonSummaryScreen->currentMon, &sMonSummaryScreen->switchCounter);
- if (sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON] != 0xFF)
+ if (sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON] != SPRITE_NONE)
{
sMonSummaryScreen->switchCounter = 0;
gMain.state++;
@@ -1239,18 +1248,18 @@ static bool8 LoadGraphics(void)
gMain.state++;
break;
case 22:
- if (sMonSummaryScreen->mode != PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode != SUMMARY_MODE_SELECT_MOVE)
CreateTask(Task_HandleInput, 0);
else
CreateTask(Task_SetHandleReplaceMoveInput, 0);
gMain.state++;
break;
case 23:
- BlendPalettes(0xFFFFFFFF, 16, 0);
+ BlendPalettes(PALETTES_ALL, 16, 0);
gMain.state++;
break;
case 24:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK);
gPaletteFade.bufferTransferDisabled = 0;
gMain.state++;
break;
@@ -1392,7 +1401,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon)
sum->ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES);
break;
case 2:
- if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == PSS_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
+ if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
{
sum->nature = GetNature(mon);
sum->currentHP = GetMonData(mon, MON_DATA_HP);
@@ -1470,7 +1479,7 @@ static void FreeSummaryScreen(void)
static void BeginCloseSummaryScreen(u8 taskId)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = CloseSummaryScreen;
}
@@ -1480,7 +1489,7 @@ static void CloseSummaryScreen(u8 taskId)
{
SetMainCallback2(sMonSummaryScreen->callback);
gLastViewedMonIndex = sMonSummaryScreen->curMonIndex;
- SummaryScreen_DestroyUnknownTask();
+ SummaryScreen_DestroyAnimDelayTask();
ResetSpriteData();
FreeAllSpritePalettes();
StopCryAndClearCrySongs();
@@ -1560,7 +1569,7 @@ static void ChangeSummaryPokemon(u8 taskId, s8 delta)
else
delta = 3;
}
- monId = sub_80D214C(sMonSummaryScreen->monList.boxMons, sMonSummaryScreen->curMonIndex, sMonSummaryScreen->maxMonIndex, delta);
+ monId = AdvanceStorageMonIndex(sMonSummaryScreen->monList.boxMons, sMonSummaryScreen->curMonIndex, sMonSummaryScreen->maxMonIndex, delta);
}
else if (IsMultiBattle() == TRUE)
{
@@ -1598,7 +1607,7 @@ static void Task_ChangeSummaryMon(u8 taskId)
StopCryAndClearCrySongs();
break;
case 1:
- SummaryScreen_DestroyUnknownTask();
+ SummaryScreen_DestroyAnimDelayTask();
DestroySpriteAndFreeResources(&gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON]]);
break;
case 2:
@@ -1626,7 +1635,7 @@ static void Task_ChangeSummaryMon(u8 taskId)
break;
case 8:
sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON] = LoadMonGfxAndSprite(&sMonSummaryScreen->currentMon, &data[1]);
- if (sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON] == 0xFF)
+ if (sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON] == SPRITE_NONE)
return;
gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON]].data[2] = 1;
TryDrawExperienceProgressBar();
@@ -2401,7 +2410,7 @@ static void HandlePowerAccTilemap(u16 a, s16 b)
else
{
u8 taskId = FindTaskIdByFunc(Task_ShowPowerAccWindow);
- if (taskId == 0xFF)
+ if (taskId == TASK_NONE)
taskId = CreateTask(Task_ShowPowerAccWindow, 8);
gTasks[taskId].data[0] = b;
gTasks[taskId].data[1] = a;
@@ -2453,7 +2462,7 @@ static void HandleAppealJamTilemap(u16 a, s16 b, u16 move)
else
{
u8 taskId = FindTaskIdByFunc(Task_ShowAppealJamWindow);
- if (taskId == 0xFF)
+ if (taskId == TASK_NONE)
taskId = CreateTask(Task_ShowAppealJamWindow, 8);
gTasks[taskId].data[0] = b;
gTasks[taskId].data[1] = a;
@@ -2680,7 +2689,7 @@ static void ResetWindows(void)
for (i = 0; i < PSS_LABEL_WINDOW_END; i++)
FillWindowPixelBuffer(i, PIXEL_FILL(0));
for (i = 0; i < ARRAY_COUNT(sMonSummaryScreen->windowIds); i++)
- sMonSummaryScreen->windowIds[i] = 0xFF;
+ sMonSummaryScreen->windowIds[i] = WINDOW_NONE;
}
static void PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId)
@@ -2858,7 +2867,7 @@ static void PutPageWindowTilemaps(u8 page)
break;
case PSS_PAGE_BATTLE_MOVES:
PutWindowTilemap(PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE);
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
{
if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES)
PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC);
@@ -2870,7 +2879,7 @@ static void PutPageWindowTilemaps(u8 page)
break;
case PSS_PAGE_CONTEST_MOVES:
PutWindowTilemap(PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE);
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
{
if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES)
PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM);
@@ -2906,7 +2915,7 @@ static void ClearPageWindowTilemaps(u8 page)
ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP);
break;
case PSS_PAGE_BATTLE_MOVES:
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
{
if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES)
ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC);
@@ -2917,7 +2926,7 @@ static void ClearPageWindowTilemaps(u8 page)
}
break;
case PSS_PAGE_CONTEST_MOVES:
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
{
if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES)
ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM);
@@ -2938,7 +2947,7 @@ static void ClearPageWindowTilemaps(u8 page)
static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateId)
{
u8 *windowIdPtr = &sMonSummaryScreen->windowIds[templateId];
- if (*windowIdPtr == 0xFF)
+ if (*windowIdPtr == WINDOW_NONE)
{
*windowIdPtr = AddWindow(&template[templateId]);
FillWindowPixelBuffer(*windowIdPtr, PIXEL_FILL(0));
@@ -2949,11 +2958,11 @@ static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 te
static void RemoveWindowByIndex(u8 windowIndex)
{
u8 *windowIdPtr = &sMonSummaryScreen->windowIds[windowIndex];
- if (*windowIdPtr != 0xFF)
+ if (*windowIdPtr != WINDOW_NONE)
{
ClearWindowTilemap(*windowIdPtr);
RemoveWindow(*windowIdPtr);
- *windowIdPtr = 0xFF;
+ *windowIdPtr = WINDOW_NONE;
}
}
@@ -2962,7 +2971,7 @@ static void PrintPageSpecificText(u8 pageIndex)
u16 i;
for (i = 0; i < ARRAY_COUNT(sMonSummaryScreen->windowIds); i++)
{
- if (sMonSummaryScreen->windowIds[i] != 0xFF)
+ if (sMonSummaryScreen->windowIds[i] != WINDOW_NONE)
FillWindowPixelBuffer(sMonSummaryScreen->windowIds[i], PIXEL_FILL(0));
}
sTextPrinterFunctions[pageIndex]();
@@ -3412,7 +3421,7 @@ static void PrintBattleMoves(void)
PrintMoveNameAndPP(2);
PrintMoveNameAndPP(3);
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
{
PrintNewMoveDetailsOrCancelText();
if (sMonSummaryScreen->firstMoveIndex == MAX_MON_MOVES)
@@ -3446,11 +3455,11 @@ static void Task_PrintBattleMoves(u8 taskId)
PrintMoveNameAndPP(3);
break;
case 5:
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
PrintNewMoveDetailsOrCancelText();
break;
case 6:
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
{
if (sMonSummaryScreen->firstMoveIndex == MAX_MON_MOVES)
data[1] = sMonSummaryScreen->newMove;
@@ -3459,7 +3468,7 @@ static void Task_PrintBattleMoves(u8 taskId)
}
break;
case 7:
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
{
if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES)
PrintMoveDetails(data[1]);
@@ -3547,7 +3556,7 @@ static void PrintContestMoves(void)
PrintMoveNameAndPP(2);
PrintMoveNameAndPP(3);
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
{
PrintNewMoveDetailsOrCancelText();
PrintContestMoveDescription(sMonSummaryScreen->firstMoveIndex);
@@ -3573,11 +3582,11 @@ static void Task_PrintContestMoves(u8 taskId)
PrintMoveNameAndPP(3);
break;
case 5:
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
PrintNewMoveDetailsOrCancelText();
break;
case 6:
- if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
+ if (sMonSummaryScreen->mode == SUMMARY_MODE_SELECT_MOVE)
{
if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES)
PrintContestMoveDescription(sMonSummaryScreen->firstMoveIndex);
@@ -3612,7 +3621,7 @@ static void PrintMoveDetails(u16 move)
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
if (move != MOVE_NONE)
{
- if (sMonSummaryScreen->currPageIndex == PSS_MODE_BOX)
+ if (sMonSummaryScreen->currPageIndex == SUMMARY_MODE_BOX)
{
PrintMovePowerAndAccuracy(move);
PrintTextOnWindow(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0);
@@ -3692,15 +3701,15 @@ static void ResetSpriteIds(void)
u8 i;
for (i = 0; i < ARRAY_COUNT(sMonSummaryScreen->spriteIds); i++)
- sMonSummaryScreen->spriteIds[i] = 0xFF;
+ sMonSummaryScreen->spriteIds[i] = SPRITE_NONE;
}
static void DestroySpriteInArray(u8 spriteArrayId)
{
- if (sMonSummaryScreen->spriteIds[spriteArrayId] != 0xFF)
+ if (sMonSummaryScreen->spriteIds[spriteArrayId] != SPRITE_NONE)
{
DestroySprite(&gSprites[sMonSummaryScreen->spriteIds[spriteArrayId]]);
- sMonSummaryScreen->spriteIds[spriteArrayId] = 0xFF;
+ sMonSummaryScreen->spriteIds[spriteArrayId] = SPRITE_NONE;
}
}
@@ -3716,7 +3725,7 @@ static void HidePageSpecificSprites(void)
for (i = SPRITE_ARR_ID_TYPE; i < ARRAY_COUNT(sMonSummaryScreen->spriteIds); i++)
{
- if (sMonSummaryScreen->spriteIds[i] != 0xFF)
+ if (sMonSummaryScreen->spriteIds[i] != SPRITE_NONE)
SetSpriteInvisibility(i, TRUE);
}
}
@@ -3745,7 +3754,7 @@ static void CreateMoveTypeIcons(void)
for (i = SPRITE_ARR_ID_TYPE; i < SPRITE_ARR_ID_TYPE + 5; i++)
{
- if (sMonSummaryScreen->spriteIds[i] == 0xFF)
+ if (sMonSummaryScreen->spriteIds[i] == SPRITE_NONE)
sMonSummaryScreen->spriteIds[i] = CreateSprite(&sSpriteTemplate_MoveTypes, 0, 0, 2);
SetSpriteInvisibility(i, TRUE);
@@ -3857,7 +3866,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state)
case 0:
if (gMain.inBattle)
{
- if (sub_80688F8(3, sMonSummaryScreen->curMonIndex))
+ if (ShouldIgnoreDeoxysForm(3, sMonSummaryScreen->curMonIndex))
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites.ptr[1], summary->species2, summary->pid);
else
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites.ptr[1], summary->species2, summary->pid);
@@ -3866,14 +3875,14 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state)
{
if (gMonSpritesGfxPtr != NULL)
{
- if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == PSS_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
+ if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites.ptr[1], summary->species2, summary->pid);
else
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites.ptr[1], summary->species2, summary->pid);
}
else
{
- if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == PSS_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
+ if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid);
else
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid);
@@ -3933,17 +3942,19 @@ static void SpriteCB_Pokemon(struct Sprite *sprite)
}
}
-void SummaryScreen_SetUnknownTaskId(u8 taskId)
+// Track and then destroy Task_PokemonSummaryAnimateAfterDelay
+// Normally destroys itself but it can be interrupted before the animation starts
+void SummaryScreen_SetAnimDelayTaskId(u8 taskId)
{
- sUnknownTaskId = taskId;
+ sAnimDelayTaskId = taskId;
}
-void SummaryScreen_DestroyUnknownTask(void)
+static void SummaryScreen_DestroyAnimDelayTask(void)
{
- if (sUnknownTaskId != 0xFF)
+ if (sAnimDelayTaskId != TASK_NONE)
{
- DestroyTask(sUnknownTaskId);
- sUnknownTaskId = 0xFF;
+ DestroyTask(sAnimDelayTaskId);
+ sAnimDelayTaskId = TASK_NONE;
}
}
@@ -3976,7 +3987,7 @@ static void StopPokemonAnimations(void) // A subtle effect, this function stops
static void CreateMonMarkingsSprite(struct Pokemon *mon)
{
- struct Sprite *sprite = CreateMonMarkingsSpriteWithPal(TAG_MON_MARKINGS, TAG_MON_MARKINGS, sSummaryMarkingsPalette);
+ struct Sprite *sprite = CreateMonMarkingAllCombosSprite(TAG_MON_MARKINGS, TAG_MON_MARKINGS, sSummaryMarkingsPalette);
sMonSummaryScreen->markingsSprite = sprite;
if (sprite != NULL)
@@ -4010,7 +4021,7 @@ static void CreateSetStatusSprite(void)
u8 *spriteId = &sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_STATUS];
u8 statusAnim;
- if (*spriteId == 0xFF)
+ if (*spriteId == SPRITE_NONE)
*spriteId = CreateSprite(&sSpriteTemplate_StatusCondition, 64, 152, 0);
statusAnim = GetMonAilment(&sMonSummaryScreen->currentMon);