More 3966 business:

http://bugzilla.icculus.org/show_bug.cgi?id=3966
I'm hopeful that the server browser will surrender.
This commit is contained in:
Zachary Slater 2009-07-07 22:13:06 +00:00
parent 20c374e87b
commit d34e91ef68

View file

@ -3365,10 +3365,7 @@ void CL_ServerInfoPacket( netadr_t from, msg_t *msg ) {
if ( cl_pinglist[i].adr.port && !cl_pinglist[i].time && NET_CompareAdr( from, cl_pinglist[i].adr ) ) if ( cl_pinglist[i].adr.port && !cl_pinglist[i].time && NET_CompareAdr( from, cl_pinglist[i].adr ) )
{ {
// calc ping time // calc ping time
if (cl_pinglist[i].start == cls.realtime) cl_pinglist[i].time = Sys_Milliseconds() - cl_pinglist[i].start;
cl_pinglist[i].time = Sys_Milliseconds() - cl_pinglist[i].start + 1;
else
cl_pinglist[i].time = cls.realtime - cl_pinglist[i].start + 1;
Com_DPrintf( "ping time %dms from %s\n", cl_pinglist[i].time, NET_AdrToString( from ) ); Com_DPrintf( "ping time %dms from %s\n", cl_pinglist[i].time, NET_AdrToString( from ) );
// save of info // save of info
@ -3769,7 +3766,7 @@ void CL_GetPing( int n, char *buf, int buflen, int *pingtime )
if (!time) if (!time)
{ {
// check for timeout // check for timeout
time = cls.realtime - cl_pinglist[n].start; time = Sys_Milliseconds() - cl_pinglist[n].start;
maxPing = Cvar_VariableIntegerValue( "cl_maxPing" ); maxPing = Cvar_VariableIntegerValue( "cl_maxPing" );
if( maxPing < 100 ) { if( maxPing < 100 ) {
maxPing = 100; maxPing = 100;
@ -3876,7 +3873,7 @@ ping_t* CL_GetFreePing( void )
{ {
if (!pingptr->time) if (!pingptr->time)
{ {
if (cls.realtime - pingptr->start < 500) if (Sys_Milliseconds() - pingptr->start < 500)
{ {
// still waiting for response // still waiting for response
continue; continue;
@ -3901,7 +3898,7 @@ ping_t* CL_GetFreePing( void )
for (i=0; i<MAX_PINGREQUESTS; i++, pingptr++ ) for (i=0; i<MAX_PINGREQUESTS; i++, pingptr++ )
{ {
// scan for oldest // scan for oldest
time = cls.realtime - pingptr->start; time = Sys_Milliseconds() - pingptr->start;
if (time > oldest) if (time > oldest)
{ {
oldest = time; oldest = time;
@ -3954,7 +3951,7 @@ void CL_Ping_f( void ) {
pingptr = CL_GetFreePing(); pingptr = CL_GetFreePing();
memcpy( &pingptr->adr, &to, sizeof (netadr_t) ); memcpy( &pingptr->adr, &to, sizeof (netadr_t) );
pingptr->start = cls.realtime; pingptr->start = Sys_Milliseconds();
pingptr->time = 0; pingptr->time = 0;
CL_SetServerInfoByAddress(pingptr->adr, NULL, 0); CL_SetServerInfoByAddress(pingptr->adr, NULL, 0);
@ -4026,7 +4023,7 @@ qboolean CL_UpdateVisiblePings_f(int source) {
} }
} }
memcpy(&cl_pinglist[j].adr, &server[i].adr, sizeof(netadr_t)); memcpy(&cl_pinglist[j].adr, &server[i].adr, sizeof(netadr_t));
cl_pinglist[j].start = cls.realtime; cl_pinglist[j].start = Sys_Milliseconds();
cl_pinglist[j].time = 0; cl_pinglist[j].time = 0;
NET_OutOfBandPrint( NS_CLIENT, cl_pinglist[j].adr, "getinfo xxx" ); NET_OutOfBandPrint( NS_CLIENT, cl_pinglist[j].adr, "getinfo xxx" );
slots++; slots++;