#include "mapinfo.qh"
#if defined(CSQC)
- #include "util.qh"
- #include <common/weapons/_all.qh>
+ #include <common/util.qh>
+ #include <common/weapons/_all.qh>
#elif defined(MENUQC)
#elif defined(SVQC)
- #include "util.qh"
- #include <common/monsters/_mod.qh>
+ #include <common/util.qh>
+ #include <common/monsters/_mod.qh>
#endif
bool autocvar_g_mapinfo_arena_compat = true;
return "";
}
-float MapInfo_Get_ByID(float i)
+bool MapInfo_Get_ByID(int i)
{
- if(MapInfo_Get_ByName(MapInfo_BSPName_ByID(i), 0, NULL))
- return 1;
- return 0;
+ return MapInfo_Get_ByName(MapInfo_BSPName_ByID(i), 0, NULL) ? true : false;
}
string _MapInfo_Map_worldspawn_music;
case "ffa": replacement = "dm"; do_warn = false; break;
case "cctf":
case "oneflag": replacement = "ctf"; do_warn = false; break;
- case "team": replacement = "tdm"; do_warn = false; break;
case "tourney": replacement = "duel"; do_warn = false; break;
case "arena": if(is_q3compat) { replacement = "ca"; do_warn = false; } break;
}
// if there is a valid gametype in this .arena file, include it in the menu
stored_supportedFeatures |= MAPINFO_FEATURE_WEAPONS;
// type in quake 3 holds all the supported gametypes, so we must loop through all of them
- FOREACH_WORD(s, true,
+ string types = strreplace("team", "tdm ft", s); // TODO: handle support here better to include more Xonotic teamplay modes
+ FOREACH_WORD(types, true,
{
Gametype f = MapInfo_Type_FromString(it, false, true);
if(f)
{
int req = 0;
// TODO: find a better way to check if weapons are required on the map
- if(!(cvar("g_instagib") || cvar("g_overkill") || cvar("g_nix") || cvar("g_weaponarena") || !cvar("g_pickup_items")
+ if(!(cvar("g_instagib") || cvar("g_overkill") || cvar("g_nix") || cvar("g_weaponarena") || !cvar("g_pickup_items") || !cvar("g_melee_only")
|| cvar("g_race") || cvar("g_cts") || cvar("g_nexball") || cvar("g_ca") || cvar("g_freezetag") || cvar("g_lms")))
req |= MAPINFO_FEATURE_WEAPONS;
return req;