]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/util.qc
Revert "Make sure endless function call loop actually works"
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / util.qc
index 5d5b2d166edd5758918c8e7850f9cffa83662b13..d8640a501c3650344fa836af31d26a38d60192f8 100644 (file)
@@ -313,11 +313,6 @@ void URI_Get_Callback(float id, float status, string data)
        }
 }
 
-void DisableServerBackwardsCompatibility()
-{
-       cvar_set("gameversion_min", ftos(100 * floor(cvar("gameversion") / 100)));
-}
-
 void UpdateNotification_URI_Get_Callback(float id, float status, string data)
 {
        float n;
@@ -352,6 +347,7 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data)
        string s;
 
        string un_version = "";
+       string un_tosversion = "";
        string un_download = "";
        string un_url = "";
        string un_bannedservers = "";
@@ -372,6 +368,11 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data)
                                un_version = s;
                                break;
                        }
+                       case "T":
+                       {
+                               un_tosversion = s;
+                               break;
+                       }
                        case "C":
                        {
                                un_compatexpire = s;
@@ -411,25 +412,17 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data)
                }
        }
 
-       if(un_version != "")
+       if(un_version != "" && vercmp(cvar_string("g_xonoticversion"), un_version) < 0)
        {
-               if(vercmp(cvar_string("g_xonoticversion"), un_version) < 0)
-               {
-                       // update needed
-                       _Nex_ExtResponseSystem_UpdateTo = strzone(un_version);
-                       if(un_download) { LOG_INFO(_("Update can be downloaded at:"), "\n", un_download); }
-                       if(un_url) { _Nex_ExtResponseSystem_UpdateToURL = strzone(un_url); }
-                       DisableServerBackwardsCompatibility();
-               }
-               else if(cvar_string("g_xonoticversion") == un_version)
-               {
-                       if(un_compatexpire != "")
-                       {
-                               string curdate = strftime(false, "%Y%m%d%H%M%S");
-                               if (strcmp(curdate, un_compatexpire) >= 0)
-                                       DisableServerBackwardsCompatibility();
-                       }
-               }
+               // update needed
+               _Nex_ExtResponseSystem_UpdateTo = strzone(un_version);
+               if(un_download) { LOG_INFO(_("Update can be downloaded at:"), "\n", un_download); }
+               if(un_url) { _Nex_ExtResponseSystem_UpdateToURL = strzone(un_url); }
+       }
+
+       if(un_tosversion != "")
+       {
+               _Nex_ExtResponseSystem_NewToS = stof(un_tosversion);
        }
 
        if(un_bannedservers != "")
@@ -464,15 +457,8 @@ void updateCheck()
        if(!_Nex_ExtResponseSystem_Queried)
        {
                _Nex_ExtResponseSystem_Queried = 1;
-               float startcnt;
-               string uri;
-
-               cvar_set("cl_startcount", ftos(startcnt = cvar("cl_startcount") + 1));
-
-               // for privacy, munge the start count a little
-               startcnt = floor((floor(startcnt / 10) + random()) * 10);
-               uri = sprintf("http://update.xonotic.org/checkupdate.txt?version=%s&cnt=%d", uri_escape(cvar_string("g_xonoticversion")), startcnt);
-               uri_get(uri, URI_GET_UPDATENOTIFICATION);
+               cvar_set("cl_startcount", ftos(cvar("cl_startcount") + 1));
+               uri_get("https://update.xonotic.org/checkupdate.txt", URI_GET_UPDATENOTIFICATION);
        }
 
        if(_Nex_ExtResponseSystem_PacksStep > 0)
@@ -506,16 +492,11 @@ void updateCheck()
 
 }
 
-bool show_propermenu = false;
-
 float preMenuInit()
 {
        vector sz;
        vector boxA, boxB;
 
-       if(random() < 0.1)
-               show_propermenu = true;
-
        updateCheck();
 
        MapInfo_Cache_Create();
@@ -560,10 +541,7 @@ void preMenuDraw()
                fs = ((1/draw_scale.x) * eX + (1/draw_scale.y) * eY) * 12;
                line = eY * fs.y;
                string l1, l2;
-               if(show_propermenu)
-                       l1 = sprintf("Jeff pay 4 new weapons for %s", _Nex_ExtResponseSystem_UpdateTo);
-               else
-                       l1 = sprintf(_("Update to %s now!"), _Nex_ExtResponseSystem_UpdateTo);
+               l1 = sprintf(_("Update to %s now!"), _Nex_ExtResponseSystem_UpdateTo);
                l2 = "http://www.xonotic.org/";
                if(_Nex_ExtResponseSystem_UpdateToURL)
                        l2 = _Nex_ExtResponseSystem_UpdateToURL;
@@ -582,6 +560,7 @@ void preMenuDraw()
                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 (!campaign_name_previous)
                campaign_name_previous = strzone(strcat(campaign_name, "x")); // force unequal
        if(campaign_name == campaign_name_previous)
@@ -682,13 +661,13 @@ float updateCompression()
        GAMETYPE(MAPINFO_TYPE_ONSLAUGHT) \
        GAMETYPE(MAPINFO_TYPE_ASSAULT) \
        /* GAMETYPE(MAPINFO_TYPE_DUEL) */ \
-       /* GAMETYPE(MAPINFO_TYPE_INVASION) */ \
        /**/
 
 // hidden gametypes come last so indexing always works correctly
 #define HIDDEN_GAMETYPES \
        GAMETYPE(MAPINFO_TYPE_RACE) \
        GAMETYPE(MAPINFO_TYPE_CTS) \
+       GAMETYPE(MAPINFO_TYPE_INVASION) \
        /**/
 
 Gametype GameType_GetID(int cnt)
@@ -817,34 +796,16 @@ void dialog_hudpanel_main_settings(entity me, string panelname)
                                e.configureXonoticTextSliderValues(e);
 }
 
-void makeServerSingleplayer()
-{
-       localcmd("defer 0.1 \"sv_cmd settemp net_address 127.0.0.1\"\n");
-       localcmd("defer 0.1 \"sv_cmd settemp net_address_ipv6 ::1\"\n");
-}
-
-string quitGameButton_getText(entity btn)
+bool isServerSingleplayer()
 {
-       if (btn.disabled)
-               return _("Quit current game");
-       else if(cvar("g_campaign"))
-               return _("Quit campaign");
-       else if (cvar_string("net_address") == "127.0.0.1" && cvar_string("net_address_ipv6") == "::1")
-               return _("Quit singleplayer");
-       else
-               return _("Quit multiplayer");
+       return (cvar_string("net_address") == "127.0.0.1" && cvar_string("net_address_ipv6") == "::1");
 }
 
-string quitGameButton_getTooltip(entity btn)
+void makeServerSingleplayer()
 {
-       if (btn.disabled)
-               return "-";
-       else if(cvar("g_campaign"))
-               return "-";
-       else if (cvar_string("net_address") == "127.0.0.1" && cvar_string("net_address_ipv6") == "::1")
-               return "-";
-       else
-               return _("Quit multiplayer / Disconnect from the server");
+       // it doesn't allow clients to connect from different machines
+       localcmd("defer 0.1 \"sv_cmd settemp net_address 127.0.0.1\"\n");
+       localcmd("defer 0.1 \"sv_cmd settemp net_address_ipv6 ::1\"\n");
 }
 
 float getFadedAlpha(float currentAlpha, float startAlpha, float targetAlpha)