+#include "mapinfo.qh"
#if defined(CSQC)
#include "../client/defs.qh"
#include "util.qh"
- #include <common/weapons/all.qh>
- #include "mapinfo.qh"
+ #include <common/weapons/_all.qh>
#elif defined(MENUQC)
#elif defined(SVQC)
#include "util.qh"
#include <common/monsters/all.qh>
- #include "mapinfo.qh"
#endif
// generic string stuff
diameter = vlen(mapMaxs - mapMins);
int twoBaseModes = 0;
- FOREACH(Gametypes, it.m_isTwoBaseMode(), twoBaseModes |= it.m_flags);
+ FOREACH(Gametypes, it.m_isTwoBaseMode(), twoBaseModes |= it.m_flags);
if(twoBaseModes && (twoBaseModes &= MapInfo_Map_supportedGametypes))
{
- // we have a CTF-only or Assault-only map. Don't add other modes then,
- // as the map is too symmetric for them.
+ // we have a symmetrical map, don't add the modes without bases
}
else
{
- MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_DEATHMATCH.m_flags; // DM always works
- MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_LMS.m_flags; // LMS always works
- MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_KEEPAWAY.m_flags; // Keepaway always works
-
- if(spawnpoints >= 8 && diameter > 4096) {
- MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_TEAM_DEATHMATCH.m_flags;
- MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_FREEZETAG.m_flags;
- MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_CA.m_flags;
- }
- if(spawnpoints >= 12 && diameter > 5120)
- MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_KEYHUNT.m_flags;
+ FOREACH(Gametypes, it.m_isAlwaysSupported(it, spawnpoints, diameter), MapInfo_Map_supportedGametypes |= it.m_flags);
}
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_RACE.m_flags)
cvar_set("timelimit", sa);
s = cdr(s);
- if(pWantedType == MAPINFO_TYPE_TEAM_DEATHMATCH)
- {
- sa = car(s);
- if(sa != "")
- cvar_set("g_tdm_teams", sa);
- s = cdr(s);
- }
-
- if(pWantedType == MAPINFO_TYPE_KEYHUNT)
- {
- sa = car(s);
- if(sa != "")
- cvar_set("g_keyhunt_teams", sa);
- s = cdr(s);
- }
-
- if(pWantedType == MAPINFO_TYPE_CA)
- {
- sa = car(s);
- if(sa != "")
- cvar_set("g_ca_teams", sa);
- s = cdr(s);
- }
-
- if(pWantedType == MAPINFO_TYPE_FREEZETAG)
- {
- sa = car(s);
- if(sa != "")
- cvar_set("g_freezetag_teams", sa);
- s = cdr(s);
- }
-
- if(pWantedType == MAPINFO_TYPE_CTF)
- {
- sa = car(s);
- if(sa != "")
- cvar_set("fraglimit", sa);
- s = cdr(s);
- }
-
- /* keepaway wuz here
- if(pWantedType == MAPINFO_TYPE_KEEPAWAY)
+ if(pWantedType.m_setTeams)
{
sa = car(s);
if(sa != "")
- cvar_set("fraglimit", sa);
+ pWantedType.m_setTeams(sa);
s = cdr(s);
}
- */
// rc = timelimit timelimit_qualification laps laps_teamplay
if(pWantedType == MAPINFO_TYPE_RACE)
s = cdr(s);
}
- if(pWantedType == MAPINFO_TYPE_CTS)
- {
- sa = car(s);
-
- // this is the skill of the map
- // not parsed by anything yet
- // for map databases
- //if(sa != "")
- // cvar_set("fraglimit", sa);
-
- s = cdr(s);
- }
-
if(pWantedType == MAPINFO_TYPE_ASSAULT || pWantedType == MAPINFO_TYPE_ONSLAUGHT || pWantedType == MAPINFO_TYPE_CTS) // these modes don't use fraglimit
{
cvar_set("leadlimit", "0");
{
int f = MAPINFO_FLAG_FORBIDDEN;
-#ifndef MENUQC
+#ifdef GAMEQC
if (!cvar("g_maplist_allow_hidden"))
#endif
f |= MAPINFO_FLAG_HIDDEN;