From 17a14208e25ec47cecf50ae108f3bf855c33e48b Mon Sep 17 00:00:00 2001 From: Eidolon Date: Wed, 3 Jan 2024 13:20:50 -0600 Subject: [PATCH] Interpolate challenges menu --- src/k_menudraw.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/k_menudraw.c b/src/k_menudraw.c index 55074227f..3c5d97f21 100644 --- a/src/k_menudraw.c +++ b/src/k_menudraw.c @@ -5962,7 +5962,7 @@ static void M_DrawChallengeTile(INT16 i, INT16 j, INT32 x, INT32 y, boolean hili if (challengesmenu.extradata[id].flip != 0 && challengesmenu.extradata[id].flip != (TILEFLIP_MAX/2)) { - angle_t bad = (FixedAngle((fixed_t)(challengesmenu.extradata[id].flip) * (360*FRACUNIT/TILEFLIP_MAX)) >> ANGLETOFINESHIFT) & FINEMASK; + angle_t bad = (FixedAngle(FixedMul(challengesmenu.extradata[id].flip * FRACUNIT + rendertimefrac, 360*FRACUNIT/TILEFLIP_MAX)) >> ANGLETOFINESHIFT) & FINEMASK; accordion = FINECOSINE(bad); if (accordion < 0) accordion = -accordion; @@ -6567,7 +6567,7 @@ static void M_DrawChallengePreview(INT32 x, INT32 y) K_drawButtonAnim(x, y, 0, kp_button_a[1], challengesmenu.ticker); x += SHORT(kp_button_a[1][0]->width); V_DrawThinString(x, y + 1, highlightflags, "Toggle"); - + break; } @@ -6822,10 +6822,14 @@ void M_DrawChallenges(void) { #define questionslow 4 // slows down the scroll by this factor #define questionloop (questionslow*100) // modulo - INT32 questionoffset = (challengesmenu.ticker % questionloop); + INT32 questionoffset; + double questionoffset_f; patch_t *bg = W_CachePatchName("BGUNLCKG", PU_CACHE); patch_t *qm = W_CachePatchName("BGUNLSC", PU_CACHE); + questionoffset_f = fmod(challengesmenu.ticker + FixedToFloat(rendertimefrac), questionloop); + questionoffset = floor(questionoffset_f); + // Background gradient V_DrawFixedPatch(0, 0, FRACUNIT, 0, bg, NULL);