]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c
move the antispam to a better place :P
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_multiplayer_join_serverinfo.c
index 4824331a0305dab6fe3a7d2a7a6c48cf36b917cb..5f6262cf45e5bdb508f69dd32f7117cd4b9c673e 100644 (file)
@@ -21,7 +21,6 @@ CLASS(XonoticServerInfoDialog) EXTENDS(XonoticDialog)
        ATTRIB(XonoticServerInfoDialog, currentServerKey, string, string_null)
        ATTRIB(XonoticServerInfoDialog, currentServerID, string, string_null)
        ATTRIB(XonoticServerInfoDialog, currentServerEncrypt, string, string_null)
-       ATTRIB(XonoticServerInfoDialog, currentServerCanConnect, string, string_null)
        ATTRIB(XonoticServerInfoDialog, currentServerPure, string, string_null)
 
        ATTRIB(XonoticServerInfoDialog, nameLabel, entity, NULL)
@@ -60,6 +59,50 @@ void XonoticServerInfoDialog_loadServerInfo(entity me, float i)
        float m, pure, j;
        string s, typestr, versionstr, numh, maxp, k, v;
 
+       if(me.currentServerName)
+               strunzone(me.currentServerName);
+       me.currentServerName = string_null;
+       if(me.currentServerCName)
+               strunzone(me.currentServerCName);
+       me.currentServerCName = string_null;
+       if(me.currentServerType)
+               strunzone(me.currentServerType);
+       me.currentServerType = string_null;
+       if(me.currentServerMap)
+               strunzone(me.currentServerMap);
+       me.currentServerMap = string_null;
+       if(me.currentServerPlayers)
+               strunzone(me.currentServerPlayers);
+       me.currentServerPlayers = string_null;
+       if(me.currentServerNumPlayers)
+               strunzone(me.currentServerNumPlayers);
+       me.currentServerNumPlayers = string_null;
+       if(me.currentServerNumBots)
+               strunzone(me.currentServerNumBots);
+       me.currentServerNumBots = string_null;
+       if(me.currentServerMod)
+               strunzone(me.currentServerMod);
+       me.currentServerMod = string_null;
+       if(me.currentServerVersion)
+               strunzone(me.currentServerVersion);
+       me.currentServerVersion = string_null;
+       if(me.currentServerPing)
+               strunzone(me.currentServerPing);
+       me.currentServerPing = string_null;
+       if(me.currentServerKey)
+               strunzone(me.currentServerKey);
+       me.currentServerKey = string_null;
+       if(me.currentServerID)
+               strunzone(me.currentServerID);
+       me.currentServerID = string_null;
+       // not zoned!
+       //if(me.currentServerEncrypt)
+       //      strunzone(me.currentServerEncrypt);
+       //me.currentServerEncrypt = string_null;
+       if(me.currentServerPure)
+               strunzone(me.currentServerPure);
+       me.currentServerPure = string_null;
+
        SLIST_FIELD_NAME = gethostcacheindexforkey("name");
        me.currentServerName = strzone(gethostcachestring(SLIST_FIELD_NAME, i));
        me.nameLabel.setText(me.nameLabel, me.currentServerName);
@@ -121,6 +164,7 @@ void XonoticServerInfoDialog_loadServerInfo(entity me, float i)
        me.versionLabel.setText(me.versionLabel, me.currentServerVersion);
 
        me.currentServerPure = ((pure < 0) ? "N/A" : (pure == 0) ? "Official settings" : sprintf("%d modified settings", pure));
+       me.currentServerPure = strzone(me.currentServerPure);
        me.pureLabel.setText(me.pureLabel, me.currentServerPure);
 
        SLIST_FIELD_PING = gethostcacheindexforkey("ping");
@@ -128,8 +172,6 @@ void XonoticServerInfoDialog_loadServerInfo(entity me, float i)
        me.currentServerPing = strzone(s);
        me.pingLabel.setText(me.pingLabel, me.currentServerPing);
 
-       print(me.currentServerCName, "\n");
-
        s = crypto_getidfp(me.currentServerCName);
        if not(s)
                s = "N/A";
@@ -156,19 +198,25 @@ void XonoticServerInfoDialog_loadServerInfo(entity me, float i)
                        if(cvar("crypto_aeslevel") >= 3)
                                me.currentServerEncrypt = "not supported (can't connect)";
                        else
-                               me.currentServerEncrypt = "not supported";
+                               me.currentServerEncrypt = "not supported (won't encrypt)";
                        break;
                case 1:
-                       me.currentServerEncrypt = "supported";
+                       if(cvar("crypto_aeslevel") >= 2)
+                               me.currentServerEncrypt = "supported (will encrypt)";
+                       else
+                               me.currentServerEncrypt = "supported (won't encrypt)";
                        break;
                case 2:
-                       me.currentServerEncrypt = "requested";
+                       if(cvar("crypto_aeslevel") >= 1)
+                               me.currentServerEncrypt = "requested (will encrypt)";
+                       else
+                               me.currentServerEncrypt = "requested (won't encrypt)";
                        break;
                case 3:
                        if(cvar("crypto_aeslevel") <= 0)
                                me.currentServerEncrypt = "required (can't connect)";
                        else
-                               me.currentServerEncrypt = "required";
+                               me.currentServerEncrypt = "required (will encrypt)";
                        break;
        }
        me.encryptLabel.setText(me.encryptLabel, me.currentServerEncrypt);