From a35da54abb846ca2f3a6a48363fc5b29da8eb853 Mon Sep 17 00:00:00 2001 From: otta8634 Date: Sat, 8 Feb 2025 19:12:41 +0800 Subject: [PATCH] Neaten Settings > Game > Weapons dialog Relocated some options. Improved padding. Made the weapon icons display a bit further from the left edge of the weapon list. Added 2 new headers to better organize the options. --- .../xonotic/dialog_settings_game_weapons.qc | 67 +++++++++++-------- qcsrc/menu/xonotic/weaponslist.qc | 4 +- 2 files changed, 40 insertions(+), 31 deletions(-) diff --git a/qcsrc/menu/xonotic/dialog_settings_game_weapons.qc b/qcsrc/menu/xonotic/dialog_settings_game_weapons.qc index 0bc3063a2..8794cf24e 100644 --- a/qcsrc/menu/xonotic/dialog_settings_game_weapons.qc +++ b/qcsrc/menu/xonotic/dialog_settings_game_weapons.qc @@ -29,29 +29,32 @@ void XonoticGameWeaponsSettingsTab_fill(entity me) weaponsApplyButton.disableOnClick = true; me.TR(me); - me.TDempty(me, 0.25); - me.TD(me, 1, 2.5, e = makeXonoticHeaderLabel(_("Weapon Priority List (* = mutator weapon)"))); + me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Weapon Priority List (* = mutator weapon)"))); me.TR(me); - me.TDempty(me, 0.25); - me.TD(me, 9, 2.5, e = me.weaponsList = makeXonoticWeaponsList()); + me.TDempty(me, 0.2); + me.TD(me, 9, 2.6, e = me.weaponsList = makeXonoticWeaponsList()); e.applyButton = weaponsApplyButton; - me.gotoRC(me, 10, 0.25); - me.TD(me, 1, 1.25, e = makeXonoticButton(_("Up"), '0 0 0')); + me.gotoRC(me, 10, 0.2); + me.TD(me, 1, 2.6/2, e = makeXonoticButton(_("Up"), '0 0 0')); e.onClick = WeaponsList_MoveUp_Click; e.onClickEntity = me.weaponsList; e.applyButton = weaponsApplyButton; - me.TD(me, 1, 1.25, e = makeXonoticButton(_("Down"), '0 0 0')); + me.TD(me, 1, 2.6/2, e = makeXonoticButton(_("Down"), '0 0 0')); e.onClick = WeaponsList_MoveDown_Click; e.onClickEntity = me.weaponsList; e.applyButton = weaponsApplyButton; - - me.gotoRC(me, 0, 3); me.setFirstColumn(me, me.currentColumn); - me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_weaponpriority_useforcycling", _("Use priority list for weapon cycling"), + me.TR(me); + me.TR(me); + me.TDempty(me, 0.2); + me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "cl_weaponpriority_useforcycling", _("Use priority list for weapon cycling"), _("Make use of the list above when cycling through weapons with the mouse wheel"))); me.TR(me); - me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_weaponimpulsemode", _("Cycle through only usable weapon selections"))); + me.TDempty(me, 0.2); + me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1, "cl_weaponimpulsemode", _("Cycle through only usable weapon selections"))); e.sendCvars = true; - me.TR(me); + + me.gotoRC(me, 0, 3); me.setFirstColumn(me, me.currentColumn); + me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Weapon Options"))); me.TR(me); me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_unpress_attack_on_weapon_switch", _("Release attack buttons when you switch weapons"))); me.TR(me); @@ -59,32 +62,42 @@ void XonoticGameWeaponsSettingsTab_fill(entity me) _("Automatically switch to newly picked up weapons if they are better than what you are carrying"))); e.sendCvars = true; me.TR(me); - me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Auto switch in CTS:"))); - me.TD(me, 1, 2, e = makeXonoticMixedSlider("cl_autoswitch_cts")); + me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Auto switch in CTS:"))); + me.TD(me, 1, 1.8, e = makeXonoticMixedSlider("cl_autoswitch_cts")); e.addText(e, _("Never"), 0); e.addText(e, _("Default"), -1); e.addText(e, _("Always"), 1); e.configureXonoticMixedSliderValues(e); e.sendCvars = true; + + me.TR(me); me.TR(me); + me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Weapon Visuals"))); me.TR(me); me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "r_drawviewmodel", _("Draw 1st person weapon model"), _("Draw the weapon model"))); me.TR(me); me.TDempty(me, 0.2); - me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "cl_gunalign", "4", _("Left align"), + me.TD(me, 1, 2.8/3, e = makeXonoticRadioButton_T(1, "cl_gunalign", "4", _("Left align"), _("Position of the weapon model; requires reconnect"))); setDependent(e, "r_drawviewmodel", 1, 1); - me.TD(me, 1, 0.9, e = makeXonoticRadioButton_T(1, "cl_gunalign", "1", _("Center"), + me.TD(me, 1, 2.8/3, e = makeXonoticRadioButton_T(1, "cl_gunalign", "1", _("Center"), _("Position of the weapon model; requires reconnect"))); setDependent(e, "r_drawviewmodel", 1, 1); - me.TD(me, 1, 1.0, e = makeXonoticRadioButton_T(1, "cl_gunalign", "3", _("Right align"), + me.TD(me, 1, 2.8/3, e = makeXonoticRadioButton_T(1, "cl_gunalign", "3", _("Right align"), _("Position of the weapon model; requires reconnect"))); setDependent(e, "r_drawviewmodel", 1, 1); me.TR(me); - me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Weapon model opacity:"))); + me.TDempty(me, 0.2); + me.TD(me, 1, 2.8/2, e = makeXonoticCheckBox_T(0, "cl_followmodel", _("Gun model swaying"), "-")); + makeMulti(e, "cl_leanmodel"); + setDependent(e, "r_drawviewmodel", 1, 1); + me.TD(me, 1, 2.8/2, e = makeXonoticCheckBox(0, "cl_bobmodel", _("Gun model bobbing"))); + setDependent(e, "r_drawviewmodel", 1, 1); + me.TR(me); + me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Weapon model opacity:"))); setDependent(e, "r_drawviewmodel", 1, 1); - me.TD(me, 1, 2, e = makeXonoticMixedSlider("cl_viewmodel_alpha")); + me.TD(me, 1, 1.8, e = makeXonoticMixedSlider("cl_viewmodel_alpha")); setDependent(e, "r_drawviewmodel", 1, 1); e.addText(e, "15%", 0.15); e.addText(e, "25%", 0.25); @@ -92,20 +105,16 @@ void XonoticGameWeaponsSettingsTab_fill(entity me) e.addText(e, "75%", 0.75); e.addText(e, "100%", 1); e.configureXonoticMixedSliderValues(e); + + me.TR(me); me.TR(me); me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Apply team colors to weapon beam effects:"))); me.TR(me); me.TDempty(me, 0.2); - me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "cl_tracers_teamcolor", "0", _("Never"))); - me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "cl_tracers_teamcolor", "1", _("In team games"))); - me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "cl_tracers_teamcolor", "2", _("Always"))); - me.TR(me); - me.TR(me); - me.TD(me, 1, 2.8 / 2, e = makeXonoticCheckBox_T(0, "cl_followmodel", _("Gun model swaying"), "-")); - makeMulti(e, "cl_leanmodel"); - setDependent(e, "r_drawviewmodel", 1, 1); - me.TD(me, 1, 2.8 / 2, e = makeXonoticCheckBox(0, "cl_bobmodel", _("Gun model bobbing"))); - setDependent(e, "r_drawviewmodel", 1, 1); + me.TD(me, 1, 2.8/3, e = makeXonoticRadioButton(1, "cl_tracers_teamcolor", "0", _("Never"))); + me.TD(me, 1, 2.8/3, e = makeXonoticRadioButton(1, "cl_tracers_teamcolor", "1", _("In team games"))); + me.TD(me, 1, 2.8/3, e = makeXonoticRadioButton(1, "cl_tracers_teamcolor", "2", _("Always"))); + me.gotoRC(me, me.rows - 1, 0); me.setFirstColumn(me, me.currentColumn); me.TD(me, 1, me.columns, weaponsApplyButton); } diff --git a/qcsrc/menu/xonotic/weaponslist.qc b/qcsrc/menu/xonotic/weaponslist.qc index 8a799fcdf..89997ed9e 100644 --- a/qcsrc/menu/xonotic/weaponslist.qc +++ b/qcsrc/menu/xonotic/weaponslist.qc @@ -63,10 +63,10 @@ void XonoticWeaponsList_resizeNotify(entity me, vector relOrigin, vector relSize e.display(e, XonoticWeaponsList_cb); vector sz = draw_PictureSize(XonoticWeaponsList_cb_icon); float aspect_ratio = sz.y ? sz.x / sz.y : 1; - me.columnIconOrigin = 0; + me.columnIconOrigin = 0.25 * me.realFontSize.x; me.columnIconSize = me.itemAbsSize.y / me.itemAbsSize.x * aspect_ratio; - me.columnNameOrigin = me.columnIconOrigin + me.columnIconSize + (0.5 * me.realFontSize.x); + me.columnNameOrigin = me.columnIconOrigin + me.columnIconSize + (0.25 * me.realFontSize.x); me.columnNameSize = 1 - me.columnIconSize - (1.5 * me.realFontSize.x); // unused } float XonoticWeaponsList_mouseDrag(entity me, vector pos) -- 2.39.5