]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'Mario/weaponorder' into 'master'
authorMario <mario.mario@y7mail.com>
Mon, 30 Sep 2019 14:05:39 +0000 (14:05 +0000)
committerMario <mario.mario@y7mail.com>
Mon, 30 Sep 2019 14:05:39 +0000 (14:05 +0000)
Merge branch Mario/weaponorder (XS merge request)

Closes #1929

See merge request xonotic/xonotic-data.pk3dir!615

_hud_descriptions.cfg
hud_luma.cfg
hud_luminos.cfg
hud_luminos_minimal.cfg
hud_luminos_minimal_xhair.cfg
hud_luminos_old.cfg
hud_nexuiz.cfg
qcsrc/client/autocvars.qh
qcsrc/client/defs.qh
qcsrc/client/hud/hud_config.qc
qcsrc/client/hud/panel/weapons.qc

index 30e5a8bee9a8756fe9fafe883306260e1e4025aa..6e393e6a57eff4fdba4a60878e94ce0a2d106ead 100644 (file)
@@ -63,6 +63,7 @@ seta hud_panel_weapons_label_scale "" "scale of the weapon text label"
 seta hud_panel_weapons_accuracy "" "show accuracy color as the weapon icon background; colors can be configured with accuracy_color* cvars"
 seta hud_panel_weapons_ammo "" "show ammo as a status bar"
 seta hud_panel_weapons_onlyowned "" "show only owned weapons, set it to 2 to show only the held weapon"
+seta hud_panel_weapons_orderbyimpulse "" "List weapons in their impulse order instead of priority"
 seta hud_panel_weapons_noncurrent_alpha "" "alpha of noncurrent weapons"
 seta hud_panel_weapons_noncurrent_scale "" "scale of noncurrent weapons, relative to the current weapon"
 seta hud_panel_weapons_selection_radius "" "number of weapons that get partially highlighted on each side of the currently selected weapon"
index 813ecbaef0df64396789d8115bce2c758deaec4d..d8151425127d8fc80f1cd3e9d7c2250c229e06ad 100644 (file)
@@ -64,6 +64,7 @@ seta hud_panel_weapons_timeout_fadefgmin "0.4"
 seta hud_panel_weapons_timeout_speed_in "0.25"
 seta hud_panel_weapons_timeout_speed_out "0.75"
 seta hud_panel_weapons_onlyowned "1"
+seta hud_panel_weapons_orderbyimpulse "1"
 seta hud_panel_weapons_noncurrent_alpha "0.8"
 seta hud_panel_weapons_noncurrent_scale "0.9"
 seta hud_panel_weapons_selection_radius "0"
index c5cfe4ac548fdc62e070ac1cda9ed08d4a9c3524..8766bcb24835825fed6417263ba6b169455a38b4 100644 (file)
@@ -64,6 +64,7 @@ seta hud_panel_weapons_timeout_fadefgmin "0.4"
 seta hud_panel_weapons_timeout_speed_in "0.25"
 seta hud_panel_weapons_timeout_speed_out "0.75"
 seta hud_panel_weapons_onlyowned "1"
+seta hud_panel_weapons_orderbyimpulse "1"
 seta hud_panel_weapons_noncurrent_alpha "1"
 seta hud_panel_weapons_noncurrent_scale "1"
 seta hud_panel_weapons_selection_radius "0"
index b7282584637aba28087bec61f8c071f5ac97df68..02940f8d3ab5b8c1e81e61bc00c4b57381839652 100644 (file)
@@ -64,6 +64,7 @@ seta hud_panel_weapons_timeout_fadefgmin "0"
 seta hud_panel_weapons_timeout_speed_in "0.25"
 seta hud_panel_weapons_timeout_speed_out "0.75"
 seta hud_panel_weapons_onlyowned "1"
+seta hud_panel_weapons_orderbyimpulse "1"
 seta hud_panel_weapons_noncurrent_alpha "1"
 seta hud_panel_weapons_noncurrent_scale "1"
 seta hud_panel_weapons_selection_radius "0"
index 3bfd694b19cf2f0977c36c437ed7ee5c8220d5f9..41a47d7ab2d77cd1e6cc4d486eb5a0bf924b37f8 100644 (file)
@@ -64,6 +64,7 @@ seta hud_panel_weapons_timeout_fadefgmin "0"
 seta hud_panel_weapons_timeout_speed_in "0.25"
 seta hud_panel_weapons_timeout_speed_out "0.75"
 seta hud_panel_weapons_onlyowned "1"
+seta hud_panel_weapons_orderbyimpulse "1"
 seta hud_panel_weapons_noncurrent_alpha "1"
 seta hud_panel_weapons_noncurrent_scale "1"
 seta hud_panel_weapons_selection_radius "0"
index c808f62fb5b10ca9f430153f3260821fc0280ff9..f4a5e0441b97f3b5c7c5940330cc2585a9afde01 100644 (file)
@@ -64,6 +64,7 @@ seta hud_panel_weapons_timeout_fadefgmin "0"
 seta hud_panel_weapons_timeout_speed_in "0.25"
 seta hud_panel_weapons_timeout_speed_out "0.75"
 seta hud_panel_weapons_onlyowned "1"
+seta hud_panel_weapons_orderbyimpulse "1"
 seta hud_panel_weapons_noncurrent_alpha "1"
 seta hud_panel_weapons_noncurrent_scale "1"
 seta hud_panel_weapons_selection_radius "0"
index b0b02d080c6e6517407ca8706a8315bca9160f46..ea5dc69a240f1fee326c3fd58e07b94fc6add213 100644 (file)
@@ -64,6 +64,7 @@ seta hud_panel_weapons_timeout_fadefgmin "0"
 seta hud_panel_weapons_timeout_speed_in "0.25"
 seta hud_panel_weapons_timeout_speed_out "0.75"
 seta hud_panel_weapons_onlyowned "0"
+seta hud_panel_weapons_orderbyimpulse "1"
 seta hud_panel_weapons_noncurrent_alpha "1"
 seta hud_panel_weapons_noncurrent_scale "1"
 seta hud_panel_weapons_selection_radius "0"
index d31d12205cfa88357521cc5f6baa8baf3717cdfa..d11355659aa8071a5795e030b555a01361aeeb8b 100644 (file)
@@ -351,6 +351,7 @@ float autocvar_hud_panel_weapons_selection_radius = 0;
 float autocvar_hud_panel_weapons_selection_speed = 10;
 float autocvar_hud_panel_weapons_timeout;
 int autocvar_hud_panel_weapons_timeout_effect;
+bool autocvar_hud_panel_weapons_orderbyimpulse = true;
 float autocvar_hud_panel_weapons_timeout_fadebgmin;
 float autocvar_hud_panel_weapons_timeout_fadefgmin;
 float autocvar_hud_panel_weapons_timeout_speed_in = 0.25;
index 5ce4c3e60c3990a1f1492789ca47dee55cdc9bc6..db1a5afacaed87760c210bde6088c475c7dab29c 100644 (file)
@@ -173,8 +173,9 @@ REPLICATE(cvar_cl_weaponpriorities[9], string, "cl_weaponpriority9");
 
 float bgmtime;
 
-string weaponorder_byimpulse;
+string weaponorder_byimpulse; // NOTE: this is a misnomer, weapon order is not always sorted by impulse
 string weaponorder_bypriority;
+bool weapons_orderbyimpulse; // update priority list when toggling this
 
 float vortex_charge_movingavg;
 
index 3043e6e6860d90a0673829688f681eff6fb44e0d..a6c22c74eee9bf113f4d71570b90ec57f7a33938 100644 (file)
@@ -97,6 +97,7 @@ void HUD_Panel_ExportCfg(string cfgname)
                                        HUD_Write_Cvar("hud_panel_weapons_timeout_speed_in");
                                        HUD_Write_Cvar("hud_panel_weapons_timeout_speed_out");
                                        HUD_Write_Cvar("hud_panel_weapons_onlyowned");
+                                       HUD_Write_Cvar("hud_panel_weapons_orderbyimpulse");
                                        HUD_Write_Cvar("hud_panel_weapons_noncurrent_alpha");
                                        HUD_Write_Cvar("hud_panel_weapons_noncurrent_scale");
                                        HUD_Write_Cvar("hud_panel_weapons_selection_radius");
index fef3eec09e74d7a487c48bcabe702021256cb50b..832ffad0b38ca9b27727451808c44570e5d5eb79 100644 (file)
@@ -91,11 +91,15 @@ void HUD_Weapons()
        HUD_Panel_LoadCvars();
 
        // figure out weapon order (how the weapons are sorted) // TODO make this configurable
-       if(weaponorder_bypriority != autocvar_cl_weaponpriority || !weaponorder[0])
+       if(weaponorder_bypriority != autocvar_cl_weaponpriority || autocvar_hud_panel_weapons_orderbyimpulse != weapons_orderbyimpulse || !weaponorder[0])
        {
                int weapon_cnt;
+               weapons_orderbyimpulse = autocvar_hud_panel_weapons_orderbyimpulse;
                strcpy(weaponorder_bypriority, autocvar_cl_weaponpriority);
-               strcpy(weaponorder_byimpulse, W_FixWeaponOrder_BuildImpulseList(W_FixWeaponOrder_ForceComplete(W_NumberWeaponOrder(weaponorder_bypriority))));
+               string weporder = W_FixWeaponOrder_ForceComplete(W_NumberWeaponOrder(weaponorder_bypriority));
+               if(autocvar_hud_panel_weapons_orderbyimpulse)
+                       weporder = W_FixWeaponOrder_BuildImpulseList(weporder);
+               strcpy(weaponorder_byimpulse, weporder);
                weaponorder_cmp_str = strcat(" ", weaponorder_byimpulse, " ");
 
                weapon_cnt = 0;