X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=cl_input.c;h=9908c9179dca13cc40cda5063336a3c97e37fd68;hb=0945983f30c1cc05be50cffca388912098c513bd;hp=6463fed5d688e90e595a3f8c50a68717b89b584d;hpb=a0338ffd578afdaf693aee96bc6f948afb5b1844;p=xonotic%2Fdarkplaces.git diff --git a/cl_input.c b/cl_input.c index 6463fed5..9908c917 100644 --- a/cl_input.c +++ b/cl_input.c @@ -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_Printf ("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)) { @@ -366,7 +364,7 @@ void CL_SendMove(usercmd_t *cmd) upmove += cmd->upmove; total++; // LordHavoc: cap outgoing movement messages to sys_ticrate - if ((cl.maxclients > 1) && (realtime - lastmovetime < sys_ticrate.value)) + if (!cl.islocalgame && (realtime - lastmovetime < sys_ticrate.value)) return; lastmovetime = realtime; // average what has happened during this time @@ -387,38 +385,33 @@ 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_QUAKE) { for (i = 0;i < 3;i++) - MSG_WriteFloat (&buf, cl.viewangles[i]); + MSG_WriteAngle8i (&buf, cl.viewangles[i]); } - else if (dpprotocol == DPPROTOCOL_VERSION1 || dpprotocol == DPPROTOCOL_VERSION4) + else if (cl.protocol == PROTOCOL_DARKPLACES2 || cl.protocol == PROTOCOL_DARKPLACES3) { - for (i=0 ; i<3 ; i++) - MSG_WritePreciseAngle (&buf, cl.viewangles[i]); + for (i = 0;i < 3;i++) + MSG_WriteAngle32f (&buf, cl.viewangles[i]); } - else + else if (cl.protocol == PROTOCOL_DARKPLACES1 || cl.protocol == PROTOCOL_DARKPLACES4 || cl.protocol == PROTOCOL_DARKPLACES5) { - for (i=0 ; i<3 ; i++) - MSG_WriteAngle (&buf, cl.viewangles[i]); + for (i = 0;i < 3;i++) + MSG_WriteAngle16i (&buf, cl.viewangles[i]); } - MSG_WriteShort (&buf, forwardmove); - MSG_WriteShort (&buf, sidemove); - MSG_WriteShort (&buf, upmove); + MSG_WriteCoord16i (&buf, forwardmove); + MSG_WriteCoord16i (&buf, sidemove); + MSG_WriteCoord16i (&buf, upmove); forwardmove = sidemove = upmove = 0; // send button bits bits = 0; - if ( in_attack.state & 3 ) - bits |= 1; - in_attack.state &= ~2; - - if (in_jump.state & 3) - bits |= 2; - in_jump.state &= ~2; // LordHavoc: added 6 new buttons + if (in_attack.state & 3) bits |= 1;in_attack.state &= ~2; + if (in_jump.state & 3) bits |= 2;in_jump.state &= ~2; if (in_button3.state & 3) bits |= 4;in_button3.state &= ~2; if (in_button4.state & 3) bits |= 8;in_button4.state &= ~2; if (in_button5.state & 3) bits |= 16;in_button5.state &= ~2; @@ -431,26 +424,16 @@ void CL_SendMove(usercmd_t *cmd) MSG_WriteByte (&buf, in_impulse); in_impulse = 0; - if (dpprotocol == DPPROTOCOL_VERSION1 || dpprotocol == DPPROTOCOL_VERSION2 || dpprotocol == DPPROTOCOL_VERSION3) - { - // LordHavoc: should we ack this on receipt instead? would waste net bandwidth though - i = EntityFrame_MostRecentlyRecievedFrameNum(&cl.entitydatabase); - if (i > 0) - { - MSG_WriteByte(&buf, clc_ackentities); - MSG_WriteLong(&buf, i); - } - } - else + // FIXME: should ack latest 3 frames perhaps? + if (cl.latestframenum > 0) { - if (cl.entitydatabase4) - { - MSG_WriteByte(&buf, clc_ackentities); - if (cl_nodelta.integer) - MSG_WriteLong(&buf, -1); - else - MSG_WriteLong(&buf, cl.entitydatabase4->ackframenum); - } + i = cl.latestframenum; + if (cl_nodelta.integer) + i = -1; + if (developer_networkentities.integer >= 1) + Con_Printf("send clc_ackentities %i\n", i); + MSG_WriteByte(&buf, clc_ackentities); + MSG_WriteLong(&buf, i); } // deliver the message @@ -463,8 +446,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 +485,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);