skip interpolation if tagentity changes
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 16 Feb 2009 18:09:53 +0000 (18:09 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 16 Feb 2009 18:09:53 +0000 (18:09 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8714 d7cf8633-e32d-0410-b094-e92efae38249

cl_parse.c

index 673a26f..c21a259 100644 (file)
@@ -1739,7 +1739,10 @@ void CL_MoveLerpEntityStates(entity_t *ent)
                ent->persistent.muzzleflash = 0;
                ent->persistent.trail_allowed = false;
        }
-       else if (DotProduct(odelta, odelta) > 1000*1000 || (cl.fixangle[0] && !cl.fixangle[1]))
+       else if (DotProduct(odelta, odelta) > 1000*1000
+               || (cl.fixangle[0] && !cl.fixangle[1])
+               || (ent->state_previous.tagindex != ent->state_current.tagindex)
+               || (ent->state_previous.tagentity != ent->state_current.tagentity))
        {
                // don't interpolate the move
                // (the fixangle[] check detects teleports, but not constant fixangles