]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mapinfo.qc
Merge branch 'master' into develop
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mapinfo.qc
index 1b3fa8faf7d34a46925a337174447423e4ecd220..c0b67ff4d535e97e9752132fafd7134c28c9ae6d 100644 (file)
@@ -253,11 +253,9 @@ string unquote(string s)
        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;
@@ -629,7 +627,10 @@ string MapInfo_Type_ToText(Gametype t)
 void _MapInfo_Parse_Settemp(string pFilename, string acl, float type, string s, float recurse)
 {
        string t;
-       float fh, o;
+       float o;
+       // tabs are invalid, treat them as "empty"
+       s = strreplace("\t", "", s);
+
        t = car(s); s = cdr(s);
 
        // limited support of "" and comments
@@ -663,7 +664,7 @@ void _MapInfo_Parse_Settemp(string pFilename, string acl, float type, string s,
        {
                if(recurse > 0)
                {
-                       fh = fopen(s, FILE_READ);
+                       float fh = fopen(s, FILE_READ);
                        if(fh < 0)
                        {
                                if(WARN_COND)
@@ -673,6 +674,7 @@ void _MapInfo_Parse_Settemp(string pFilename, string acl, float type, string s,
                        {
                                while((s = fgets(fh)))
                                {
+                                       s = strreplace("\t", "", s); // treat tabs as "empty", perform here first to ensure coments are detected
                                        // catch different sorts of comments
                                        if(s == "")                    // empty lines
                                                continue;
@@ -1139,7 +1141,7 @@ int MapInfo_CurrentFeatures()
 {
        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;