mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-01-11 09:12:22 +00:00
M_DrawChallengeTile: Fix brief flickers of invalid side caused by interpolation
This commit is contained in:
parent
bc75a1702e
commit
ee76f539e9
1 changed files with 10 additions and 7 deletions
|
|
@ -6722,7 +6722,6 @@ static void M_DrawChallengeTile(INT16 i, INT16 j, INT32 x, INT32 y, UINT8 *flash
|
|||
fixed_t siz, accordion;
|
||||
UINT16 id, num;
|
||||
boolean unlockedyet;
|
||||
boolean categoryside;
|
||||
|
||||
id = (i * CHALLENGEGRIDHEIGHT) + j;
|
||||
num = gamedata->challengegrid[id];
|
||||
|
|
@ -6797,13 +6796,20 @@ static void M_DrawChallengeTile(INT16 i, INT16 j, INT32 x, INT32 y, UINT8 *flash
|
|||
|
||||
accordion = FRACUNIT;
|
||||
|
||||
if (challengesmenu.extradata[id].flip != 0
|
||||
boolean categoryside = (challengesmenu.extradata[id].flip == 0);
|
||||
|
||||
if (!categoryside // optimised, this is not the true value with anything but instaflip
|
||||
&& challengesmenu.extradata[id].flip != (TILEFLIP_MAX/2))
|
||||
{
|
||||
angle_t bad = (FixedAngle(FixedMul(challengesmenu.extradata[id].flip * FRACUNIT + rendertimefrac, 360*FRACUNIT/TILEFLIP_MAX)) >> ANGLETOFINESHIFT) & FINEMASK;
|
||||
accordion = FINECOSINE(bad);
|
||||
fixed_t bad = challengesmenu.extradata[id].flip * FRACUNIT + rendertimefrac;
|
||||
angle_t worse = (FixedAngle(FixedMul(bad, 360*FRACUNIT/TILEFLIP_MAX)) >> ANGLETOFINESHIFT) & FINEMASK;
|
||||
accordion = FINECOSINE(worse);
|
||||
if (accordion < 0)
|
||||
accordion = -accordion;
|
||||
|
||||
// NOW we set it in an interp-friendly way
|
||||
categoryside = (bad <= FRACUNIT*TILEFLIP_MAX/4
|
||||
|| bad > (3*FRACUNIT*TILEFLIP_MAX)/4);
|
||||
}
|
||||
|
||||
pat = W_CachePatchName(
|
||||
|
|
@ -6822,9 +6828,6 @@ static void M_DrawChallengeTile(INT16 i, INT16 j, INT32 x, INT32 y, UINT8 *flash
|
|||
|
||||
pat = missingpat;
|
||||
|
||||
categoryside = (challengesmenu.extradata[id].flip <= TILEFLIP_MAX/4
|
||||
|| challengesmenu.extradata[id].flip > (3*TILEFLIP_MAX)/4);
|
||||
|
||||
#ifdef DEVELOP
|
||||
if (cv_debugchallenges.value)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue