From 2e57dd6212bd3998e76f357631c6ec88607e5db5 Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Mon, 2 Jun 2025 23:01:41 -0400 Subject: [PATCH] Fix edge cases in turn solver sliptide preservation --- src/p_user.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/p_user.c b/src/p_user.c index 5895b6cbc..a88981115 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -2371,15 +2371,15 @@ static void P_UpdatePlayerAngle(player_t *player) // Don't force another turning tic, just give them the desired angle! #endif - if (!(player->cmd.buttons & BT_DRIFT) && (abs(player->drift) == 1) && ((player->cmd.turning > 0) == (player->drift > 0)) && player->handleboost > SLIPTIDEHANDLING) + if (!(player->cmd.buttons & BT_DRIFT) && (abs(player->drift) == 1) && ((player->cmd.turning > 0) == (player->drift > 0)) && player->handleboost >= SLIPTIDEHANDLING) { // This drift release is eligible to start a sliptide. Don't do lag-compensation countersteer behavior that could destroy it! - if (player->cmd.turning >= 0) + if (player->cmd.turning > 0) { steeringLeft = max(steeringLeft, 1); steeringRight = max(steeringRight, steeringLeft); } - else if (player->cmd.turning <= 0) + else if (player->cmd.turning < 0) { steeringRight = min(steeringRight, -1); steeringLeft = min(steeringLeft, steeringRight);