]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mapinfo.qc
Automatically detect .arena files instead of adding a settemp hack to generated ...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mapinfo.qc
index 40a1134fb536deb0d14583f8d895f5ad11462eb0..d0931b6983df28006d069fd3d5acffc2b3630048 100644 (file)
@@ -9,10 +9,10 @@
     #include <common/monsters/_mod.qh>
 #endif
 
-bool autocvar_g_mapinfo_ignore_warnings;
 #ifdef MENUQC
-#define WARN_COND (!autocvar_g_mapinfo_ignore_warnings)
+#define WARN_COND false
 #else
+bool autocvar_g_mapinfo_ignore_warnings;
 #define WARN_COND (!autocvar_g_mapinfo_ignore_warnings && MapInfo_Map_bspname == mi_shortname)
 #endif
 
@@ -589,25 +589,25 @@ void _MapInfo_Map_ApplyGametypeEx(string s, Gametype pWantedType, Gametype pThis
        }
 }
 
-Gametype MapInfo_Type_FromString(string t)
+Gametype MapInfo_Type_FromString(string gtype)
 {
-#define deprecate(from, to) MACRO_BEGIN { \
-       if (t == #from) { \
-               string replacement = #to; \
-               if(WARN_COND) \
-                       LOG_WARNF("MapInfo_Type_FromString (probably %s): using deprecated name '%s'. Should use '%s'.", MapInfo_Map_bspname, t, replacement); \
-               t = replacement; \
-       } \
-} MACRO_END
-       deprecate(nexball, nb);
-       deprecate(freezetag, ft);
-       deprecate(keepaway, ka);
-       deprecate(invasion, inv);
-       deprecate(assault, as);
-       deprecate(race, rc);
-       FOREACH(Gametypes, it.mdl == t, return it);
+       string replacement = "";
+       switch (gtype)
+       {
+               case "nexball":   replacement = "nb"; break;
+               case "freezetag": replacement = "ft"; break;
+               case "keepaway":  replacement = "ka"; break;
+               case "invasion":  replacement = "inv"; break;
+               case "assault":   replacement = "as"; break;
+               case "race":      replacement = "rc"; break;
+       }
+       if (replacement != "" && WARN_COND)
+       {
+               LOG_WARNF("MapInfo_Type_FromString (probably %s): using deprecated name '%s'. Should use '%s'.", MapInfo_Map_bspname, gtype, replacement);
+               gtype = replacement;
+       }
+       FOREACH(Gametypes, it.mdl == gtype, return it);
        return NULL;
-#undef deprecate
 }
 
 string MapInfo_Type_Description(Gametype t)
@@ -717,9 +717,11 @@ void _MapInfo_Parse_Settemp(string pFilename, string acl, float type, string s,
                if(type == 0) // server set
                {
                        LOG_TRACE("Applying temporary setting ", t, " := ", s);
+               #if 0
                        if(cvar("g_campaign"))
                                cvar_set(t, s); // this is a wrapper and is always temporary anyway; no need to backup old values then
                        else
+               #endif
                                cvar_settemp(t, s);
                }
                else
@@ -841,12 +843,6 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, int pAllowGenerate, Gamet
                                fputs(fh, sprintf("gametype %s // defaults: %s\n", MapInfo_Type_ToString(it), _MapInfo_GetDefaultEx(it)));
                        });
 
-                       if(fexists(strcat("scripts/", pFilename, ".arena")))
-                               fputs(fh, "settemp_for_type all sv_q3acompat_machineshotgunswap 1\n");
-
-                       if(fexists(strcat("scripts/", pFilename, ".defi")))
-                               fputs(fh, "settemp_for_type all sv_vq3compat 1\n");
-
                        fputs(fh, "// optional: fog density red green blue alpha mindist maxdist\n");
                        fputs(fh, "// optional: settemp_for_type (all|gametypename) cvarname value\n");
                        fputs(fh, "// optional: clientsettemp_for_type (all|gametypename) cvarname value\n");