From c2fadb25ea0ef28f3b316ea13fb735ebeeb0d106 Mon Sep 17 00:00:00 2001 From: minenice55 Date: Thu, 23 Apr 2026 18:50:35 -0400 Subject: [PATCH] re-tune null drift now that gravity is higher --- src/k_kart.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 071df601c..e58543461 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -9503,7 +9503,7 @@ static void K_HandleKartTilt(player_t *player) angulargravity = abs(lineargravity) * (P_IsObjectOnGround(player->mo) ? 12 : 5); // O = (linear velocity) / (distance from CoM) - angaccelgravity = FixedDiv(angulargravity, abs(FixedMul(player->mo->radius, FRACUNIT + abs(FINESINE(FixedAngle(player->karttilt)>>ANGLETOFINESHIFT))))); + angaccelgravity = FixedDiv(angulargravity, abs(FixedMul(player->mo->radius, FRACUNIT + abs(FSIN(FixedAngle(player->karttilt)))))); player->karttiltmomentum += angaccelgravity * -intsign(player->karttilt); if (abs(player->karttiltmomentum) >= PLAYERTILTMOMENTUMCAP) @@ -9818,12 +9818,12 @@ static void K_KartDrift(player_t *player, boolean onground) FV2_Normalize(&fwd); FV2_Normalize(&mov); - dot = FixedMul(CLAMP(abs(player->speed), 0, 32*mapobjectscale), FRACUNIT - abs(FV2_Dot(&fwd, &mov))); + dot = FixedMul(CLAMP(player->speed, 0, 42*mapobjectscale), FRACUNIT - abs(FV2_Dot(&fwd, &mov))); angularvelocity = FixedDiv(-dot * intsign(player->nulldrift), - abs(FixedMul(player->mo->height/2, FINECOSINE(FixedAngle(player->karttilt)>>ANGLETOFINESHIFT))) + abs(FixedMul(player->mo->height/2, FCOS(FixedAngle(player->karttilt)))) ); - angularvelocity = FixedMul(CLAMP(angularvelocity, -M_PI_FIXED, M_PI_FIXED), FINECOSINE(FixedAngle(2 * player->karttilt)>>ANGLETOFINESHIFT)); + angularvelocity = FixedMul(CLAMP(angularvelocity, -M_PI_FIXED, M_PI_FIXED), CLAMP(FCOS(FixedAngle(5 * player->karttilt / 2)), 0, FRACUNIT)); if (abs(player->karttiltmomentum) < abs(angularvelocity)) { player->karttiltmomentum = angularvelocity;