From: havoc Date: Sat, 20 Nov 2004 09:25:49 +0000 (+0000) Subject: fix the unintentional framegroup timing reset that happened when the .frame field... X-Git-Tag: xonotic-v0.1.0preview~5362 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=95d7dbf88303b0a0ca460a0b4ed26012328366f5;p=xonotic%2Fdarkplaces.git fix the unintentional framegroup timing reset that happened when the .frame field changed after more than 100ms since the previous change (this was causing corpses to suddenly stand up and then fall down quickly in Nexuiz) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4774 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/cl_main.c b/cl_main.c index efbdc0a1..6ecfefb1 100644 --- a/cl_main.c +++ b/cl_main.c @@ -619,7 +619,10 @@ void CL_LinkNetworkEntity(entity_t *e) e->render.framelerp = 1; if (e->render.frame2time > e->render.frame1time) { - e->render.framelerp = (cl.time - e->render.frame2time) / (e->render.frame2time - e->render.frame1time); + // make sure frame lerp won't last longer than 100ms + // (this mainly helps with models that use framegroups and + // switch between them infrequently) + e->render.framelerp = (cl.time - e->render.frame2time) / min(e->render.frame2time - e->render.frame1time, 0.1); e->render.framelerp = bound(0, e->render.framelerp, 1); } } @@ -631,10 +634,6 @@ void CL_LinkNetworkEntity(entity_t *e) e->render.frame = e->render.frame2 = e->state_current.frame; e->render.frame2time = cl.time; e->render.framelerp = 0; - // make sure frame lerp won't last longer than 100ms - // (this mainly helps with models that use framegroups and - // switch between them infrequently) - e->render.frame1time = max(e->render.frame1time, e->render.frame2time - 0.1f); } R_LerpAnimation(&e->render);