Merge branch 'kix' into 'master'

Block disabling Kickstart Accel during Tricks and when pressing Spindash (resolves #96)

Closes #96

See merge request KartKrew/RingRacers!20
This commit is contained in:
Eidolon 2024-05-19 19:30:32 +00:00
commit 5887f4418b

View file

@ -2220,7 +2220,7 @@ static INT16 P_FindClosestTurningForAngle(player_t *player, INT32 targetAngle, I
// Slightly frumpy binary search for the ideal turning input.
// We do this instead of reversing K_GetKartTurnValue so that future handling changes are automatically accounted for.
while (attempts++ < 20) // Practical calls of this function search maximum 10 times, this is solely for safety.
{
// These need to be treated as signed, or situations where boundaries straddle 0 are a mess.
@ -2341,7 +2341,7 @@ static void P_UpdatePlayerAngle(player_t *player)
// Corrections via fake turn go through easing.
// That means undoing them takes the same amount of time as doing them.
// This can lead to oscillating death spiral states on a multi-tic correction, as we swing past the target angle.
// So before we go into death-spirals, if our predicton is _almost_ right...
// So before we go into death-spirals, if our predicton is _almost_ right...
angle_t leniency_base;
if (G_CompatLevel(0x000A))
{
@ -2450,7 +2450,7 @@ void P_MovePlayer(player_t *player)
//////////////////////
P_UpdatePlayerAngle(player);
ticruned++;
if (!(cmd->flags & TICCMD_RECEIVED))
ticmiss++;
@ -4255,7 +4255,7 @@ void P_PlayerThink(player_t *player)
}
else if (cmd->buttons & BT_ACCELERATE)
{
if (!player->exiting && !(player->oldcmd.buttons & BT_ACCELERATE))
if (!player->exiting && !(player->oldcmd.buttons & BT_ACCELERATE) && ((cmd->buttons & BT_SPINDASHMASK) != BT_SPINDASHMASK) && player->trickpanel != TRICKSTATE_READY)
{
player->kickstartaccel = 0;
}
@ -4550,7 +4550,7 @@ void P_PlayerThink(player_t *player)
{
player->stairjank--;
}
// Random skin / "ironman"
{
UINT32 skinflags = (demo.playback)