Set WipeInAction in D_WipeLoop, don't run scoreboard/cecho/etc during wipes

This commit is contained in:
GenericHeroGuy 2025-03-29 00:04:16 +01:00
parent 7a3a1586a1
commit 05f08ef5cb
3 changed files with 10 additions and 3 deletions

View file

@ -849,6 +849,8 @@ void D_WipeLoop(wipelooptype_t type, UINT8 wipetype, boolean drawMenu)
if (gamestate != GS_TITLESCREEN && gamestate != GS_TIMEATTACK)
drawMenu = true;
WipeInAction = true;
// lastwipetic should either be 0 or the tic we last wiped
// on for fade-to-black
while (nowtime < endtime)
@ -906,6 +908,8 @@ void D_WipeLoop(wipelooptype_t type, UINT8 wipetype, boolean drawMenu)
delta = D_EndFrame(enterprecise, NULL);
lastwipetic = nowtime;
}
WipeInAction = false;
}
// =========================================================================

View file

@ -362,12 +362,9 @@ void F_RunWipe(UINT8 wipetype, boolean drawMenu)
paldiv = FixedDiv(257<<FRACBITS, 11<<FRACBITS);
// Init the wipe
WipeInAction = true;
wipe_scr = screens[0];
D_WipeLoop(WIPELOOP_RUNWIPE, wipetype, drawMenu);
WipeInAction = false;
#endif
}

View file

@ -1083,6 +1083,9 @@ void HU_Ticker(void)
}
}
if (WipeInAction)
return;
if (cechotimer)
cechotimer--;
@ -2136,6 +2139,9 @@ void HU_Drawer(void)
HU_drawMiniChat(); // draw messages in a cool fashion.
}
if (WipeInAction)
return;
if (cechotimer)
HU_DrawCEcho();