allow restoring old server sort behavior

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@2729 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
Lee Salzman
2008-09-22 09:46:01 +00:00
parent 762c4ce1ff
commit fe7ce749ed
+17 -4
View File
@@ -452,15 +452,28 @@ void checkpings()
}
}
VARP(serversort, 0, 0, 1);
int sicompare(serverinfo **ap, serverinfo **bp)
{
serverinfo *a = *ap, *b = *bp;
if((a->protocol==PROTOCOL_VERSION) > (b->protocol==PROTOCOL_VERSION)) return -1;
if((b->protocol==PROTOCOL_VERSION) > (a->protocol==PROTOCOL_VERSION)) return 1;
if(a->numplayers == 0 && b->numplayers > 0) return 1;
if(a->numplayers > 0 && b->numplayers == 0) return -1;
if(a->ping>b->ping) return 1;
if(a->ping<b->ping) return -1;
if(!a->numplayers && b->numplayers) return 1;
if(a->numplayers && !b->numplayers) return -1;
loopi(2)
{
if(serversort == i)
{
if(a->ping>b->ping) return 1;
if(a->ping<b->ping) return -1;
}
else
{
if(a->numplayers>b->numplayers) return 1;
if(a->numplayers<b->numplayers) return -1;
}
}
int namecmp = strcmp(a->name, b->name);
if(namecmp) return namecmp;
if(a->port>b->port) return 1;