From 9871dde72ae6a08bc02d30344488985704a73941 Mon Sep 17 00:00:00 2001 From: Martin Taibr Date: Mon, 14 Jan 2019 00:18:15 +0100 Subject: [PATCH] only show warnings for current map in GAMEQC --- qcsrc/common/mapinfo.qc | 67 +++++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/qcsrc/common/mapinfo.qc b/qcsrc/common/mapinfo.qc index 68c548aae..8c381fb60 100644 --- a/qcsrc/common/mapinfo.qc +++ b/qcsrc/common/mapinfo.qc @@ -10,6 +10,11 @@ #endif bool autocvar_g_mapinfo_ignore_warnings; +#ifdef MENUQC +#define WARN_COND !autocvar_g_mapinfo_ignore_warnings +#else +#define WARN_COND (!autocvar_g_mapinfo_ignore_warnings && MapInfo_Map_bspname == mi_shortname) +#endif // generic string stuff @@ -528,7 +533,7 @@ void _MapInfo_Map_ApplyGametypeEx(string s, Gametype pWantedType, Gametype pThis if (sa == "") continue; int p = strstrofs(sa, "=", 0); if (p < 0) { - if(!autocvar_g_mapinfo_ignore_warnings) + if(WARN_COND) LOG_WARNF("Invalid gametype setting in mapinfo for gametype %s: %s", MapInfo_Type_ToString(pWantedType), sa); continue; } @@ -568,7 +573,7 @@ void _MapInfo_Map_ApplyGametypeEx(string s, Gametype pWantedType, Gametype pThis } } FOREACH(Gametypes, true, handled |= it.m_parse_mapinfo(k, v)); - if (!handled && !autocvar_g_mapinfo_ignore_warnings) + if (!handled && WARN_COND) LOG_WARNF("Invalid gametype setting in mapinfo for gametype %s: %s", MapInfo_Type_ToString(pWantedType), sa); } @@ -589,7 +594,7 @@ Gametype MapInfo_Type_FromString(string t) #define deprecate(from, to) MACRO_BEGIN { \ if (t == #from) { \ string replacement = #to; \ - if(!autocvar_g_mapinfo_ignore_warnings) \ + if(WARN_COND) \ LOG_WARNF("MapInfo_Type_FromString (probably %s): using deprecated name '%s'. Should use '%s'.", MapInfo_Map_bspname, t, replacement); \ t = replacement; \ } \ @@ -660,7 +665,8 @@ void _MapInfo_Parse_Settemp(string pFilename, string acl, float type, string s, { fh = fopen(s, FILE_READ); if(fh < 0) - LOG_WARN("Map ", pFilename, " references not existing config file ", s); + if(WARN_COND) + LOG_WARN("Map ", pFilename, " references not existing config file ", s); else { for (;;) @@ -688,19 +694,22 @@ void _MapInfo_Parse_Settemp(string pFilename, string acl, float type, string s, fclose(fh); } } - else + else if(WARN_COND) LOG_WARN("Map ", pFilename, " uses too many levels of inclusion"); } - else if(t == "") - LOG_WARN("Map ", pFilename, " contains a potentially harmful setting, ignored"); - else if (!cvar_value_issafe(t)) - LOG_WARN("Map ", pFilename, " contains a potentially harmful setting, ignored"); - else if (!cvar_value_issafe(s)) - LOG_WARN("Map ", pFilename, " contains a potentially harmful setting, ignored"); - else if(matchacl(MAPINFO_SETTEMP_ACL_SYSTEM, t) <= 0) - LOG_WARN("Map ", pFilename, " contains a potentially harmful setting, ignored"); + else if(t == "" + || !cvar_value_issafe(t) + || !cvar_value_issafe(s) + || matchacl(MAPINFO_SETTEMP_ACL_SYSTEM, t) <= 0) + { + if (WARN_COND) + LOG_WARN("Map ", pFilename, " contains a potentially harmful setting, ignored"); + } else if(matchacl(acl, t) <= 0) - LOG_WARN("Map ", pFilename, " contains a denied setting, ignored"); + { + if (WARN_COND) + LOG_WARN("Map ", pFilename, " contains a denied setting, ignored"); + } else { if(type == 0) // server set @@ -850,7 +859,7 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, int pAllowGenerate, Gamet error("... but I just wrote it!"); } - if(!autocvar_g_mapinfo_ignore_warnings) + if(WARN_COND) LOG_WARN("autogenerated mapinfo file ", fn, " has been loaded; please edit that file and move it to maps/", pFilename, ".mapinfo"); } @@ -889,7 +898,7 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, int pAllowGenerate, Gamet else if(t == "vehicles") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_VEHICLES; else if(t == "monsters") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_MONSTERS; else if(t == "new_toys") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_WEAPONS; - else + else if(WARN_COND) LOG_WARN("Map ", pFilename, " supports unknown feature ", t, ", ignored"); } else if(t == "hidden") @@ -917,11 +926,11 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, int pAllowGenerate, Gamet { t = car(s); s = cdr(s); Gametype f = MapInfo_Type_FromString(t); - //if(!autocvar_g_mapinfo_ignore_warnings) + //if(WARN_COND) //LOG_WARN("Map ", pFilename, " contains the legacy 'type' keyword which is deprecated and will be removed in the future. Please migrate the mapinfo file to 'gametype'."); if(f) _MapInfo_Map_ApplyGametype (s, pGametypeToSet, f, true); - else if(!autocvar_g_mapinfo_ignore_warnings) + else if(WARN_COND) LOG_DEBUG("Map ", pFilename, " supports unknown game type ", t, ", ignored"); } else if(t == "gametype") @@ -930,7 +939,7 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, int pAllowGenerate, Gamet Gametype f = MapInfo_Type_FromString(t); if(f) _MapInfo_Map_ApplyGametypeEx (s, pGametypeToSet, f); - else if(!autocvar_g_mapinfo_ignore_warnings) + else if(WARN_COND) LOG_DEBUG("Map ", pFilename, " supports unknown game type ", t, ", ignored"); } else if(t == "size") @@ -942,16 +951,19 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, int pAllowGenerate, Gamet t = car(s); s = cdr(s); d = stof(t); t = car(s); s = cdr(s); e = stof(t); if(s == "") - LOG_WARN("Map ", pFilename, " contains an incorrect size line (not enough params), syntax: size mins_x mins_y mins_z maxs_x maxs_y maxs_z"); + if(WARN_COND) + LOG_WARN("Map ", pFilename, " contains an incorrect size line (not enough params), syntax: size mins_x mins_y mins_z maxs_x maxs_y maxs_z"); else { t = car(s); s = cdr(s); f = stof(t); if(s != "") - LOG_WARN("Map ", pFilename, " contains an incorrect size line (too many params), syntax: size mins_x mins_y mins_z maxs_x maxs_y maxs_z"); + if(WARN_COND) + LOG_WARN("Map ", pFilename, " contains an incorrect size line (too many params), syntax: size mins_x mins_y mins_z maxs_x maxs_y maxs_z"); else { if(a >= d || b >= e || c >= f) - LOG_WARN("Map ", pFilename, " contains an incorrect size line, mins have to be < maxs"); + if(WARN_COND) + LOG_WARN("Map ", pFilename, " contains an incorrect size line, mins have to be < maxs"); else { MapInfo_Map_mins.x = a; @@ -1001,7 +1013,8 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, int pAllowGenerate, Gamet else if(t == "fog") { if (!cvar_value_issafe(s)) - LOG_WARN("Map ", pFilename, " contains a potentially harmful fog setting, ignored"); + if(WARN_COND) + LOG_WARN("Map ", pFilename, " contains a potentially harmful fog setting, ignored"); else MapInfo_Map_fog = s; } @@ -1017,14 +1030,15 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, int pAllowGenerate, Gamet if(pGametypeToSet) { if (!cvar_value_issafe(t)) - LOG_WARN("Map ", pFilename, " contains a potentially harmful cdtrack, ignored"); + if(WARN_COND) + LOG_WARN("Map ", pFilename, " contains a potentially harmful cdtrack, ignored"); else MapInfo_Map_clientstuff = strcat( MapInfo_Map_clientstuff, "cd loop \"", t, "\"\n" ); } } - else if(!autocvar_g_mapinfo_ignore_warnings) + else if(WARN_COND) LOG_WARN("Map ", pFilename, " provides unknown info item ", t, ", ignored"); } fclose(fh); @@ -1039,7 +1053,8 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, int pAllowGenerate, Gamet MapInfo_Cache_Store(); if(MapInfo_Map_supportedGametypes != 0) return r; - LOG_WARN("Map ", pFilename, " supports no game types, ignored"); + if (WARN_COND) + LOG_WARN("Map ", pFilename, " supports no game types, ignored"); return 0; } int MapInfo_Get_ByName(string pFilename, float pAllowGenerate, Gametype pGametypeToSet) -- 2.39.2