Fix blinking of drawing Tower of Babel on intermission screen (#1649)

This commit is contained in:
Julia Nechaevskaya 2024-04-20 11:24:24 +03:00 committed by GitHub
parent 4b2456c96c
commit 22f0d059b3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -589,10 +589,10 @@ WI_drawOnLnode // draw stuff at a location by episode/map#
// ==================================================================== // ====================================================================
// WI_initAnimatedBack // WI_initAnimatedBack
// Purpose: Initialize pointers and styles for background animation // Purpose: Initialize pointers and styles for background animation
// Args: none // Args: firstcall -- [Woof!] check if animations needs to be reset
// Returns: void // Returns: void
// //
static void WI_initAnimatedBack(void) static void WI_initAnimatedBack(boolean firstcall)
{ {
int i; int i;
anim_t* a; anim_t* a;
@ -613,6 +613,10 @@ static void WI_initAnimatedBack(void)
a = &anims[wbs->epsd][i]; a = &anims[wbs->epsd][i];
// init variables // init variables
// [Woof!] Do not reset animation timers upon switching to "Entering" state
// via WI_initShowNextLoc. Fixes notable blinking of Tower of Babel drawing
// and the rest of animations from being restarted.
if (firstcall)
a->ctr = -1; a->ctr = -1;
// specify the next time to draw it // specify the next time to draw it
@ -1014,7 +1018,7 @@ static void WI_initShowNextLoc(void)
acceleratestage = 0; acceleratestage = 0;
cnt = SHOWNEXTLOCDELAY * TICRATE; cnt = SHOWNEXTLOCDELAY * TICRATE;
WI_initAnimatedBack(); WI_initAnimatedBack(false);
} }
@ -1168,7 +1172,7 @@ static void WI_initDeathmatchStats(void)
dm_totals[i] = 0; dm_totals[i] = 0;
} }
} }
WI_initAnimatedBack(); WI_initAnimatedBack(true);
} }
@ -1409,7 +1413,7 @@ static void WI_initNetgameStats(void)
dofrags = !!dofrags; // set to true or false - did we have frags? dofrags = !!dofrags; // set to true or false - did we have frags?
WI_initAnimatedBack(); WI_initAnimatedBack(true);
} }
@ -1664,7 +1668,7 @@ static void WI_initStats(void)
cnt_time = cnt_par = cnt_total_time = -1; cnt_time = cnt_par = cnt_total_time = -1;
cnt_pause = TICRATE; cnt_pause = TICRATE;
WI_initAnimatedBack(); WI_initAnimatedBack(true);
} }
// ==================================================================== // ====================================================================