]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix #2939 "New Toys showing up as an active modification"
authorterencehill <piuntn@gmail.com>
Thu, 10 Oct 2024 10:56:30 +0000 (12:56 +0200)
committerterencehill <piuntn@gmail.com>
Thu, 10 Oct 2024 10:59:51 +0000 (12:59 +0200)
Client code was wrongly building the active mutator list from local cvars when no mutator is active on the server

qcsrc/common/util.qc

index 1bc669d83777665b334990e6aa2e566a33536efe..4ad93f9142685d212400df6aae3783b3725b375c 100644 (file)
@@ -227,11 +227,19 @@ bool mut_is_active(int mut)
                return (active_mutators[0] & BIT(mut));
 }
 
-// if s == "" (MENUQC) builds the mutator list for the Mutators dialog based on local cvar values
-// otherwise (CSQC) translates the mutator list (s) that client has received from server
-// NOTE: this function merges MENUQC and CSQC code in order to avoid duplicating and separating strings
+// MENUQC: it builds the mutator list based on local cvars (for the Mutators dialog)
+// CSQC: it translates the mutator list received from server (for the Welcome dialog)
+// MENUQC and CSQC code is merged in order to avoid duplicating and separating strings
 string build_mutator_list(string s)
 {
+       #ifdef CSQC
+       if (s == "") return "";
+       #endif
+
+       #ifdef MENUQC
+       if (s != "") s = "";
+       #endif
+
        int i = -1, n = 0; // allow only 1 iteration in the following for loop if (s == "")
        if (s != "")
        {