mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Challenge Preview for SECRET_ALTMUSIC: Consistency
- Since we're only using 50% of rollangle steps at 35fps, we can smooth it out under interp conditions like the flipping tile - Don't grey out the text/stop the button animation for the input prompt, since pressing it again will stop the music, whereas grey text on Drivers/Followers/Colors means no function - Keep the tile flipping even when not hovered over
This commit is contained in:
parent
d98b88a61f
commit
a7f119328e
2 changed files with 21 additions and 7 deletions
|
|
@ -7698,8 +7698,15 @@ static void M_DrawChallengePreview(INT32 x, INT32 y)
|
||||||
if (pushed != 0)
|
if (pushed != 0)
|
||||||
{
|
{
|
||||||
rollangle = (Music_Elapsed(tune) % (ROTANGLES/2))*2;
|
rollangle = (Music_Elapsed(tune) % (ROTANGLES/2))*2;
|
||||||
|
if (rendertimefrac >= FRACUNIT/2)
|
||||||
|
{
|
||||||
|
// A fun interp ability: inbetweens
|
||||||
|
rollangle++;
|
||||||
|
}
|
||||||
if (pushed > 0)
|
if (pushed > 0)
|
||||||
|
{
|
||||||
rollangle = ((ROTANGLES-1) - rollangle);
|
rollangle = ((ROTANGLES-1) - rollangle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -7732,8 +7739,8 @@ static void M_DrawChallengePreview(INT32 x, INT32 y)
|
||||||
K_DrawGameControl(
|
K_DrawGameControl(
|
||||||
x, y, 0,
|
x, y, 0,
|
||||||
(pushed < 0)
|
(pushed < 0)
|
||||||
? "<l_pressed> <gray>E Stop"
|
? "<l_animated> <magenta>E Stop"
|
||||||
: "<l> <magenta>E Side",
|
: "<l_animated> <magenta>E Side",
|
||||||
0, TINY_FONT, 0
|
0, TINY_FONT, 0
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -7745,8 +7752,8 @@ static void M_DrawChallengePreview(INT32 x, INT32 y)
|
||||||
K_DrawGameControl(
|
K_DrawGameControl(
|
||||||
x, y, 0,
|
x, y, 0,
|
||||||
(pushed > 0)
|
(pushed > 0)
|
||||||
? "<a_pressed> <gray>Stop CD"
|
? "<a_animated> <sky>Stop CD"
|
||||||
: "<a> <sky>Play CD",
|
: "<a_animated> <sky>Play CD",
|
||||||
0, TINY_FONT, 0
|
0, TINY_FONT, 0
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -596,12 +596,19 @@ void M_ChallengesTick(void)
|
||||||
{
|
{
|
||||||
UINT16 id = (challengesmenu.hilix * CHALLENGEGRIDHEIGHT) + challengesmenu.hiliy;
|
UINT16 id = (challengesmenu.hilix * CHALLENGEGRIDHEIGHT) + challengesmenu.hiliy;
|
||||||
boolean seeeveryone = challengesmenu.requestflip;
|
boolean seeeveryone = challengesmenu.requestflip;
|
||||||
boolean allthewaythrough;
|
boolean allthewaythrough = allthewaythrough = (!seeeveryone && !challengesmenu.pending);
|
||||||
|
|
||||||
UINT8 maxflip;
|
UINT8 maxflip;
|
||||||
|
|
||||||
|
if (id == challengesmenu.nowplayingtile)
|
||||||
|
{
|
||||||
|
// Don't permit the active song to stop spinning
|
||||||
|
id = UINT16_MAX;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < (CHALLENGEGRIDHEIGHT * gamedata->challengegridwidth); i++)
|
for (i = 0; i < (CHALLENGEGRIDHEIGHT * gamedata->challengegridwidth); i++)
|
||||||
{
|
{
|
||||||
allthewaythrough = (!seeeveryone && !challengesmenu.pending && i != id);
|
maxflip = ((allthewaythrough && i != id) ? TILEFLIP_MAX : (TILEFLIP_MAX/2));
|
||||||
maxflip = (allthewaythrough ? TILEFLIP_MAX : (TILEFLIP_MAX/2));
|
|
||||||
if ((seeeveryone || (i == id) || (i == challengesmenu.nowplayingtile) || (challengesmenu.extradata[i].flip > 0))
|
if ((seeeveryone || (i == id) || (i == challengesmenu.nowplayingtile) || (challengesmenu.extradata[i].flip > 0))
|
||||||
&& (challengesmenu.extradata[i].flip != maxflip))
|
&& (challengesmenu.extradata[i].flip != maxflip))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue