diff --git a/src/k_kart.c b/src/k_kart.c index df500c6ac..4e0508b33 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -2179,7 +2179,7 @@ void K_KartMoveAnimation(player_t *player) player->pflags |= PF_GAINAX; } } - else if (K_GetForwardMove(player) < 0 && destGlanceDir == 0) + else if (player->cmd.forwardmove < 0 && destGlanceDir == 0) { // Reversing -- like looking back, but doesn't stack on the other glances. if (player->glanceDir != 0) @@ -2997,6 +2997,11 @@ UINT16 K_GetKartButtons(player_t *player) SINT8 K_GetForwardMove(player_t *player) { SINT8 forwardmove = player->cmd.forwardmove; + + if ((player->exiting || mapreset)) + { + return 0; + } if ((player->pflags & PF_STASIS) || (player->carry == CR_SLIDING)) { @@ -5978,7 +5983,7 @@ static void K_UpdateEngineSounds(player_t *player) else { // Average out the value of forwardmove and the speed that you're moving at. - targetsnd = (((6 * K_GetForwardMove(player)) / 25) + ((player->speed / mapobjectscale) / 5)) / 2; + targetsnd = (((6 * player->cmd.forwardmove) / 25) + ((player->speed / mapobjectscale) / 5)) / 2; } if (targetsnd < 0) { targetsnd = 0; } @@ -8140,7 +8145,7 @@ static void K_AirFailsafe(player_t *player) return; } - if ((K_GetKartButtons(player) & BT_ACCELERATE) || K_GetForwardMove(player) != 0) + if ((K_GetKartButtons(player) & BT_ACCELERATE) || player->cmd.forwardmove != 0) { // Queue up later player->pflags |= PF_AIRFAILSAFE; diff --git a/src/p_user.c b/src/p_user.c index 7f014f3bb..69f3c7ba5 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -1791,10 +1791,7 @@ static void P_3dMovement(player_t *player) if (!player->pogospring) cmd->sidemove = 0; - if ((player->exiting || mapreset) || player->pflags & PF_STASIS || player->spinouttimer) // pw_introcam? - { - cmd->forwardmove = cmd->sidemove = 0; - } + cmd->forwardmove = K_GetForwardMove(player); // Get the old momentum; this will be needed at the end of the function! -SH oldMagnitude = R_PointToDist2(player->mo->momx - player->cmomx, player->mo->momy - player->cmomy, 0, 0); @@ -1882,10 +1879,10 @@ static void P_3dMovement(player_t *player) if (player->mo->movefactor != FRACUNIT) // Friction-scaled acceleration... movepushforward = FixedMul(movepushforward, player->mo->movefactor); - if (cmd->buttons & BT_BRAKE && (K_GetForwardMove(player) == 0)) // SRB2kart - braking isn't instant + if (cmd->buttons & BT_BRAKE && (player->cmd.forwardmove == 0)) // SRB2kart - braking isn't instant movepushforward /= 64; - if (K_GetForwardMove(player) > 0) + if (player->cmd.forwardmove > 0) player->brakestop = 0; else if (player->brakestop < 6) // Don't start reversing with brakes until you've made a stop first {