mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-01-20 21:52:33 +00:00
Adjust air speed cap easing with bot rubberbanding
This commit is contained in:
parent
df099864b6
commit
e6e2cd5d82
1 changed files with 13 additions and 3 deletions
16
src/p_user.c
16
src/p_user.c
|
|
@ -4139,11 +4139,21 @@ static void P_3dMovement(player_t *player)
|
|||
|
||||
if (!onground)
|
||||
{
|
||||
fixed_t airspeedcap = (50*mapobjectscale);
|
||||
fixed_t speed = R_PointToDist2(0, 0, player->mo->momx, player->mo->momy);
|
||||
const fixed_t airspeedcap = (50*mapobjectscale);
|
||||
const fixed_t speed = R_PointToDist2(0, 0, player->mo->momx, player->mo->momy);
|
||||
|
||||
if (speed > airspeedcap)
|
||||
{
|
||||
fixed_t newspeed = speed - ((speed - airspeedcap) / 32);
|
||||
fixed_t div = 32*FRACUNIT;
|
||||
fixed_t newspeed;
|
||||
|
||||
if (K_PlayerUsesBotMovement(player))
|
||||
{
|
||||
div = FixedMul(div, K_BotRubberband(player));
|
||||
}
|
||||
|
||||
newspeed = speed - FixedDiv((speed - airspeedcap), div);
|
||||
|
||||
player->mo->momx = FixedMul(FixedDiv(player->mo->momx, speed), newspeed);
|
||||
player->mo->momy = FixedMul(FixedDiv(player->mo->momy, speed), newspeed);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue