From 92b6f8bb500af6a54d9902de25f9884c4d8516d4 Mon Sep 17 00:00:00 2001 From: toaster Date: Sat, 27 Oct 2018 21:41:45 +0100 Subject: [PATCH] Fix the issue with sliding I identified this morning. Also, apply it to being in a zoom tube, too! For extra forwards compatibility with all the terrible SRB2 Riders ports that are almost an inevitability. --- src/p_user.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/p_user.c b/src/p_user.c index ac4847e7b..ef214e4f8 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -6652,7 +6652,13 @@ static void P_MovePlayer(player_t *player) if (player->mo->state != &states[S_KART_SQUISH]) P_SetPlayerMobjState(player->mo, S_KART_SQUISH); } - else if (player->kartstuff[k_spinouttimer] > 0 || player->pflags & PF_SLIDING) + else if ((player->pflags & PF_SLIDING) || (player->mo->tracer && player->mo->tracer->type == MT_TUBEWAYPOINT)) + { + if (player->mo->state != &states[S_KART_SPIN]) + P_SetPlayerMobjState(player->mo, S_KART_SPIN); + player->frameangle -= ANGLE_22h; + } + else if (player->kartstuff[k_spinouttimer] > 0) { INT32 speed = max(1, min(8, player->kartstuff[k_spinouttimer]/8));