From 7b4b590a8ed88fc517252948477ed50d2aab279d Mon Sep 17 00:00:00 2001
From: TimeServ <timeserv@users.sourceforge.net>
Date: Sun, 26 Feb 2006 07:29:27 +0000
Subject: [PATCH] interpolation needed more bounds checking

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2029 fc73d0e0-1445-4013-8a0c-d673dee63da5
---
 engine/client/cl_ents.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/engine/client/cl_ents.c b/engine/client/cl_ents.c
index 38cc6c5df..acac1625e 100644
--- a/engine/client/cl_ents.c
+++ b/engine/client/cl_ents.c
@@ -1598,8 +1598,13 @@ void CL_LinkPacketEntities (void)
 		else
 		{
 			ent->lerpfrac = 1-(servertime - le->framechange) / (le->framechange - le->oldframechange);
-			if (ent->lerpfrac < 0)
+			if (ent->lerpfrac > 1)
+				ent->lerpfrac = 1;
+			else if (ent->lerpfrac < 0)
+			{
 				ent->lerpfrac = 0;
+				//le->oldframechange = le->framechange;
+			}
 		}
 
 
@@ -2758,10 +2763,13 @@ void CL_LinkPlayers (void)
 		if (state->lerpstarttime)
 		{
 			ent->lerpfrac = 1-(realtime - state->lerpstarttime)*10;
-			if (ent->lerpfrac < 0)
-				ent->lerpfrac = 0;
 			if (ent->lerpfrac > 1)
 				ent->lerpfrac = 1;
+			else if (ent->lerpfrac < 0)
+			{
+				ent->lerpfrac = 0;
+				//state->lerpstarttime = 0;
+			}
 		}
 		else
 			ent->lerpfrac = 0;