From 9b16204705fce7bd7c2ae6ee011642b5769c29ca Mon Sep 17 00:00:00 2001 From: FosterProgramming Date: Tue, 18 Nov 2025 17:50:15 +0100 Subject: [PATCH] Fix not enough memory being allocated when moves load background in contests (#8284) --- src/battle_anim.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/battle_anim.c b/src/battle_anim.c index 76e37b7eea..839f319031 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -13,6 +13,7 @@ #include "graphics.h" #include "main.h" #include "malloc.h" +#include "menu.h" #include "m4a.h" #include "palette.h" #include "pokemon.h" @@ -1568,10 +1569,7 @@ void LoadMoveBg(u16 bgId) { if (IsContest()) { - void *decompressionBuffer = Alloc(0x800); - const u32 *tilemap = gBattleAnimBackgroundTable[bgId].tilemap; - - DecompressDataWithHeaderWram(tilemap, decompressionBuffer); + void *decompressionBuffer = malloc_and_decompress(gBattleAnimBackgroundTable[bgId].tilemap, NULL); RelocateBattleBgPal(GetBattleBgPaletteNum(), decompressionBuffer, 0x100, FALSE); DmaCopy32(3, decompressionBuffer, (void *)BG_SCREEN_ADDR(26), 0x800); DecompressDataWithHeaderVram(gBattleAnimBackgroundTable[bgId].image, (void *)BG_SCREEN_ADDR(4));