fixes for some #define feature enables.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5183 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
4afa9cba21
commit
5f9a101ac0
5 changed files with 72 additions and 19 deletions
|
@ -5348,7 +5348,7 @@ void CL_LinkViewModel(void)
|
|||
if (plnum == -1)
|
||||
plnum = r_refdef.playerview->playernum;
|
||||
playereffects = 0;
|
||||
if (r_refdef.playerview->nolocalplayer && plnum >= 0 && plnum < cl.maxlerpents)
|
||||
if (r_refdef.playerview->nolocalplayer && plnum < cl.maxlerpents)
|
||||
{
|
||||
if (plnum+1 < cl.maxlerpents)
|
||||
{
|
||||
|
@ -5357,7 +5357,7 @@ void CL_LinkViewModel(void)
|
|||
playereffects = le->entstate->effects;
|
||||
}
|
||||
}
|
||||
else if (plnum >= 0 && plnum < cl.allocated_client_slots)
|
||||
else if (plnum < cl.allocated_client_slots)
|
||||
playereffects = cl.inframes[parsecountmod].playerstate[plnum].effects;
|
||||
|
||||
if (playereffects & DPEF_NOGUNBOB)
|
||||
|
|
|
@ -1,4 +1,20 @@
|
|||
enum masterprotocol_e
|
||||
{
|
||||
MP_UNSPECIFIED,
|
||||
MP_QUAKEWORLD,
|
||||
#if defined(Q2CLIENT) || defined(Q2SERVER)
|
||||
MP_QUAKE2,
|
||||
#endif
|
||||
#if defined(Q3CLIENT) || defined(Q3SERVER)
|
||||
MP_QUAKE3,
|
||||
#endif
|
||||
#ifdef NQPROT
|
||||
MP_NETQUAKE,
|
||||
#endif
|
||||
MP_DPMASTER
|
||||
};
|
||||
|
||||
#if defined(CL_MASTER) && !defined(SERVERONLY)
|
||||
#define SS_PROTOCOLMASK 0xf
|
||||
#define SS_UNKNOWN 0
|
||||
#define SS_QUAKEWORLD 1
|
||||
|
@ -26,15 +42,6 @@ enum mastertype_e
|
|||
MT_BCAST,
|
||||
MT_SINGLE,
|
||||
};
|
||||
enum masterprotocol_e
|
||||
{
|
||||
MP_UNSPECIFIED,
|
||||
MP_QUAKEWORLD,
|
||||
MP_QUAKE2,
|
||||
MP_QUAKE3,
|
||||
MP_NETQUAKE,
|
||||
MP_DPMASTER
|
||||
};
|
||||
|
||||
|
||||
typedef enum
|
||||
|
@ -231,3 +238,6 @@ serverinfo_t *Master_SortedServer(int idx);
|
|||
void Master_SetMaskString(qboolean or, hostcachekey_t field, const char *param, slist_test_t testop);
|
||||
void Master_SetMaskInteger(qboolean or, hostcachekey_t field, int param, slist_test_t testop);
|
||||
serverinfo_t *Master_FindRoute(netadr_t target);
|
||||
#else
|
||||
#define MasterInfo_WriteServers()
|
||||
#endif
|
||||
|
|
|
@ -76,11 +76,9 @@ typedef struct {
|
|||
cvar_t cv;
|
||||
char *comment;
|
||||
|
||||
#ifndef CLIENTONLY
|
||||
qboolean needsresolve; //set any time the cvar is modified
|
||||
qboolean resolving; //set any time the cvar is modified
|
||||
netadr_t adr[MAX_MASTER_ADDRESSES];
|
||||
#endif
|
||||
} net_masterlist_t;
|
||||
net_masterlist_t net_masterlist[] = {
|
||||
#ifndef QUAKETC
|
||||
|
@ -152,11 +150,18 @@ net_masterlist_t net_masterlist[] = {
|
|||
// {MP_QUAKE2, CVARFC("net_q2masterextra1", "master.planetgloom.com:27900", CVAR_NOSAVE, Net_Masterlist_Callback)}, //?
|
||||
// {MP_QUAKE2, CVARFC("net_q2masterextra1", "master.q2servers.com:27900", CVAR_NOSAVE, Net_Masterlist_Callback)}, //?
|
||||
{MP_QUAKE2, CVARFC("net_q2masterextra1", "netdome.biz:27900", CVAR_NOSAVE, Net_Masterlist_Callback)}, //?
|
||||
{MP_QUAKE2, CVARFC("net_q2masterextra2", "master.quakeservers.net:27900", CVAR_NOSAVE, Net_Masterlist_Callback)}, //?
|
||||
#endif
|
||||
|
||||
#ifdef Q3CLIENT
|
||||
// {MP_QUAKE3, CVARFC("net_q3masterextra1", "masterserver.exhale.de:27950", CVAR_NOSAVE, Net_Masterlist_Callback), "Official Quake3 master server"},
|
||||
{MP_QUAKE3, CVARFC("net_q3masterextra1", "master.quake3arena.com:27950", CVAR_NOSAVE, Net_Masterlist_Callback), "Official Quake3 master server"},
|
||||
{MP_QUAKE3, CVARFC("net_q3masterextra2", "master0.excessiveplus.net:27950", CVAR_NOSAVE, Net_Masterlist_Callback), "DE: Excessive Plus"},
|
||||
{MP_QUAKE3, CVARFC("net_q3masterextra3", "master.ioquake3.org:27950", CVAR_NOSAVE, Net_Masterlist_Callback), "DE: ioquake3"},
|
||||
{MP_QUAKE3, CVARFC("net_q3masterextra4", "master.huxxer.de:27950", CVAR_NOSAVE, Net_Masterlist_Callback), "DE: BMA Team"},
|
||||
{MP_QUAKE3, CVARFC("net_q3masterextra5", "master.maverickservers.com:27950", CVAR_NOSAVE, Net_Masterlist_Callback), "US: Maverickservers.com"},
|
||||
{MP_QUAKE3, CVARFC("net_q3masterextra6", "dpmaster.deathmask.net:27950", CVAR_NOSAVE, Net_Masterlist_Callback), "US: DeathMask.net"},
|
||||
{MP_QUAKE3, CVARFC("net_q3masterextra8", "master3.idsoftware.com:27950", CVAR_NOSAVE, Net_Masterlist_Callback), "US: id Software Quake III Master"},
|
||||
#endif
|
||||
|
||||
{MP_UNSPECIFIED, CVAR(NULL, NULL)}
|
||||
|
@ -245,6 +250,7 @@ void SV_Master_SingleHeartbeat(net_masterlist_t *master)
|
|||
NET_SendPacket (NS_SERVER, strlen(string), string, na);
|
||||
}
|
||||
break;
|
||||
#ifdef Q2SERVER
|
||||
case MP_QUAKE2:
|
||||
if (svs.gametype == GT_QUAKE2 && sv_listen_qw.value) //set listen to 1 to allow qw connections, 2 to allow nq connections too.
|
||||
{
|
||||
|
@ -258,6 +264,7 @@ void SV_Master_SingleHeartbeat(net_masterlist_t *master)
|
|||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case MP_DPMASTER:
|
||||
if (sv_listen_dp.value || sv_listen_nq.value) //set listen to 1 to allow qw connections, 2 to allow nq connections too.
|
||||
{
|
||||
|
@ -317,8 +324,12 @@ void SV_Master_Worker_Resolved(void *ctx, void *data, size_t a, size_t b)
|
|||
case MP_UNSPECIFIED:
|
||||
case MP_NETQUAKE:
|
||||
case MP_DPMASTER: na->port = BigShort (27950); break;
|
||||
#ifdef Q2SERVER
|
||||
case MP_QUAKE2: na->port = BigShort (27000); break; //FIXME: verify
|
||||
#endif
|
||||
#ifdef Q3SERVER
|
||||
case MP_QUAKE3: na->port = BigShort (27950); break;
|
||||
#endif
|
||||
case MP_QUAKEWORLD: na->port = BigShort (27000); break;
|
||||
}
|
||||
}
|
||||
|
@ -333,9 +344,11 @@ void SV_Master_Worker_Resolved(void *ctx, void *data, size_t a, size_t b)
|
|||
//q2+qw masters are given a ping to verify that they're still up
|
||||
switch (master->protocol)
|
||||
{
|
||||
#ifdef Q2SERVER
|
||||
case MP_QUAKE2:
|
||||
NET_SendPacket (NS_SERVER, 8, "\xff\xff\xff\xffping", na);
|
||||
break;
|
||||
#endif
|
||||
case MP_QUAKEWORLD:
|
||||
//qw does this for some reason, keep the behaviour even though its unreliable thus pointless
|
||||
NET_SendPacket (NS_SERVER, 2, "k\0", na);
|
||||
|
@ -407,8 +420,12 @@ void SV_Master_Heartbeat (void)
|
|||
switch (net_masterlist[i].protocol)
|
||||
{
|
||||
case MP_DPMASTER: enabled = sb_enabledarkplaces; break;
|
||||
#ifdef Q2SERVER
|
||||
case MP_QUAKE2: enabled = sb_enablequake2; break;
|
||||
#endif
|
||||
#ifdef Q3SERVER
|
||||
case MP_QUAKE3: enabled = sb_enablequake3; break;
|
||||
#endif
|
||||
case MP_QUAKEWORLD: enabled = sb_enablequakeworld; break;
|
||||
default: enabled = false; break;
|
||||
}
|
||||
|
@ -1409,9 +1426,13 @@ void CLMaster_AddMaster_Worker_Resolved(void *ctx, void *data, size_t a, size_t
|
|||
switch (mast->protocoltype)
|
||||
{
|
||||
case MP_DPMASTER: mast->adr.port = BigShort (27950); break;
|
||||
case MP_QUAKE2: mast->adr.port = BigShort (27000); break; //FIXME: verify
|
||||
#ifdef Q2CLIENT
|
||||
case MP_QUAKE2: mast->adr.port = BigShort (27900); break; //FIXME: verify
|
||||
#endif
|
||||
#ifdef Q3CLIENT
|
||||
case MP_QUAKE3: mast->adr.port = BigShort (27950); break;
|
||||
case MP_QUAKEWORLD: mast->adr.port = BigShort (27000); break;
|
||||
#endif
|
||||
case MP_QUAKEWORLD: mast->adr.port = BigShort (PORT_QWMASTER); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1656,18 +1677,27 @@ qboolean Master_LoadMasterList (char *filename, qboolean withcomment, int defaul
|
|||
else if (!strcmp(sep, "bcast"))
|
||||
servertype = MT_BCAST;
|
||||
|
||||
#ifndef QUAKETC
|
||||
else if (!strcmp(com_token, "qw"))
|
||||
protocoltype = MP_QUAKEWORLD;
|
||||
#endif
|
||||
#ifdef Q2CLIENT
|
||||
else if (!strcmp(com_token, "q2"))
|
||||
protocoltype = MP_QUAKE2;
|
||||
#endif
|
||||
#ifdef Q3CLIENT
|
||||
else if (!strcmp(com_token, "q3"))
|
||||
protocoltype = MP_QUAKE3;
|
||||
#endif
|
||||
#ifdef NQPROT
|
||||
else if (!strcmp(com_token, "nq"))
|
||||
protocoltype = MP_NETQUAKE;
|
||||
#endif
|
||||
else if (!strcmp(com_token, "dp"))
|
||||
protocoltype = MP_DPMASTER;
|
||||
|
||||
//legacy compat
|
||||
#ifdef NQPROT
|
||||
else if (!strcmp(com_token, "httpjson"))
|
||||
{
|
||||
servertype = MT_MASTERHTTPJSON;
|
||||
|
@ -1678,11 +1708,14 @@ qboolean Master_LoadMasterList (char *filename, qboolean withcomment, int defaul
|
|||
servertype = MT_MASTERHTTP;
|
||||
protocoltype = MP_NETQUAKE;
|
||||
}
|
||||
#endif
|
||||
#ifndef QUAKETC
|
||||
else if (!strcmp(com_token, "httpqw"))
|
||||
{
|
||||
servertype = MT_MASTERHTTP;
|
||||
protocoltype = MP_QUAKEWORLD;
|
||||
}
|
||||
#endif
|
||||
|
||||
else if (!strcmp(com_token, "favourite") || !strcmp(com_token, "favorite"))
|
||||
favourite = true;
|
||||
|
@ -2649,22 +2682,28 @@ qboolean CL_QueryServers(void)
|
|||
if (!sb_enabledarkplaces)
|
||||
continue;
|
||||
break;
|
||||
#ifdef NQPROT
|
||||
case MP_NETQUAKE:
|
||||
if (!sb_enablenetquake)
|
||||
continue;
|
||||
break;
|
||||
#endif
|
||||
case MP_QUAKEWORLD:
|
||||
if (!sb_enablequakeworld)
|
||||
continue;
|
||||
break;
|
||||
#ifdef Q2CLIENT
|
||||
case MP_QUAKE2:
|
||||
if (!sb_enablequake2)
|
||||
continue;
|
||||
break;
|
||||
#endif
|
||||
#ifdef Q3CLIENT
|
||||
case MP_QUAKE3:
|
||||
if (!sb_enablequake3)
|
||||
continue;
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (mast->sends > 0)
|
||||
|
@ -3003,12 +3042,18 @@ int CL_ReadServerInfo(char *msg, enum masterprotocol_e prototype, qboolean favor
|
|||
break;
|
||||
}
|
||||
}
|
||||
#ifdef Q2CLIENT
|
||||
else if (prototype == MP_QUAKE2)
|
||||
info->special |= SS_QUAKE2;
|
||||
#endif
|
||||
#ifdef Q3CLIENT
|
||||
else if (prototype == MP_QUAKE3)
|
||||
info->special |= SS_QUAKE3;
|
||||
#endif
|
||||
#ifdef NQPROT
|
||||
else if (prototype == MP_NETQUAKE)
|
||||
info->special |= SS_NETQUAKE;
|
||||
#endif
|
||||
else
|
||||
info->special |= SS_QUAKEWORLD;
|
||||
if (favorite) //was specifically named, not retrieved from a master.
|
||||
|
|
|
@ -21,9 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
#include "quakedef.h"
|
||||
#include "fs.h"
|
||||
#ifndef SERVERONLY
|
||||
#include "cl_master.h"
|
||||
#endif
|
||||
|
||||
cvar_t ruleset_allow_in = CVAR("ruleset_allow_in", "1");
|
||||
cvar_t rcon_level = CVAR("rcon_level", "20");
|
||||
|
@ -3801,9 +3799,7 @@ void Cmd_WriteConfig_f(void)
|
|||
snprintf(fname, sizeof(fname), "fte.cfg");
|
||||
#endif
|
||||
|
||||
#ifndef SERVERONLY
|
||||
MasterInfo_WriteServers();
|
||||
#endif
|
||||
|
||||
f = FS_OpenWithFriends(fname, sysname, sizeof(sysname), 3, "quake.rc", "hexen.rc", "*.cfg", "configs/*.cfg");
|
||||
|
||||
|
|
|
@ -12092,6 +12092,7 @@ void PR_DumpPlatform_f(void)
|
|||
{"TEREDIT_ENT_COUNT", "const float", CS, NULL, ter_ent_count},
|
||||
#endif
|
||||
|
||||
#ifdef CL_MASTER
|
||||
{"SLIST_HOSTCACHEVIEWCOUNT", "const float", CS|MENU, NULL, SLIST_HOSTCACHEVIEWCOUNT},
|
||||
{"SLIST_HOSTCACHETOTALCOUNT", "const float", CS|MENU, NULL, SLIST_HOSTCACHETOTALCOUNT},
|
||||
{"SLIST_MASTERQUERYCOUNT", "const float", CS|MENU, NULL, SLIST_MASTERQUERYCOUNT},
|
||||
|
@ -12110,6 +12111,7 @@ void PR_DumpPlatform_f(void)
|
|||
{"SLIST_TEST_NOTEQUAL", "const float", CS|MENU, NULL, SLIST_TEST_NOTEQUAL},
|
||||
{"SLIST_TEST_STARTSWITH", "const float", CS|MENU, NULL, SLIST_TEST_STARTSWITH},
|
||||
{"SLIST_TEST_NOTSTARTSWITH", "const float", CS|MENU, NULL, SLIST_TEST_NOTSTARTSWITH},
|
||||
#endif
|
||||
{NULL}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue