From 6abd75b05543bdad9b3f9a17dd878b8ba50ae8f2 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 26 Mar 2024 17:23:57 +0100 Subject: [PATCH] fix broken battle arena gfx (#4307) --- src/battle_main.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/battle_main.c b/src/battle_main.c index e023080d3e..24e3627e59 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3250,6 +3250,17 @@ static void BattleMainCB1(void) gBattlerControllerFuncs[battler](battler); } +static void ClearSetBScriptingStruct(void) +{ + // windowsType is set up earlier in BattleInitBgsAndWindows, so we need to save the value + u32 temp = gBattleScripting.windowsType; + memset(&gBattleScripting, 0, sizeof(gBattleScripting)); + + gBattleScripting.windowsType = temp; + gBattleScripting.battleStyle = gSaveBlock2Ptr->optionsBattleStyle; + gBattleScripting.expOnCatch = (B_EXP_CATCH >= GEN_6); +} + static void BattleStartClearSetData(void) { s32 i; @@ -3263,10 +3274,7 @@ static void BattleStartClearSetData(void) memset(&gSideTimers, 0, sizeof(gSideTimers)); memset(&gWishFutureKnock, 0, sizeof(gWishFutureKnock)); memset(&gBattleResults, 0, sizeof(gBattleResults)); - memset(&gBattleScripting, 0, sizeof(gBattleScripting)); - - gBattleScripting.battleStyle = gSaveBlock2Ptr->optionsBattleStyle; - gBattleScripting.expOnCatch = (B_EXP_CATCH >= GEN_6); + ClearSetBScriptingStruct(); for (i = 0; i < MAX_BATTLERS_COUNT; i++) {