From 23d5ed0d4c67fb8ef96adb401ad1e2a8c8af1387 Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 3 Mar 2018 12:40:44 +1000 Subject: [PATCH] Fix weapon arena menu display --- qcsrc/lib/string.qh | 8 ++++++++ .../menu/xonotic/dialog_multiplayer_create_mutators.qc | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/qcsrc/lib/string.qh b/qcsrc/lib/string.qh index 0a3fb085c..812eb72c8 100644 --- a/qcsrc/lib/string.qh +++ b/qcsrc/lib/string.qh @@ -161,6 +161,14 @@ string cons(string a, string b) return strcat(a, " ", b); } +ERASEABLE +string cons_mid(string a, string mid, string b) +{ + if (a == "") return b; + if (b == "") return a; + return strcat(a, mid, b); +} + ERASEABLE string substring_range(string s, float b, float e) { diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc b/qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc index 0ea24a889..f8bf895c2 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.qc @@ -20,7 +20,7 @@ string weaponarenastring_cvar; string WeaponArenaString() { string s; - float n, i; + float n; s = cvar_string("g_weaponarena"); if(s == "0") return ""; @@ -39,14 +39,14 @@ string WeaponArenaString() n = tokenize_console(s); s = ""; - for(i = 0; i < n; ++i) + for(int j = 0; j < n; ++j) { FOREACH(Weapons, it != WEP_Null, { - if(argv(i) == it.netname) - s = strcat(s, " & ", it.m_name); + if(argv(j) == it.netname) + s = cons_mid(s, " & ", it.m_name); }); } - s = sprintf(_("%s Arena"), substring(s, 3, strlen(s) - 3)); + s = sprintf(_("%s Arena"), s); weaponarenastring = strzone(s); -- 2.39.2