20{
23 "snd_restart; "
24 "snd_attenuation_method_${menu_snd_attenuation_method}"
26 audioApplyButton.disableOnClick = true;
27
28 me.TR(me);
31 me.TD(me, 1, 2, s);
32 me.TR(me);
33 me.TDempty(me, 0.2);
39 me.TD(me, 1, 2, s);
40 me.TR(me);
41 me.TDempty(me, 0.2);
47 me.TD(me, 1, 2, s);
48 me.TR(me);
49 me.TDempty(me, 0.2);
54 me.TD(me, 1, 2, s);
55 me.TR(me);
56 me.TDempty(me, 0.2);
61 me.TD(me, 1, 2, s);
62 me.TR(me);
63 me.TDempty(me, 0.2);
68 me.TD(me, 1, 2, s);
69 me.TR(me);
70 me.TDempty(me, 0.2);
75 me.TD(me, 1, 2, s);
76 me.TR(me);
77 me.TDempty(me, 0.2);
82 me.TD(me, 1, 2, s);
83 me.TR(me);
84 me.TDempty(me, 0.2);
89 me.TD(me, 1, 2, s);
90 me.TR(me);
91 me.TDempty(me, 0.2);
97 me.TD(me, 1, 2, s);
98 me.TR(me);
99 me.TR(me);
100 me.TD(me, 1, 3, e =
makeXonoticCheckBox(0,
"menu_snd_attenuation_method", _(
"New style sound attenuation")));
101 e.applyButton = audioApplyButton;
102 me.TR(me);
103 me.TD(me, 1, 3,
makeXonoticCheckBox(0,
"snd_mutewhenidle", _(
"Mute sounds when not active")));
104
105 me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
108 _("Sound output frequency")));
109 e.addText(e, _("8 kHz"), 8000);
110 e.addText(e, _("11.025 kHz"), 11025);
111 e.addText(e, _("16 kHz"), 16000);
112 e.addText(e, _("22.05 kHz"), 22050);
113 e.addText(e, _("24 kHz"), 24000);
114 e.addText(e, _("32 kHz"), 32000);
115 e.addText(e, _("44.1 kHz"), 44100);
116 e.addText(e, _("48 kHz"), 48000);
117 e.configureXonoticMixedSliderValues(e);
118 e.applyButton = audioApplyButton;
119 me.TR(me);
122 _("Number of channels for the sound output")));
123 e.addText(e, _("Mono"), 1);
124 e.addText(e, _("Stereo"), 2);
125 e.addText(e, _("2.1"), 3);
126 e.addText(e, _("4"), 4);
127 e.addText(e, _("5"), 5);
128 e.addText(e, _("5.1"), 6);
129 e.addText(e, _("6.1"), 7);
130 e.addText(e, _("7.1"), 8);
131 e.configureXonoticMixedSliderValues(e);
132 e.applyButton = audioApplyButton;
133 me.TR(me);
134 me.TR(me);
136 _("Swap left/right channels")));
138 me.TR(me);
139 me.TD(me, 1, 3, e =
makeXonoticCheckBox_T(0,
"snd_spatialization_control", _(
"Headphone-friendly mode"),
140 _("Blend the left and right channels slightly to decrease stereo separation a bit")));
142 me.TR(me);
143 me.TR(me);
145 _("Play a hit indicator sound when your shot hits an enemy")));
146 e.sendCvars = true;
147 me.TR(me);
148 me.TDempty(me, 0.2);
150 e.sendCvars = true;
152 me.TD(me, 1, 2.8 / 3, e =
makeXonoticRadioButton_T(3,
"cl_hitsound",
"2", _(
"Decreasing"), _(
"Decrease pitch with more damage")));
153 e.sendCvars = true;
155 me.TD(me, 1, 2.8 / 3, e =
makeXonoticRadioButton_T(3,
"cl_hitsound",
"3", _(
"Increasing"), _(
"Increase pitch with more damage")));
156 e.sendCvars = true;
158 me.TR(me);
160 me.TR(me);
162 _("Play sounds when clicking menu items")));
164 _("Play sounds when hovering over menu items too")));
166 me.TR(me);
167 me.TR(me);
170 e.formatString = "m";
171 e.addText(e,
ZCTX(_(
"WRN^Disabled")), 0);
172 e.addRange(e, 1, 5, 4);
173 e.addText(e,
ZCTX(_(
"WRN^Both")), 3);
174 e.configureXonoticMixedSliderValues(e);
175 me.TR(me);
178 _("Automatically taunt enemies after fragging them")));
179 e.addText(e, _("Never"), 0);
180 e.addText(e, _("Sometimes"), 0.35);
181 e.addText(e, _("Often"), 0.65);
182 e.addText(e, _("Always"), 1);
183 e.configureXonoticMixedSliderValues(e);
184 e.sendCvars = true;
185
186 me.gotoRC(me, me.rows - 1, 0);
187 me.TD(me, 1, me.columns, audioApplyButton);
188}
entity makeXonoticDecibelsSlider_T(float theValueMin, float theValueMax, float theValueStep, string theCvar, string theTooltip)
entity makeXonoticTextLabel(float theAlign, string theText)
entity makeXonoticCheckBox_T(float isInverted, string theCvar, string theText, string theTooltip)
entity makeXonoticCheckBoxEx_T(float theYesValue, float theNoValue, string theCvar, string theText, string theTooltip)
entity makeXonoticCheckBox(float isInverted, string theCvar, string theText)
entity makeXonoticMixedSlider(string theCvar)
entity makeXonoticMixedSlider_T(string theCvar, string theTooltip)