From 054bbd7745a17e94f81500c42ab12a612f595b82 Mon Sep 17 00:00:00 2001 From: toaster <rollerorbital@gmail.com> Date: Thu, 27 Oct 2022 13:36:14 +0100 Subject: [PATCH] Fix undesired interpolation for regular teleport --- src/p_telept.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/p_telept.c b/src/p_telept.c index 418965625..7c9da2269 100644 --- a/src/p_telept.c +++ b/src/p_telept.c @@ -17,6 +17,7 @@ #include "r_state.h" #include "s_sound.h" #include "r_main.h" +#include "r_fps.h" /** \brief The P_MixUp function @@ -149,25 +150,17 @@ boolean P_Teleport(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z, angle_t angle thing->reactiontime = TICRATE/2; // don't move for about half a second // absolute angle position - if (thing == players[consoleplayer].mo) - localangle[0] = angle; - else if (splitscreen) - { - for (i = 1; i <= splitscreen; i++) - { - if (thing == players[displayplayers[i]].mo) - { - localangle[i] = angle; - break; - } - } - } - // move chasecam at new player location for (i = 0; i <= splitscreen; i++) { - if (thing->player == &players[displayplayers[i]] && camera[i].chase) - P_ResetCamera(thing->player, &camera[i]); + if (thing->player == &players[displayplayers[i]]) + { + localangle[i] = angle; + if (camera[i].chase) + P_ResetCamera(thing->player, &camera[i]); + R_ResetViewInterpolation(i + 1); + break; + } } // don't run in place after a teleport -- GitLab