X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=cl_main.c;h=538b19c511ab797ce5acefd7c1e74db7d527d530;hb=855932aeb5707c5efb2858c3e51b913d8203ebbe;hp=34a0b42f3e8aed6b24bd192d1b3cb618ed713b50;hpb=64862dc09ad40589b0c9c4ae82b771f465768e85;p=xonotic%2Fdarkplaces.git diff --git a/cl_main.c b/cl_main.c index 34a0b42f..538b19c5 100644 --- a/cl_main.c +++ b/cl_main.c @@ -466,9 +466,31 @@ void CL_RelinkEntities (void) if (ent->msgtime != cl.mtime[0]) { ent->model = NULL; + // LordHavoc: free on the same frame, not the next + if (ent->forcelink) + R_RemoveEfrags (ent); // just became empty continue; } + // LordHavoc: animation interpolation, note: framegroups partially override this in the renderer + /* + if (ent->model != ent->lerp_model || ent->lerp_time > cl.time) + { + ent->lerp_frame1 = ent->lerp_frame2 = ent->frame; + ent->lerp_time = cl.time; + ent->lerp = 0; + } + else if (ent->frame != ent->lerp_frame2) + { + ent->lerp_frame1 = ent->lerpframe2; + ent->lerp_frame2 = ent->frame; + ent->lerp_time = cl.time; + ent->lerp = 0; + } + else + ent->lerp = bound(0, (cl.time - ent->lerp_time) * 10.0f, 1); + */ + VectorCopy (ent->origin, oldorg); if (ent->forcelink)