mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Judder on incomplete fill for rank-based progression to Sealed Star
- Cleaner handling of player arrow position through addition rather than overwrite - Cleaner inputs to FixedDiv
This commit is contained in:
parent
9fca550ab6
commit
5a20a4756f
1 changed files with 23 additions and 13 deletions
|
|
@ -83,7 +83,7 @@ typedef struct
|
||||||
boolean showrank; // show rank-restricted queue entry at the end, if it exists
|
boolean showrank; // show rank-restricted queue entry at the end, if it exists
|
||||||
boolean encore; // encore mode
|
boolean encore; // encore mode
|
||||||
|
|
||||||
tic_t linemeter; // For GP only
|
INT32 linemeter; // For GP only
|
||||||
} y_data;
|
} y_data;
|
||||||
|
|
||||||
static y_data data;
|
static y_data data;
|
||||||
|
|
@ -814,6 +814,12 @@ skiptallydrawer:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (roundqueue.position == i+1)
|
||||||
|
{
|
||||||
|
playerx = x;
|
||||||
|
playery = y;
|
||||||
|
}
|
||||||
|
|
||||||
if (choose_line != NULL)
|
if (choose_line != NULL)
|
||||||
{
|
{
|
||||||
// Draw the line to the right of the dot
|
// Draw the line to the right of the dot
|
||||||
|
|
@ -856,20 +862,30 @@ skiptallydrawer:
|
||||||
else if (roundqueue.position == roundqueue.size-1
|
else if (roundqueue.position == roundqueue.size-1
|
||||||
&& timer <= 2*TICRATE)
|
&& timer <= 2*TICRATE)
|
||||||
{
|
{
|
||||||
|
const INT32 through = ((2*TICRATE) - (timer - 1));
|
||||||
const fixed_t percent = FixedDiv(
|
const fixed_t percent = FixedDiv(
|
||||||
min(
|
min( data.linemeter, through ) * FRACUNIT,
|
||||||
data.linemeter,
|
|
||||||
((2*TICRATE) - (timer - 1))
|
|
||||||
) * FRACUNIT,
|
|
||||||
(2*TICRATE) * FRACUNIT
|
(2*TICRATE) * FRACUNIT
|
||||||
);
|
);
|
||||||
|
|
||||||
playerx = x +
|
playerx +=
|
||||||
FixedMul(
|
FixedMul(
|
||||||
(x2 - x) * FRACUNIT,
|
(x2 - x) * FRACUNIT,
|
||||||
percent
|
percent
|
||||||
) / FRACUNIT;
|
) / FRACUNIT;
|
||||||
playery = y;
|
|
||||||
|
if (timer > 2)
|
||||||
|
{
|
||||||
|
// Small judder
|
||||||
|
if (through == (data.linemeter + 1))
|
||||||
|
{
|
||||||
|
playerx++;
|
||||||
|
}
|
||||||
|
else if (through == (data.linemeter + 2))
|
||||||
|
{
|
||||||
|
playerx--;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Special background bump
|
// Special background bump
|
||||||
|
|
@ -935,12 +951,6 @@ skiptallydrawer:
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (roundqueue.position == i+1 && playery == 0)
|
|
||||||
{
|
|
||||||
playerx = x;
|
|
||||||
playery = y;
|
|
||||||
}
|
|
||||||
|
|
||||||
x += 24;
|
x += 24;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue