]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/util.qc
do not use gamedir name for icon
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / util.qc
index aabc262204c1592fa1e860f8141f97a8e40f2898..580f22a93c7c7e5caab333763150067fa5a0173f 100644 (file)
@@ -8,7 +8,6 @@ float GL_Have_TextureCompression()
        return (GL_CheckExtension("GL_EXT_texture_compression_s3tc") && GL_CheckExtension("GL_ARB_texture_compression"));
 }
 
-float tooltipdb;
 void loadTooltips()
 {
        tooltipdb = db_load(language_filename("tooltips.db"));
@@ -32,7 +31,7 @@ string getZonedTooltipForIdentifier(string s)
                if(t != "")
                        return strzone(t);
        }
-       if(prvm_language == "en" || prvm_language == "")
+       if(prvm_language == "en")
        {
                t = cvar_description(s);
                if(t != "" && t != "custom cvar")
@@ -72,6 +71,12 @@ void loadAllCvars(entity root)
 
 .string cvarNames_Multi;
 .void(entity me) saveCvars_Multi;
+string getCvarsMulti(entity me)
+{
+       if (me.cvarNames_Multi)
+               return me.cvarNames_Multi;
+       return string_null;
+}
 void saveCvarsMulti(entity me)
 {
        float n, i;
@@ -254,18 +259,23 @@ string _Nex_ExtResponseSystem_UpdateToURL;
 
 void URI_Get_Callback(float id, float status, string data)
 {
-       if (id == URI_GET_DISCARD)
+       if(url_URI_Get_Callback(id, status, data))
        {
-               // discard
+               // handled
        }
-       else if(id == URI_GET_UPDATENOTIFICATION)
+       else if (id == URI_GET_DISCARD)
        {
-               UpdateNotification_URI_Get_Callback(id, status, data);
+               // discard
        }
-       else if(id >= URI_GET_CURL && id <= URI_GET_CURL_END)
+       else if (id >= URI_GET_CURL && id <= URI_GET_CURL_END)
        {
+               // sv_cmd curl
                Curl_URI_Get_Callback(id, status, data);
        }
+       else if (id == URI_GET_UPDATENOTIFICATION)
+       {
+               UpdateNotification_URI_Get_Callback(id, status, data);
+       }
        else
        {
                print(sprintf(_("Received HTTP request data for an invalid id %d.\n"), id));
@@ -320,6 +330,12 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data)
                }
 
                _Nex_ExtResponseSystem_UpdateTo = strzone(_Nex_ExtResponseSystem_UpdateTo);
+
+               if(n >= 4)
+               {
+                       _Nex_ExtResponseSystem_BannedServers = strzone(argv(3));
+                       _Nex_ExtResponseSystem_BannedServersNeedsRefresh = 1;
+               }
        }
 }
 
@@ -532,52 +548,84 @@ float updateCompression()
 
 // note: include only those that should be in the menu!
 #define GAMETYPES \
-       GAMETYPE(MAPINFO_TYPE_ARENA, _("Arena")) \
-       GAMETYPE(MAPINFO_TYPE_ASSAULT, _("Assault")) \
-       GAMETYPE(MAPINFO_TYPE_CTF, _("Capture The Flag")) \
-       GAMETYPE(MAPINFO_TYPE_CA, _("Clan Arena")) \
-       GAMETYPE(MAPINFO_TYPE_DEATHMATCH, _("Deathmatch")) \
-       GAMETYPE(MAPINFO_TYPE_DOMINATION, _("Domination")) \
-       GAMETYPE(MAPINFO_TYPE_FREEZETAG, _("Freeze Tag")) \
-       GAMETYPE(MAPINFO_TYPE_KEEPAWAY, _("Keepaway")) \
-       GAMETYPE(MAPINFO_TYPE_KEYHUNT, _("Key Hunt")) \
-       GAMETYPE(MAPINFO_TYPE_LMS, _("Last Man Standing")) \
-       GAMETYPE(MAPINFO_TYPE_NEXBALL, _("Nexball")) \
-       GAMETYPE(MAPINFO_TYPE_ONSLAUGHT, _("Onslaught")) \
-       GAMETYPE(MAPINFO_TYPE_RACE, _("Race")) \
-       GAMETYPE(MAPINFO_TYPE_CTS, _("Race CTS")) \
-       GAMETYPE(MAPINFO_TYPE_RUNEMATCH, _("Runematch")) \
-       GAMETYPE(MAPINFO_TYPE_TEAM_DEATHMATCH, _("Team Deathmatch")) \
+       GAMETYPE(MAPINFO_TYPE_ARENA) \
+       GAMETYPE(MAPINFO_TYPE_ASSAULT) \
+       GAMETYPE(MAPINFO_TYPE_CTF) \
+       GAMETYPE(MAPINFO_TYPE_CA) \
+       GAMETYPE(MAPINFO_TYPE_DEATHMATCH) \
+       GAMETYPE(MAPINFO_TYPE_DOMINATION) \
+       GAMETYPE(MAPINFO_TYPE_FREEZETAG) \
+       GAMETYPE(MAPINFO_TYPE_KEEPAWAY) \
+       GAMETYPE(MAPINFO_TYPE_KEYHUNT) \
+       GAMETYPE(MAPINFO_TYPE_LMS) \
+       GAMETYPE(MAPINFO_TYPE_NEXBALL) \
+       GAMETYPE(MAPINFO_TYPE_ONSLAUGHT) \
+       GAMETYPE(MAPINFO_TYPE_RACE) \
+       GAMETYPE(MAPINFO_TYPE_CTS) \
+       GAMETYPE(MAPINFO_TYPE_RUNEMATCH) \
+       GAMETYPE(MAPINFO_TYPE_TEAM_DEATHMATCH) \
        /* nothing */
 
 float GameType_GetID(float cnt)
 {
        float i;
        i = 0;
-#define GAMETYPE(id,name) if(i++ == cnt) return id;
+       
+       #define GAMETYPE(id) if(i++ == cnt) return id;
        GAMETYPES
-#undef GAMETYPE
+       #undef GAMETYPE
+       
        return 0;
 }
-string GameType_GetName(float cnt)
-{
-       float i;
-       i = 0;
-#define GAMETYPE(id,name) if(i++ == cnt) return name;
-       GAMETYPES
-#undef GAMETYPE
-       return _("@!#%'n Tuba Throwing");
-}
+
 float GameType_GetCount()
 {
        float i;
        i = 0;
-#define GAMETYPE(id,name) ++i;
+       
+       #define GAMETYPE(id) ++i;
        GAMETYPES
-#undef GAMETYPE
+       #undef GAMETYPE
+       
        return i;
 }
 
+string GameType_GetName(float cnt)
+{
+       float i = GameType_GetID(cnt);
+       
+       if(i)
+               return MapInfo_Type_ToText(i);
+       
+       return "";
+}
+
+string GameType_GetIcon(float cnt)
+{
+       float i = GameType_GetID(cnt);
+       
+       if(i)
+               return strcat("gametype_", MapInfo_Type_ToString(i));
+       
+       return "";
+}
+
+/*string GameType_GetTeams(float cnt) // poor implementation, later something else could be done that's better?
+{
+       float i = GameType_GetID(cnt);
+       string s = _MapInfo_GetDefaultEx(i);
+       
+       if(i)
+       {
+               if(strstrofs(s, "teams", 0) >= 0)
+                       return _("teamplay");
+               else
+                       return _("free for all");
+       }
+       
+       return _("tuba for all");
+}*/
+
 void dialog_hudpanel_common_notoggle(entity me, string panelname)
 {
        float i;