From cc218d730cdeae9878a0a525090598e199c6bebf Mon Sep 17 00:00:00 2001 From: cawtds <38510667+cawtds@users.noreply.github.com> Date: Sun, 16 Mar 2025 23:37:14 +0100 Subject: [PATCH] finally fix registermon running out of heap space --- src/pokedex_screen.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c index 3d0d4e2e3..d4e424558 100644 --- a/src/pokedex_screen.c +++ b/src/pokedex_screen.c @@ -3057,6 +3057,9 @@ static u8 DexScreen_DrawMonDexPage(bool8 justRegistered) sPokedexScreenData->windowIds[1] = AddWindow(&sWindowTemplate_DexEntry_SpeciesStats); sPokedexScreenData->windowIds[2] = AddWindow(&sWindowTemplate_DexEntry_FlavorText); + // free category windows here to prevent running out of heap + DexScreen_DestroyCategoryPageMonIconAndInfoWindows(); + // Mon pic FillWindowPixelBuffer(sPokedexScreenData->windowIds[0], PIXEL_FILL(0)); DexScreen_LoadMonPicInWindow(sPokedexScreenData->windowIds[0], sPokedexScreenData->dexSpecies, 144); @@ -3530,12 +3533,8 @@ static void Task_DexScreen_RegisterMonToPokedex(u8 taskId) sPokedexScreenData->state = 8; break; case 8: - if (!IsDma3ManagerBusyWithBgCopy()) - { - FreeAllWindowBuffers(); // fixed crash after catching mon and pokedex is shown - DexScreen_DrawMonDexPage(TRUE); - sPokedexScreenData->state = 9; - } + DexScreen_DrawMonDexPage(TRUE); + sPokedexScreenData->state = 9; break; case 9: sPokedexScreenData->data[0] = 0;