19{
22 "snd_restart; "
23 "snd_attenuation_method_${menu_snd_attenuation_method}"
25 audioApplyButton.disableOnClick = true;
26
27 me.TR(me);
30 me.TD(me, 1, 2, s);
31 me.TR(me);
32 me.TDempty(me, 0.2);
38 me.TD(me, 1, 2, s);
39 me.TR(me);
40 me.TDempty(me, 0.2);
46 me.TD(me, 1, 2, s);
47 me.TR(me);
48 me.TDempty(me, 0.2);
53 me.TD(me, 1, 2, s);
54 me.TR(me);
55 me.TDempty(me, 0.2);
60 me.TD(me, 1, 2, s);
61 me.TR(me);
62 me.TDempty(me, 0.2);
67 me.TD(me, 1, 2, s);
68 me.TR(me);
69 me.TDempty(me, 0.2);
74 me.TD(me, 1, 2, s);
75 me.TR(me);
76 me.TDempty(me, 0.2);
81 me.TD(me, 1, 2, s);
82 me.TR(me);
83 me.TDempty(me, 0.2);
88 me.TD(me, 1, 2, s);
89 me.TR(me);
90 me.TDempty(me, 0.2);
96 me.TD(me, 1, 2, s);
97 me.TR(me);
98 me.TR(me);
99 me.TD(me, 1, 3, e =
makeXonoticCheckBox(0,
"menu_snd_attenuation_method", _(
"New style sound attenuation")));
100 e.applyButton = audioApplyButton;
101 me.TR(me);
102 me.TD(me, 1, 3,
makeXonoticCheckBox(0,
"snd_mutewhenidle", _(
"Mute sounds when not active")));
103
104 me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
107 _("Sound output frequency")));
108 e.addText(e, _("8 kHz"), 8000);
109 e.addText(e, _("11.025 kHz"), 11025);
110 e.addText(e, _("16 kHz"), 16000);
111 e.addText(e, _("22.05 kHz"), 22050);
112 e.addText(e, _("24 kHz"), 24000);
113 e.addText(e, _("32 kHz"), 32000);
114 e.addText(e, _("44.1 kHz"), 44100);
115 e.addText(e, _("48 kHz"), 48000);
116 e.configureXonoticMixedSliderValues(e);
117 e.applyButton = audioApplyButton;
118 me.TR(me);
121 _("Number of channels for the sound output")));
122 e.addText(e, _("Mono"), 1);
123 e.addText(e, _("Stereo"), 2);
124 e.addText(e, _("2.1"), 3);
125 e.addText(e, _("4"), 4);
126 e.addText(e, _("5"), 5);
127 e.addText(e, _("5.1"), 6);
128 e.addText(e, _("6.1"), 7);
129 e.addText(e, _("7.1"), 8);
130 e.configureXonoticMixedSliderValues(e);
131 e.applyButton = audioApplyButton;
132 me.TR(me);
133 me.TR(me);
135 _("Swap left/right channels")));
137 me.TR(me);
138 me.TD(me, 1, 3, e =
makeXonoticCheckBox_T(0,
"snd_spatialization_control", _(
"Headphone-friendly mode"),
139 _("Blend the left and right channels slightly to decrease stereo separation a bit")));
141 me.TR(me);
142 me.TR(me);
144 _("Play a hit indicator sound when your shot hits an enemy")));
145 e.sendCvars = true;
146 me.TR(me);
147 me.TDempty(me, 0.2);
149 e.sendCvars = true;
151 me.TD(me, 1, 2.8 / 3, e =
makeXonoticRadioButton_T(3,
"cl_hitsound",
"2", _(
"Decreasing"), _(
"Decrease pitch with more damage")));
152 e.sendCvars = true;
154 me.TD(me, 1, 2.8 / 3, e =
makeXonoticRadioButton_T(3,
"cl_hitsound",
"3", _(
"Increasing"), _(
"Increase pitch with more damage")));
155 e.sendCvars = true;
157 me.TR(me);
159 me.TR(me);
161 _("Play sounds when clicking menu items")));
163 _("Play sounds when hovering over menu items too")));
165 me.TR(me);
166 me.TR(me);
169 e.formatString = "m";
170 e.addText(e,
ZCTX(_(
"WRN^Disabled")), 0);
171 e.addRange(e, 1, 5, 4);
172 e.addText(e,
ZCTX(_(
"WRN^Both")), 3);
173 e.configureXonoticMixedSliderValues(e);
174 me.TR(me);
177 _("Automatically taunt enemies after fragging them")));
178 e.addText(e, _("Never"), 0);
179 e.addText(e, _("Sometimes"), 0.35);
180 e.addText(e, _("Often"), 0.65);
181 e.addText(e, _("Always"), 1);
182 e.configureXonoticMixedSliderValues(e);
183 e.sendCvars = true;
184
185 me.gotoRC(me, me.rows - 1, 0);
186 me.TD(me, 1, me.columns, audioApplyButton);
187}
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)