Fix globalservers for Elite Force

Vanilla Q3 UI doesn't list multiple master servers. ioquake3 changed
globalservers 0 to be all masters so they show in Q3 UI, moving single
masters from 0-4 to 1-5.

Vanilla Elite Force on the other hand, uses 0-4 for separate master
servers. So restore that behavior.
This commit is contained in:
Zack Middleton 2017-09-18 00:32:48 -05:00
parent f4edc947b5
commit 2bcc90fca9

View file

@ -4318,6 +4318,8 @@ CL_GlobalServers_f
Originally master 0 was Internet and master 1 was MPlayer. Originally master 0 was Internet and master 1 was MPlayer.
ioquake3 2008; added support for requesting five separate master servers using 0-4. ioquake3 2008; added support for requesting five separate master servers using 0-4.
ioquake3 2017; made master 0 fetch all master servers and 1-5 request a single master server. ioquake3 2017; made master 0 fetch all master servers and 1-5 request a single master server.
Elite Force requests five separate master servers using master 0-4.
================== ==================
*/ */
void CL_GlobalServers_f( void ) { void CL_GlobalServers_f( void ) {
@ -4325,6 +4327,15 @@ void CL_GlobalServers_f( void ) {
int count, i, masterNum; int count, i, masterNum;
char command[1024], *masteraddress; char command[1024], *masteraddress;
#ifdef ELITEFORCE
if ((count = Cmd_Argc()) < 3 || (masterNum = atoi(Cmd_Argv(1))) < 0 || masterNum >= MAX_MASTER_SERVERS)
{
Com_Printf("usage: globalservers <master# 0-%d> <protocol> [keywords]\n", MAX_MASTER_SERVERS-1);
return;
}
sprintf(command, "sv_master%d", masterNum+1);
#else
if ((count = Cmd_Argc()) < 3 || (masterNum = atoi(Cmd_Argv(1))) < 0 || masterNum > MAX_MASTER_SERVERS) if ((count = Cmd_Argc()) < 3 || (masterNum = atoi(Cmd_Argv(1))) < 0 || masterNum > MAX_MASTER_SERVERS)
{ {
Com_Printf("usage: globalservers <master# 0-%d> <protocol> [keywords]\n", MAX_MASTER_SERVERS); Com_Printf("usage: globalservers <master# 0-%d> <protocol> [keywords]\n", MAX_MASTER_SERVERS);
@ -4355,6 +4366,7 @@ void CL_GlobalServers_f( void ) {
} }
sprintf(command, "sv_master%d", masterNum); sprintf(command, "sv_master%d", masterNum);
#endif
masteraddress = Cvar_VariableString(command); masteraddress = Cvar_VariableString(command);
if(!*masteraddress) if(!*masteraddress)