]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/util.qc
trigger refresh
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / util.qc
index b9d6a08d5f63810246c3ac21a30588d28c5712b2..b8215d52cac6c97150ea863fa05c7dd885d02a25 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"));
@@ -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;
@@ -250,6 +255,7 @@ void setDependentWeird(entity e, float(entity) func)
 
 float _Nex_ExtResponseSystem_Queried;
 string _Nex_ExtResponseSystem_UpdateTo;
+string _Nex_ExtResponseSystem_UpdateToURL;
 
 void URI_Get_Callback(float id, float status, string data)
 {
@@ -314,9 +320,17 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data)
                        // update needed
                        if(n >= 2)
                                print(sprintf(_("Update can be downloaded at:\n%s\n"), argv(1)));
+                       if(n >= 3)
+                               _Nex_ExtResponseSystem_UpdateToURL = strzone(argv(2));
                }
 
                _Nex_ExtResponseSystem_UpdateTo = strzone(_Nex_ExtResponseSystem_UpdateTo);
+
+               if(n >= 4)
+               {
+                       _Nex_ExtResponseSystem_BannedServers = strzone(argv(3));
+                       _Nex_ExtResponseSystem_BannedServersNeedsRefresh = 1;
+               }
        }
 }
 
@@ -364,7 +378,7 @@ void postMenuDraw()
        if(autocvar_menu_watermark != "")
        {
                vector fs = '48 48 0';
-               draw_CenterText('0.5 0.1 0', autocvar_menu_watermark, globalToBoxSize('32 32 0', draw_scale), '1 1 1', 0.05, 1);
+               draw_CenterText('0.5 0.1 0', sprintf(_("^1%s TEST BUILD"), autocvar_menu_watermark), globalToBoxSize('32 32 0', draw_scale), '1 1 1', 0.05, 1);
        }
 }
 void preMenuDraw()
@@ -421,16 +435,25 @@ void preMenuDraw()
                // TODO rather turn this into a dialog
                fs = ((1/draw_scale_x) * eX + (1/draw_scale_y) * eY) * 12;
                line = eY * fs_y;
-               sz_x = draw_TextWidth("  http://www.xonotic.org/  ", 0, fs);
+               string l1, l2;
+               l1 = sprintf(_("Update to %s now!"), _Nex_ExtResponseSystem_UpdateTo);
+               l2 = "http://www.xonotic.org/";
+               if(_Nex_ExtResponseSystem_UpdateToURL)
+                       l2 = _Nex_ExtResponseSystem_UpdateToURL;
+
+               sz_x = draw_TextWidth("    ", 0, fs) + max(
+                               draw_TextWidth(l1, 0, fs),
+                               draw_TextWidth(l2, 0, fs)
+                       );
                sz_y = 3 * fs_y;
 
-               draw_alpha = sin(time * 0.112 - 0.3) * 10;
+               draw_alpha = bound(0, sin(time * 0.112 - 0.3) * 10, 1);
                mid = eX * (0.5 + 0.5 * (1 - sz_x) * cos(time * 0.071))
                    + eY * (0.5 + 0.5 * (1 - sz_y) * sin(time * 0.071));
 
                draw_Fill(mid - 0.5 * sz, sz, '1 1 0', 1);
-               draw_CenterText(mid - 1 * line, sprintf(_("Update to %s now!"), _Nex_ExtResponseSystem_UpdateTo), fs, '1 0 0', 1, 0);
-               draw_CenterText(mid - 0 * line, "http://www.xonotic.org/", fs, '0 0 1', 1, 0);
+               draw_CenterText(mid - 1 * line, l1, fs, '1 0 0', 1, 0);
+               draw_CenterText(mid - 0 * line, l2, fs, '0 0 1', 1, 0);
        }
        if not(campaign_name_previous)
                campaign_name_previous = strzone(strcat(campaign_name, "x")); // force unequal
@@ -464,25 +487,13 @@ string resolvemod(string m)
                return m;
 }
 
-string HUD_Panel_GetSettingName(float theSetting)
-{
-       switch(theSetting) {
-               case HUD_MENU_ENABLE: return ""; break;
-               default: return "";
-       }
-}
-
 float updateCompression()
 {
-       float fh;
        float have_dds, have_jpg, have_tga;
        float can_dds;
-       if((have_dds = ((fh = fopen("dds/particles/particlefont.dds", FILE_READ)) >= 0)))
-               fclose(fh);
-       if((have_jpg = ((fh = fopen("particles/particlefont.jpg", FILE_READ)) >= 0)))
-               fclose(fh);
-       if((have_tga = ((fh = fopen("particles/particlefont.tga", FILE_READ)) >= 0)))
-               fclose(fh);
+       have_dds = (fexists("dds/particles/particlefont.dds"));
+       have_jpg = (fexists("particles/particlefont.jpg"));
+       have_tga = (fexists("particles/particlefont.tga"));
        can_dds = GL_Have_TextureCompression();
        if(have_dds && (have_jpg || have_tga))
        {
@@ -490,8 +501,12 @@ float updateCompression()
                // but ONLY if we actually support it!
                if(can_dds)
                {
+                       // these builds are meant to have GOOD quality, so let's not compress non-skinframes
                        cvar_set("gl_texturecompression", "0");
                        return 1;
+
+                       //cvar_set("gl_texturecompression", cvar_string("r_texture_dds_load"));
+                       //return 2;
                }
                else
                {
@@ -574,29 +589,6 @@ float GameType_GetCount()
        return i;
 }
 
-string language_filename(string s)
-{
-       string fn;
-       float fh;
-       fn = prvm_language;
-       if(fn == "" || fn == "dump")
-               return s;
-       fn = strcat(s, ".", fn);
-       if((fh = fopen(fn, FILE_READ)) >= 0)
-       {
-               fclose(fh);
-               return fn;
-       }
-       return s;
-}
-string CTX(string s)
-{
-       float p = strstrofs(s, "^", 0);
-       if(p < 0)
-               return s;
-       return substring(s, p+1, -1);
-}
-
 void dialog_hudpanel_common_notoggle(entity me, string panelname)
 {
        float i;