From: havoc Date: Thu, 5 Apr 2007 10:31:42 +0000 (+0000) Subject: fix bug with cl_nolerp 1 that caused playdemo to play back at timedemo speeds X-Git-Tag: xonotic-v0.1.0preview~3364 X-Git-Url: https://de.git.xonotic.org/?a=commitdiff_plain;h=fa0a170a56a980db7b518d0771a7f695f37a5391;p=xonotic%2Fdarkplaces.git fix bug with cl_nolerp 1 that caused playdemo to play back at timedemo speeds git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@7055 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/cl_main.c b/cl_main.c index 090bc4c5..a159d684 100644 --- a/cl_main.c +++ b/cl_main.c @@ -892,11 +892,13 @@ void CL_UpdateNetworkEntity(entity_t *e, int recursionlimit, qboolean interpolat // also don't use the predicted location if fixangle was set on both of // the most recent server messages, as that cause means you are spectating // someone or watching a cutscene of some sort + if (cl_nolerp.integer || cls.timedemo) + interpolate = false; if (e == cl.entities + cl.playerentity && cl.movement_predicted && (!cl.fixangle[1] || !cl.fixangle[0])) { lerp = (cl.time - cl.movement_time[2]) / (cl.movement_time[0] - cl.movement_time[1]); lerp = bound(0, lerp, 1); - if (!interpolate || cl_nolerp.integer || cl.fixangle[0]) + if (!interpolate) lerp = 1; VectorLerp(cl.movement_oldorigin, lerp, cl.movement_origin, origin); VectorSet(angles, 0, cl.viewangles[1], 0); diff --git a/cl_parse.c b/cl_parse.c index d5cc1b47..857398c9 100644 --- a/cl_parse.c +++ b/cl_parse.c @@ -1620,7 +1620,7 @@ void CL_MoveLerpEntityStates(entity_t *ent) ent->persistent.muzzleflash = 0; VectorCopy(ent->state_current.origin, ent->persistent.trail_origin); } - else if (cls.timedemo || cl_nolerp.integer || DotProduct(odelta, odelta) > 1000*1000 || (cl.fixangle[0] && !cl.fixangle[1])) + else if (DotProduct(odelta, odelta) > 1000*1000 || (cl.fixangle[0] && !cl.fixangle[1])) { // don't interpolate the move // (the fixangle[] check detects teleports, but not constant fixangles @@ -2767,7 +2767,7 @@ qboolean CL_ExaminePrintString(const char *text) static void CL_NetworkTimeReceived(double newtime) { - if (cl_nolerp.integer || cls.timedemo || (cl.islocalgame && !sv_fixedframeratesingleplayer.integer)) + if (cls.timedemo || (cl.islocalgame && !sv_fixedframeratesingleplayer.integer)) cl.mtime[1] = cl.mtime[0] = newtime; else {