mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-26 20:11:47 +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)
|
if (!onground)
|
||||||
{
|
{
|
||||||
fixed_t airspeedcap = (50*mapobjectscale);
|
const fixed_t airspeedcap = (50*mapobjectscale);
|
||||||
fixed_t speed = R_PointToDist2(0, 0, player->mo->momx, player->mo->momy);
|
const fixed_t speed = R_PointToDist2(0, 0, player->mo->momx, player->mo->momy);
|
||||||
|
|
||||||
if (speed > airspeedcap)
|
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->momx = FixedMul(FixedDiv(player->mo->momx, speed), newspeed);
|
||||||
player->mo->momy = FixedMul(FixedDiv(player->mo->momy, speed), newspeed);
|
player->mo->momy = FixedMul(FixedDiv(player->mo->momy, speed), newspeed);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue