diff --git a/src/k_kart.c b/src/k_kart.c index cb0b3e12..88712f74 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -5032,8 +5032,9 @@ static INT16 K_GetKartDriftValue(player_t *player, fixed_t countersteer) INT16 K_GetKartTurnValue(player_t *player, INT16 turnvalue) { - fixed_t p_maxspeed = FixedMul(K_GetKartSpeed(player, false), 3*FRACUNIT); - fixed_t adjustangle = FixedDiv((p_maxspeed>>16) - (player->speed>>16), (p_maxspeed>>16) + player->kartweight); + fixed_t p_curspeed = min(player->speed, K_GetKartSpeed(player, false) * 2); + fixed_t p_maxspeed = K_GetKartSpeed(player, false) * 3; + fixed_t adjustangle = FixedDiv((p_maxspeed>>16) - (p_curspeed>>16), (p_maxspeed>>16) + player->kartweight); if (player->spectator) return turnvalue;