]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_input.c
added collision.c, cl_collision.c. collision.h, cl_collision.h
[xonotic/darkplaces.git] / cl_input.c
index 11975ce4999f120b6d4760e1a804a32e5acb801c..e5f6e2e50fd1922bd96fdca01b8b1e51fba184dd 100644 (file)
@@ -261,7 +261,6 @@ void CL_AdjustAngles (void)
        {
                cl.viewangles[YAW] -= speed*cl_yawspeed.value*CL_KeyState (&in_right);
                cl.viewangles[YAW] += speed*cl_yawspeed.value*CL_KeyState (&in_left);
-               cl.viewangles[YAW] = ANGLEMOD(cl.viewangles[YAW]);
        }
        if (in_klook.state & 1)
        {
@@ -279,18 +278,18 @@ void CL_AdjustAngles (void)
        if (up || down)
                V_StopPitchDrift ();
 
-       // LordHavoc: changed from 80 to 90 (straight up)
-       if (cl.viewangles[PITCH] > 90)
-               cl.viewangles[PITCH] = 90;
-       // LordHavoc: changed from -70 to -90 (straight down)
-       if (cl.viewangles[PITCH] < -90)
-               cl.viewangles[PITCH] = -90;
-
-       if (cl.viewangles[ROLL] > 50)
-               cl.viewangles[ROLL] = 50;
-       if (cl.viewangles[ROLL] < -50)
-               cl.viewangles[ROLL] = -50;
-               
+       cl.viewangles[YAW] = ANGLEMOD(cl.viewangles[YAW]);
+       cl.viewangles[PITCH] = ANGLEMOD(cl.viewangles[PITCH]);
+       cl.viewangles[ROLL] = ANGLEMOD(cl.viewangles[ROLL]);
+       if (cl.viewangles[YAW] >= 180)
+               cl.viewangles[YAW] -= 360;
+       if (cl.viewangles[PITCH] >= 180)
+               cl.viewangles[PITCH] -= 360;
+       if (cl.viewangles[ROLL] >= 180)
+               cl.viewangles[ROLL] -= 360;
+
+       cl.viewangles[PITCH] = bound (in_pitch_min.value, cl.viewangles[PITCH], in_pitch_max.value);
+       cl.viewangles[ROLL] = bound(-50, cl.viewangles[ROLL], 50);
 }
 
 /*
@@ -350,7 +349,7 @@ void CL_SendMove (usercmd_t *cmd)
        int             i;
        int             bits;
        sizebuf_t       buf;
-       byte    data[128];
+       qbyte   data[128];
        static double lastmovetime;
        static float forwardmove, sidemove, upmove, total; // accumulation
 
@@ -372,7 +371,7 @@ void CL_SendMove (usercmd_t *cmd)
        buf.maxsize = 128;
        buf.cursize = 0;
        buf.data = data;
-       
+
        cl.cmd = *cmd;
 
 //
@@ -382,7 +381,12 @@ void CL_SendMove (usercmd_t *cmd)
 
        MSG_WriteFloat (&buf, cl.mtime[0]);     // so server can get ping times
 
-       if (dpprotocol)
+       if (dpprotocol == DPPROTOCOL_VERSION2 || dpprotocol == DPPROTOCOL_VERSION3)
+       {
+               for (i = 0;i < 3;i++)
+                       MSG_WriteFloat (&buf, cl.viewangles[i]);
+       }
+       else if (dpprotocol == DPPROTOCOL_VERSION1)
        {
                for (i=0 ; i<3 ; i++)
                        MSG_WritePreciseAngle (&buf, cl.viewangles[i]);