Merge branch 'twerk-b-gone' into 'master'

One fastfall per input

See merge request KartKrew/Kart!1253
This commit is contained in:
Sal 2023-05-26 22:53:17 +00:00
commit 94b2deb4de
2 changed files with 6 additions and 0 deletions

View file

@ -108,6 +108,7 @@ typedef enum
PF_SHRINKACTIVE = 1<<29, // "Shrink me" cheat is in effect. (Can't be disabled mid-race)
PF_VOID = 1<<30, // Removed from reality! When leaving hitlag, reenable visibility+collision and kill speed.
PF_NOFASTFALL = 1<<31, // Has already done ebrake/fastfall behavior for this input. Fastfalling needs a new input to prevent unwanted bounces on unexpected airtime.
// up to 1<<31 is free
} pflags_t;

View file

@ -10095,6 +10095,7 @@ static void K_KartSpindash(player_t *player)
if (K_PlayerEBrake(player) == false)
{
player->spindash = 0;
player->pflags &= ~PF_NOFASTFALL;
return;
}
@ -10106,6 +10107,8 @@ static void K_KartSpindash(player_t *player)
}
else if (onGround == false)
{
if (player->pflags & PF_NOFASTFALL)
return;
// Update fastfall.
player->fastfall = player->mo->momz;
player->spindash = 0;
@ -10124,6 +10127,8 @@ static void K_KartSpindash(player_t *player)
return;
}
player->pflags |= PF_NOFASTFALL;
if (player->speed == 0 && player->steering != 0 && leveltime % 8 == 0)
{
// Rubber burn turn sfx