]> de.git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
moved interpolation of viewangles when playing back demos or spectating someone to...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 2 Feb 2007 14:39:13 +0000 (14:39 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 2 Feb 2007 14:39:13 +0000 (14:39 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6772 d7cf8633-e32d-0410-b094-e92efae38249

cl_main.c
view.c

index 9380a58e2a771d4e36589906a0b5c6b038410a06..3086515dfb86f80d127afeca24e5c9375825d3c9 100644 (file)
--- a/cl_main.c
+++ b/cl_main.c
@@ -1473,6 +1473,20 @@ void CL_LerpPlayer(float frac)
                cl.punchvector[i] = cl.mpunchvector[1][i] + frac * (cl.mpunchvector[0][i] - cl.mpunchvector[1][i]);
                cl.velocity[i] = cl.mvelocity[1][i] + frac * (cl.mvelocity[0][i] - cl.mvelocity[1][i]);
        }
+
+       // interpolate the angles if playing a demo or spectating someone
+       if (cls.demoplayback || cl.fixangle[0])
+       {
+               for (i = 0;i < 3;i++)
+               {
+                       float d = cl.mviewangles[0][i] - cl.mviewangles[1][i];
+                       if (d > 180)
+                               d -= 360;
+                       else if (d < -180)
+                               d += 360;
+                       cl.viewangles[i] = cl.mviewangles[1][i] + frac * d;
+               }
+       }
 }
 
 void CSQC_RelinkAllEntities (int drawmask)
diff --git a/view.c b/view.c
index c3ccb51fc12c5b060582f190c98ef4ee7d32ea49..002819125fba21f9a60379b678b495884de6effb 100644 (file)
--- a/view.c
+++ b/view.c
@@ -369,21 +369,6 @@ void V_CalcRefdef (void)
                oldz = vieworg[2];
                cl.stairoffset = bound(-16, cl.stairoffset, 16);
 
-               // interpolate the angles if playing a demo or spectating someone
-               if (cls.demoplayback || cl.fixangle[0])
-               {
-                       int i;
-                       float frac = bound(0, (cl.time - cl.mtime[1]) / (cl.mtime[0] - cl.mtime[1]), 1);
-                       for (i = 0;i < 3;i++)
-                       {
-                               float d = cl.mviewangles[0][i] - cl.mviewangles[1][i];
-                               if (d > 180)
-                                       d -= 360;
-                               else if (d < -180)
-                                       d += 360;
-                               viewangles[i] = cl.mviewangles[1][i] + frac * d;
-                       }
-               }
                if (cl.intermission)
                {
                        // entity is a fixed camera, just copy the matrix