diff --git a/src/p_loop.c b/src/p_loop.c index 815a6aa61..12ef3d714 100644 --- a/src/p_loop.c +++ b/src/p_loop.c @@ -160,13 +160,18 @@ boolean P_PlayerOrbit(player_t *player) left = (s->max_revolution - s->revolution); - if (abs(left) < abs(step)) + if (left == 0) { P_ExitPlayerOrbit(player); return false; } + if (abs(left) < abs(step)) + { + step = left; + } + // If player slows down by too much, throw them out of // the loop in a tumble. if (player->speed < player->mo->scale)