]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/common/mapinfo.qc
Get VoreTournament code to compile with gmqcc. To be compiled with the same parameter...
[voretournament/voretournament.git] / data / qcsrc / common / mapinfo.qc
index 5f58477e77d4a67e5991dbdba276815a69e9e243..f31bc5323284201425a474210df48c9e2843da23 100644 (file)
@@ -38,7 +38,7 @@ void MapInfo_Cache_Store()
                return;\r
 \r
        s = db_get(_MapInfo_Cache_DB_NameToIndex, MapInfo_Map_bspname);\r
-       if(!s) // empty string is NOT valid here!\r
+       if(s == "")\r
        {\r
                i = buf_getsize(_MapInfo_Cache_Buf_IndexToMapData);\r
                db_put(_MapInfo_Cache_DB_NameToIndex, MapInfo_Map_bspname, ftos(i));\r
@@ -64,7 +64,7 @@ float MapInfo_Cache_Retrieve(string map)
                return 0;\r
 \r
        s = db_get(_MapInfo_Cache_DB_NameToIndex, map);\r
-       if(!s)\r
+       if(s == "")\r
                return 0;\r
        i = stof(s);\r
 \r
@@ -76,6 +76,7 @@ float MapInfo_Cache_Retrieve(string map)
        MapInfo_Map_supportedGametypes = stof(bufstr_get(_MapInfo_Cache_Buf_IndexToMapData, ++i));\r
        MapInfo_Map_supportedFeatures = stof(bufstr_get(_MapInfo_Cache_Buf_IndexToMapData, ++i));\r
        MapInfo_Map_flags = stof(bufstr_get(_MapInfo_Cache_Buf_IndexToMapData, ++i));\r
+\r
        return 1;\r
 }\r
 \r
@@ -86,6 +87,8 @@ float _MapInfo_globhandle;
 string _MapInfo_GlobItem(float i)\r
 {\r
        string s;\r
+       if(!_MapInfo_globopen)\r
+               return string_null;\r
        s = search_getfilename(_MapInfo_globhandle, i);\r
        return substring(s, 5, strlen(s) - 9); // without maps/ and .bsp\r
 }\r
@@ -93,11 +96,19 @@ string _MapInfo_GlobItem(float i)
 void MapInfo_Enumerate()\r
 {\r
        if(_MapInfo_globopen)\r
+       {\r
                search_end(_MapInfo_globhandle);\r
+               _MapInfo_globopen = 0;\r
+       }\r
        MapInfo_Cache_Invalidate();\r
        _MapInfo_globhandle = search_begin("maps/*.bsp", TRUE, TRUE);\r
-       _MapInfo_globcount = search_getsize(_MapInfo_globhandle);\r
-       _MapInfo_globopen = 1;\r
+       if(_MapInfo_globhandle >= 0)\r
+       {\r
+               _MapInfo_globcount = search_getsize(_MapInfo_globhandle);\r
+               _MapInfo_globopen = 1;\r
+       }\r
+       else\r
+               _MapInfo_globcount = 0;\r
 }\r
 \r
 // filter the info by game type mask (updates MapInfo_count)\r