X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=sv_user.c;h=27c8ec9fb653c83eb54ebceaab5a68870877846b;hp=1fc07731ced69ea27b87da15c09a5daab60348fb;hb=c65b6faa99d227bcd00107311acfb66a95be02c6;hpb=cb1df35c0a57ed03205b35beb505b96131da4bd7 diff --git a/sv_user.c b/sv_user.c index 1fc07731..27c8ec9f 100644 --- a/sv_user.c +++ b/sv_user.c @@ -447,7 +447,7 @@ void SV_ClientThink (void) return; } - SV_AirMove (); + SV_AirMove (); } @@ -463,7 +463,7 @@ void SV_ReadClientMove (usercmd_t *move) int bits; eval_t *val; float total; - + // read ping time host_client->ping_times[host_client->num_pings % NUM_PING_TIMES] = sv.time - MSG_ReadFloat (); host_client->num_pings++; @@ -477,12 +477,12 @@ void SV_ReadClientMove (usercmd_t *move) val->_float = host_client->ping * 1000.0; // read current angles - // dpprotocol - for (i=0 ; i<3 ; i++) - angle[i] = MSG_ReadPreciseAngle (); + // dpprotocol version 2 + for (i = 0;i < 3;i++) + angle[i] = MSG_ReadFloat (); VectorCopy (angle, host_client->edict->v.v_angle); - + // read movement move->forwardmove = MSG_ReadShort (); move->sidemove = MSG_ReadShort (); @@ -493,7 +493,7 @@ void SV_ReadClientMove (usercmd_t *move) val->vector[1] = move->sidemove; val->vector[2] = move->upmove; } - + // read buttons bits = MSG_ReadByte (); host_client->edict->v.button0 = bits & 1; @@ -518,6 +518,7 @@ SV_ReadClientMessage Returns false if the client should be killed =================== */ +void SV_SendServerinfo (client_t *client); qboolean SV_ReadClientMessage (void) { int ret; @@ -547,24 +548,30 @@ nextmsg: { Sys_Printf ("SV_ReadClientMessage: badread\n"); return false; - } - + } + cmd = MSG_ReadChar (); - + + if (cmd != -1 && host_client->waitingforconnect) + { + host_client->waitingforconnect = false; + host_client->sendserverinfo = true; + } + switch (cmd) { case -1: goto nextmsg; // end of message - + default: Sys_Printf ("SV_ReadClientMessage: unknown command char %i\n", cmd); return false; - + case clc_nop: // Sys_Printf ("clc_nop\n"); break; - - case clc_stringcmd: + + case clc_stringcmd: s = MSG_ReadString (); ret = 0; if (Q_strncasecmp(s, "status", 6) == 0