]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_input.c
fix for grenades sinking into brush model floor in start.bsp
[xonotic/darkplaces.git] / cl_input.c
index 0943007dc259b27e23fee07af3b6490e01481f8d..21d79bec87286298ffb3d4d666434d513be6f5a7 100644 (file)
@@ -119,10 +119,11 @@ void KeyUp (kbutton_t *b)
 void IN_KLookDown (void) {KeyDown(&in_klook);}
 void IN_KLookUp (void) {KeyUp(&in_klook);}
 void IN_MLookDown (void) {KeyDown(&in_mlook);}
-void IN_MLookUp (void) {
-KeyUp(&in_mlook);
-if ( !(in_mlook.state&1) &&  lookspring.value)
-       V_StartPitchDrift();
+void IN_MLookUp (void)
+{
+       KeyUp(&in_mlook);
+       if ( !(in_mlook.state&1) && lookspring.value)
+               V_StartPitchDrift();
 }
 void IN_UpDown(void) {KeyDown(&in_up);}
 void IN_UpUp(void) {KeyUp(&in_up);}
@@ -154,12 +155,18 @@ void IN_AttackDown(void) {KeyDown(&in_attack);}
 void IN_AttackUp(void) {KeyUp(&in_attack);}
 
 // LordHavoc: added 6 new buttons
-void IN_Button3Down(void) {KeyDown(&in_button3);} void IN_Button3Up(void) {KeyUp(&in_button3);}
-void IN_Button4Down(void) {KeyDown(&in_button4);} void IN_Button4Up(void) {KeyUp(&in_button4);}
-void IN_Button5Down(void) {KeyDown(&in_button5);} void IN_Button5Up(void) {KeyUp(&in_button5);}
-void IN_Button6Down(void) {KeyDown(&in_button6);} void IN_Button6Up(void) {KeyUp(&in_button6);}
-void IN_Button7Down(void) {KeyDown(&in_button7);} void IN_Button7Up(void) {KeyUp(&in_button7);}
-void IN_Button8Down(void) {KeyDown(&in_button8);} void IN_Button8Up(void) {KeyUp(&in_button8);}
+void IN_Button3Down(void) {KeyDown(&in_button3);}
+void IN_Button3Up(void) {KeyUp(&in_button3);}
+void IN_Button4Down(void) {KeyDown(&in_button4);}
+void IN_Button4Up(void) {KeyUp(&in_button4);}
+void IN_Button5Down(void) {KeyDown(&in_button5);}
+void IN_Button5Up(void) {KeyUp(&in_button5);}
+void IN_Button6Down(void) {KeyDown(&in_button6);}
+void IN_Button6Up(void) {KeyUp(&in_button6);}
+void IN_Button7Down(void) {KeyDown(&in_button7);}
+void IN_Button7Up(void) {KeyUp(&in_button7);}
+void IN_Button8Down(void) {KeyDown(&in_button8);}
+void IN_Button8Up(void) {KeyUp(&in_button8);}
 
 void IN_UseDown (void) {KeyDown(&in_use);}
 void IN_UseUp (void) {KeyUp(&in_use);}
@@ -261,7 +268,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 +285,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 +356,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
 
@@ -382,7 +388,7 @@ void CL_SendMove (usercmd_t *cmd)
 
        MSG_WriteFloat (&buf, cl.mtime[0]);     // so server can get ping times
 
-       if (dpprotocol == DPPROTOCOL_VERSION2)
+       if (dpprotocol == DPPROTOCOL_VERSION2 || dpprotocol == DPPROTOCOL_VERSION3)
        {
                for (i = 0;i < 3;i++)
                        MSG_WriteFloat (&buf, cl.viewangles[i]);
@@ -512,3 +518,4 @@ void CL_InitInput (void)
        Cmd_AddCommand ("+button8", IN_Button8Down);
        Cmd_AddCommand ("-button8", IN_Button8Up);
 }
+