diff --git a/src/p_spec.c b/src/p_spec.c index 474f39db9..335c01ed6 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -2703,11 +2703,7 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha y = line->args[3] << FRACBITS; z = line->args[4] << FRACBITS; - P_UnsetThingPosition(mo); - mo->x += x; - mo->y += y; - mo->z += z; - P_SetThingPosition(mo); + P_SetOrigin(mo, mo->x + x, mo->y + y, mo->z + z); if (mo->player) { diff --git a/src/p_telept.c b/src/p_telept.c index d2028a1b1..85c6dc66d 100644 --- a/src/p_telept.c +++ b/src/p_telept.c @@ -163,6 +163,8 @@ boolean P_Teleport(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle P_ResetCamera(thing->player, &camera[i]); } + R_ResetViewInterpolation(1 + i); + break; } }