diff --git a/src/p_user.c b/src/p_user.c index 26b60e76..ff95537e 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -4952,8 +4952,9 @@ static void P_NightsTransferPoints(player_t *player, fixed_t xspeed, fixed_t rad else { const angle_t fa = player->angle_pos>>ANGLETOFINESHIFT; - player->mo->momx = player->mo->target->x + FixedMul(FINECOSINE(fa),radius) - player->mo->x; - player->mo->momy = player->mo->target->y + FixedMul(FINESINE(fa),radius) - player->mo->y; + const angle_t faold = player->old_angle_pos>>ANGLETOFINESHIFT; + player->mo->momx = FixedMul(FINECOSINE(fa),radius) - FixedMul(FINECOSINE(faold),radius); + player->mo->momy = FixedMul(FINESINE(fa),radius) - FixedMul(FINESINE(faold),radius); } if (player->exiting)