From 3fb9e1a11cb071c11ca18fd13141afb2c33087fc Mon Sep 17 00:00:00 2001 From: RavePossum <145081120+ravepossum@users.noreply.github.com> Date: Wed, 8 Oct 2025 02:40:40 -0600 Subject: [PATCH] Ensure last used ball and move description window sprites don't free palette too early (#7875) --- src/battle_interface.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index 2aee6460cb..2264d94ce4 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -2970,7 +2970,8 @@ void TryAddLastUsedBallItemSprites(void) static void DestroyLastUsedBallWinGfx(struct Sprite *sprite) { FreeSpriteTilesByTag(TAG_LAST_BALL_WINDOW); - FreeSpritePaletteByTag(TAG_ABILITY_POP_UP); + if (GetSpriteTileStartByTag(MOVE_INFO_WINDOW_TAG) == 0xFFFF) + FreeSpritePaletteByTag(TAG_ABILITY_POP_UP); DestroySprite(sprite); gBattleStruct->ballSpriteIds[1] = MAX_SPRITES; } @@ -3007,7 +3008,8 @@ void TryToHideMoveInfoWindow(void) static void DestroyMoveInfoWinGfx(struct Sprite *sprite) { FreeSpriteTilesByTag(MOVE_INFO_WINDOW_TAG); - FreeSpritePaletteByTag(TAG_ABILITY_POP_UP); + if (GetSpriteTileStartByTag(TAG_LAST_BALL_WINDOW) == 0xFFFF) + FreeSpritePaletteByTag(TAG_ABILITY_POP_UP); DestroySprite(sprite); gBattleStruct->moveInfoSpriteId = MAX_SPRITES; }