]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/main.qc
Merge branch 'bones_was_here/mapinfo' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / main.qc
index 40cb19f74057e249202a916f3fb156ff245826cf..015e9be076592a07f56ede0c4d1c6ef7280e5fc7 100644 (file)
@@ -1420,7 +1420,9 @@ string GetVersionMessage(string hostversion, bool version_mismatch, bool version
 
 bool net_handle_ServerWelcome()
 {
-       campaign = ReadByte();
+       int flags = ReadByte();
+
+       campaign = flags & 1;
        if (campaign)
        {
                int campaign_level = ReadByte();
@@ -1441,8 +1443,10 @@ bool net_handle_ServerWelcome()
 
        strcpy(hostname, ReadString());
        string hostversion = ReadString();
-       bool version_mismatch = ReadByte();
-       bool version_check = ReadByte();
+       bool version_mismatch = flags & 2;
+       bool version_check = flags & 4;
+       MapInfo_Map_titlestring = ReadString();
+       MapInfo_Map_author = flags & 8 ? ReadString() : "";
        srv_minplayers = ReadByte();
        srv_maxplayers = ReadByte();
        string modifications = translate_modifications(ReadString());
@@ -1454,15 +1458,9 @@ bool net_handle_ServerWelcome()
 
        msg = strcat(msg, "\n\n", _("Gametype:"), " ^1", MapInfo_Type_ToText(gametype), "\n");
 
-       msg = strcat(msg, "\n", _("Map:"), " ^2");
-       if (world.message == "")
-               msg = strcat(msg, mi_shortname, "\n");
-       else
-       {
-               int i = strstrofs(world.message, " by ", 0); // matches _MapInfo_Generate()
-               string longname = i >= 0 ? substring(world.message, 0, i) : world.message;
-               msg = strcat(msg, (strcasecmp(longname, mi_shortname) ? strcat(mi_shortname, " ^7// ^2") : ""), longname, "\n");
-       }
+       msg = strcat(msg, "\n", _("Map:"), " ", MapInfo_Map_titlestring, "\n");
+       if (flags & 8)
+               msg = strcat(msg, "^9", _("by:"), " ", MapInfo_Map_author, "\n");
 
        if (srv_minplayers || srv_maxplayers)
        {