From: otta8634 Date: Tue, 11 Mar 2025 06:58:24 +0000 (+0800) Subject: Improve m_accelerate options in the menu X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=c21a019f38b5ed7962b1da6ae1a9bd34bab8c10f;p=xonotic%2Fxonotic-data.pk3dir.git Improve m_accelerate options in the menu Fixed the m_accelerate checkbox by turning it into a slider, similar to !772. Added m_accelerate_minspeed and m_accelerate_maxspeed sliders. Improved some padding. Also relocated one of the options in Settings > Input. Fixes #2224. --- diff --git a/qcsrc/menu/xonotic/dialog_settings_input.qc b/qcsrc/menu/xonotic/dialog_settings_input.qc index fb080ccf5..8539fc743 100644 --- a/qcsrc/menu/xonotic/dialog_settings_input.qc +++ b/qcsrc/menu/xonotic/dialog_settings_input.qc @@ -110,26 +110,44 @@ void XonoticInputSettingsTab_fill(entity me) me.TR(me); me.TD(me, 1, 3, e = makeXonoticCheckBox_T(1.022, "m_pitch", _("Invert aiming"), _("Invert mouse movement on the Y-axis"))); + + string m_accelerate_tooltip = _("In-game linear acceleration factor. \"Fully disabled\" also disables other acceleration types that can be enabled via the m_accelerate_* cvars"); me.TR(me); - me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "menu_mouse_absolute", _("Use system mouse positioning"), "-")); - makeMulti(e, "hud_cursormode"); - e.onClick = CheckBox_Click_Redisplay; - e.onClickEntity = e; + me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Acceleration factor:"))); + me.TD(me, 1, 2, e = makeXonoticMixedSlider_T("m_accelerate", m_accelerate_tooltip)); + e.addText(e, ZCTX(_("MOUSEACCEL^Fully disabled")), 0); + e.addText(e, ZCTX(_("MOUSEACCEL^Linear disabled")), 1); + e.addRange(e, 1.2, 4, 0.2); + e.configureXonoticMixedSliderValues(e); me.TR(me); - me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "m_accelerate", _("Enable built in mouse acceleration"))); + me.TDempty(me, 0.2); + me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Speed bounds:"))); + setDependent(e, "m_accelerate", 1, 0); + me.TD(me, 1, 1, e = makeXonoticSlider_T(0, 10000, 500, "m_accelerate_minspeed", + m_accelerate_tooltip)); + setDependent(e, "m_accelerate", 1, 0); + me.TD(me, 1, 1, e = makeXonoticSlider_T(5000, 20000, 1000, "m_accelerate_maxspeed", + m_accelerate_tooltip)); + setDependent(e, "m_accelerate", 1, 0); me.TR(me); + me.TDempty(me, 0.2); if(cvar_type("vid_dgamouse") & CVAR_TYPEFLAG_ENGINE) { - me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "vid_dgamouse", _("Disable system mouse acceleration"), + me.TD(me, 1, 2.8, e = makeXonoticCheckBox_T(0, "vid_dgamouse", _("Disable system mouse acceleration"), _("Make use of DGA mouse input"))); } else if(cvar_type("apple_mouse_noaccel") & CVAR_TYPEFLAG_ENGINE) - me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Disable system mouse acceleration"))); + me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Disable system mouse acceleration"))); else { - me.TD(me, 1, 3, e = makeXonoticCheckBox(0, string_null, _("Disable system mouse acceleration"))); + me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, string_null, _("Disable system mouse acceleration"))); e.disabled = 1; // the option is never available in this case, just there for show } + me.TR(me); + me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "menu_mouse_absolute", _("Use system mouse positioning"), "-")); + makeMulti(e, "hud_cursormode"); + e.onClick = CheckBox_Click_Redisplay; + e.onClickEntity = e; me.TR(me); me.TR(me);