]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_input.c
fixed very annoying '5 second timeout' bug in Host_ShutdownServer (the local client...
[xonotic/darkplaces.git] / cl_input.c
index 680632c75a2a354aae828dd6568682621e7e6b3b..e3d964d8a357ae61b40a62dda0a10ffbdaafc759 100644 (file)
@@ -49,7 +49,7 @@ state bit 2 is edge triggered on the down to up transition
 kbutton_t      in_mlook, in_klook;
 kbutton_t      in_left, in_right, in_forward, in_back;
 kbutton_t      in_lookup, in_lookdown, in_moveleft, in_moveright;
-kbutton_t      in_strafe, in_speed, in_use, in_jump, in_attack;
+kbutton_t      in_strafe, in_speed, in_jump, in_attack;
 kbutton_t      in_up, in_down;
 // LordHavoc: added 6 new buttons
 kbutton_t      in_button3, in_button4, in_button5, in_button6, in_button7, in_button8;
@@ -77,7 +77,7 @@ void KeyDown (kbutton_t *b)
                b->down[1] = k;
        else
        {
-               Con_Print("Three keys down for a button!\n");
+               Con_Print("Three keys down for a button!\n");
                return;
        }
 
@@ -168,8 +168,6 @@ 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);}
 void IN_JumpDown (void) {KeyDown(&in_jump);}
 void IN_JumpUp (void) {KeyUp(&in_jump);}
 
@@ -261,9 +259,9 @@ void CL_AdjustAngles (void)
        float   up, down;
 
        if (in_speed.state & 1)
-               speed = cl.frametime * cl_anglespeedkey.value;
+               speed = host_realframetime * cl_anglespeedkey.value;
        else
-               speed = cl.frametime;
+               speed = host_realframetime;
 
        if (!(in_strafe.state & 1))
        {
@@ -387,12 +385,12 @@ void CL_SendMove(usercmd_t *cmd)
 
        MSG_WriteFloat (&buf, cl.mtime[0]);     // so server can get ping times
 
-       if (dpprotocol == DPPROTOCOL_VERSION2 || dpprotocol == DPPROTOCOL_VERSION3)
+       if (cl.protocol == PROTOCOL_DARKPLACES2 || cl.protocol == PROTOCOL_DARKPLACES3)
        {
                for (i = 0;i < 3;i++)
                        MSG_WriteFloat (&buf, cl.viewangles[i]);
        }
-       else if (dpprotocol == DPPROTOCOL_VERSION1 || dpprotocol == DPPROTOCOL_VERSION4)
+       else if (cl.protocol == PROTOCOL_DARKPLACES1 || cl.protocol == PROTOCOL_DARKPLACES4 || cl.protocol == PROTOCOL_DARKPLACES5)
        {
                for (i=0 ; i<3 ; i++)
                        MSG_WritePreciseAngle (&buf, cl.viewangles[i]);
@@ -431,7 +429,7 @@ void CL_SendMove(usercmd_t *cmd)
        MSG_WriteByte (&buf, in_impulse);
        in_impulse = 0;
 
-       if (dpprotocol == DPPROTOCOL_VERSION1 || dpprotocol == DPPROTOCOL_VERSION2 || dpprotocol == DPPROTOCOL_VERSION3)
+       if (cl.protocol == PROTOCOL_DARKPLACES1 || cl.protocol == PROTOCOL_DARKPLACES2 || cl.protocol == PROTOCOL_DARKPLACES3)
        {
                // LordHavoc: should we ack this on receipt instead?  would waste net bandwidth though
                i = EntityFrame_MostRecentlyRecievedFrameNum(&cl.entitydatabase);
@@ -445,11 +443,13 @@ void CL_SendMove(usercmd_t *cmd)
        {
                if (cl.entitydatabase4)
                {
-                       MSG_WriteByte(&buf, clc_ackentities);
+                       i = cl.entitydatabase4->ackframenum;
                        if (cl_nodelta.integer)
-                               MSG_WriteLong(&buf, -1);
-                       else
-                               MSG_WriteLong(&buf, cl.entitydatabase4->ackframenum);
+                               i = -1;
+                       if (developer_networkentities.integer >= 1)
+                               Con_Printf("send clc_ackentities %i\n", i);
+                       MSG_WriteByte(&buf, clc_ackentities);
+                       MSG_WriteLong(&buf, i);
                }
        }
 
@@ -463,8 +463,9 @@ void CL_SendMove(usercmd_t *cmd)
 
        if (NetConn_SendUnreliableMessage(cls.netcon, &buf) == -1)
        {
-               Con_Printf("CL_SendMove: lost server connection\n");
+               Con_Print("CL_SendMove: lost server connection\n");
                CL_Disconnect();
+               Host_ShutdownServer(false);
        }
 }
 
@@ -501,8 +502,6 @@ void CL_InitInput (void)
        Cmd_AddCommand ("-speed", IN_SpeedUp);
        Cmd_AddCommand ("+attack", IN_AttackDown);
        Cmd_AddCommand ("-attack", IN_AttackUp);
-       Cmd_AddCommand ("+use", IN_UseDown);
-       Cmd_AddCommand ("-use", IN_UseUp);
        Cmd_AddCommand ("+jump", IN_JumpDown);
        Cmd_AddCommand ("-jump", IN_JumpUp);
        Cmd_AddCommand ("impulse", IN_Impulse);