From 730f6abe697022146dad6012797295dd607b3258 Mon Sep 17 00:00:00 2001 From: TimeServ Date: Tue, 18 Jul 2006 15:20:26 +0000 Subject: [PATCH] fix player frame/frame lerp with MVD git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2360 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/client/cl_ents.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/engine/client/cl_ents.c b/engine/client/cl_ents.c index 8299f2172..b42034d98 100644 --- a/engine/client/cl_ents.c +++ b/engine/client/cl_ents.c @@ -2661,7 +2661,7 @@ guess_pm_type: if (cl.lerpplayers[num].frame != state->frame) { cl.lerpplayers[num].oldframechange = cl.lerpplayers[num].framechange; - cl.lerpplayers[num].framechange = cl.time; + cl.lerpplayers[num].framechange = cl.servertime; cl.lerpplayers[num].frame = state->frame; //don't care about position interpolation. @@ -3575,6 +3575,13 @@ void MVD_Interpolate(void) state->velocity[j] = oldstate->velocity[j] + f * (pplayer->oldv[j] - oldstate->velocity[j]); } } + + if (cl.lerpplayers[i].frame != state->frame) + { + cl.lerpplayers[i].oldframechange = cl.lerpplayers[i].framechange; + cl.lerpplayers[i].framechange = demtime; + cl.lerpplayers[i].frame = state->frame; + } } }