Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
dialog_settings_audio.qc File Reference
#include "dialog_settings_audio.qh"
#include "slider_decibels.qh"
#include "commandbutton.qh"
#include "textlabel.qh"
#include "checkbox.qh"
#include "radiobutton.qh"
#include "mixedslider.qh"
#include "checkbox_slider_invalid.qh"
Include dependency graph for dialog_settings_audio.qc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

entity makeXonoticAudioSettingsTab ()
void XonoticAudioSettingsTab_fill (entity me)

Function Documentation

◆ makeXonoticAudioSettingsTab()

entity makeXonoticAudioSettingsTab ( )

Definition at line 11 of file dialog_settings_audio.qc.

12{
14 me.configureDialog(me);
15 return me;
16}
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
#define NEW(cname,...)
Definition oo.qh:117

References entity(), and NEW.

Referenced by XonoticAudioSettingsTab::ATTRIB(), and XonoticSettingsDialog_fill().

◆ XonoticAudioSettingsTab_fill()

void XonoticAudioSettingsTab_fill ( entity me)

Definition at line 18 of file dialog_settings_audio.qc.

19{
20 entity e, e2, s;
21 entity audioApplyButton = makeXonoticCommandButton(_("Apply immediately"), '0 0 0',
22 "snd_restart; "
23 "snd_attenuation_method_${menu_snd_attenuation_method}"
25 audioApplyButton.disableOnClick = true;
26
27 me.TR(me);
28 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "mastervolume", "-");
29 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Master:")));
30 me.TD(me, 1, 2, s);
31 me.TR(me);
32 me.TDempty(me, 0.2);
33 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "bgmvolume", "-");
34 makeMulti(s, "snd_channel8volume");
35 setDependentNOT(s, "mastervolume", 0);
36 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Music:")));
37 setDependentNOT(e, "mastervolume", 0);
38 me.TD(me, 1, 2, s);
39 me.TR(me);
40 me.TDempty(me, 0.2);
41 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_staticvolume", "-");
42 makeMulti(s, "snd_channel9volume");
43 setDependentNOT(s, "mastervolume", 0);
44 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("VOL^Ambient:"))));
45 setDependentNOT(e, "mastervolume", 0);
46 me.TD(me, 1, 2, s);
47 me.TR(me);
48 me.TDempty(me, 0.2);
49 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel0volume", "-");
50 setDependentNOT(s, "mastervolume", 0);
51 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Info:")));
52 setDependentNOT(e, "mastervolume", 0);
53 me.TD(me, 1, 2, s);
54 me.TR(me);
55 me.TDempty(me, 0.2);
56 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel3volume", "-");
57 setDependentNOT(s, "mastervolume", 0);
58 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Items:")));
59 setDependentNOT(e, "mastervolume", 0);
60 me.TD(me, 1, 2, s);
61 me.TR(me);
62 me.TDempty(me, 0.2);
63 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel6volume", "-");
64 setDependentNOT(s, "mastervolume", 0);
65 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Pain:")));
66 setDependentNOT(e, "mastervolume", 0);
67 me.TD(me, 1, 2, s);
68 me.TR(me);
69 me.TDempty(me, 0.2);
70 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel7volume", "-");
71 setDependentNOT(s, "mastervolume", 0);
72 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Player:")));
73 setDependentNOT(e, "mastervolume", 0);
74 me.TD(me, 1, 2, s);
75 me.TR(me);
76 me.TDempty(me, 0.2);
77 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel4volume", "-");
78 setDependentNOT(s, "mastervolume", 0);
79 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Shots:")));
80 setDependentNOT(e, "mastervolume", 0);
81 me.TD(me, 1, 2, s);
82 me.TR(me);
83 me.TDempty(me, 0.2);
84 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel2volume", "-");
85 setDependentNOT(s, "mastervolume", 0);
86 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Voice:")));
87 setDependentNOT(e, "mastervolume", 0);
88 me.TD(me, 1, 2, s);
89 me.TR(me);
90 me.TDempty(me, 0.2);
91 s = makeXonoticDecibelsSlider_T(-40, 0, 0.4, "snd_channel1volume", "-");
92 makeMulti(s, "snd_channel5volume"); // @!#%'n Tuba
93 setDependentNOT(s, "mastervolume", 0);
94 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Weapons:")));
95 setDependentNOT(e, "mastervolume", 0);
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);
105 me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Frequency:")));
106 me.TD(me, 1, 2, e = makeXonoticMixedSlider_T("snd_speed",
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);
119 me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Channels:")));
120 me.TD(me, 1, 2, e = makeXonoticMixedSlider_T("snd_channels",
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);
134 me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "snd_swapstereo", _("Swap stereo output channels"),
135 _("Swap left/right channels")));
136 setDependentNOT(e, "snd_channels", 1);
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")));
140 setDependentNOT(e, "snd_channels", 1);
141 me.TR(me);
142 me.TR(me);
143 me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_hitsound", _("Hit indication sound"),
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);
148 me.TD(me, 1, 2.8 / 3, e = makeXonoticRadioButton_T(3, "cl_hitsound", "1", ZCTX(_("SND^Fixed")), "-"));
149 e.sendCvars = true;
150 setDependent(e, "cl_hitsound", 1, 3);
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;
153 setDependent(e, "cl_hitsound", 1, 3);
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;
156 setDependent(e, "cl_hitsound", 1, 3);
157 me.TR(me);
158 me.TD(me, 1, 3, makeXonoticCheckBox(0, "con_chatsound", _("Chat message sound")));
159 me.TR(me);
160 me.TD(me, 1, 1.2, e = makeXonoticCheckBox_T(0, "menu_sounds", _("Menu sounds"),
161 _("Play sounds when clicking menu items")));
162 me.TD(me, 1, 1.2, e.linkedCheckBox = e2 = makeXonoticCheckBoxEx_T(2, 1, "menu_sounds", _("Focus sounds"),
163 _("Play sounds when hovering over menu items too")));
164 setDependent(e2, "menu_sounds", 1, 2);
165 me.TR(me);
166 me.TR(me);
167 me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Time announcer:")));
168 me.TD(me, 1, 2, e = makeXonoticMixedSlider("cl_announcer_maptime"));
169 e.formatString = "m";
170 e.addText(e, ZCTX(_("WRN^Disabled")), 0);
171 e.addRange(e, 1, 5, 4); // 1 and 5
172 e.addText(e, ZCTX(_("WRN^Both")), 3);
173 e.configureXonoticMixedSliderValues(e);
174 me.TR(me);
175 me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Automatic taunts:")));
176 me.TD(me, 1, 2, e = makeXonoticMixedSlider_T("cl_autotaunt",
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 makeXonoticCommandButton(string theText, vector theColor, string theCommand, int theFlags)
#define COMMANDBUTTON_APPLY
#define ZCTX(s)
Definition i18n.qh:68
void makeMulti(entity e, string otherCvars)
Definition util.qc:92
void setDependentNOT(entity e, string theCvarName, float theCvarValue)
Definition util.qc:192
void setDependent(entity e, string theCvarName, float theCvarMin, float theCvarMax)
Definition util.qc:180
entity makeXonoticDecibelsSlider_T(float theValueMin, float theValueMax, float theValueStep, string theCvar, string theTooltip)
entity makeXonoticTextLabel(float theAlign, string theText)
Definition textlabel.qc:3
entity makeXonoticCheckBox_T(float isInverted, string theCvar, string theText, string theTooltip)
Definition checkbox.qc:3
entity makeXonoticCheckBoxEx_T(float theYesValue, float theNoValue, string theCvar, string theText, string theTooltip)
Definition checkbox.qc:33
entity makeXonoticCheckBox(float isInverted, string theCvar, string theText)
Definition checkbox.qc:28
entity makeXonoticMixedSlider(string theCvar)
Definition mixedslider.qc:9
entity makeXonoticMixedSlider_T(string theCvar, string theTooltip)
Definition mixedslider.qc:3
entity makeXonoticRadioButton_T(float theGroup, string theCvar, string theValue, string theText, string theTooltip)
Definition radiobutton.qc:3

References COMMANDBUTTON_APPLY, entity(), makeMulti(), makeXonoticCheckBox(), makeXonoticCheckBox_T(), makeXonoticCheckBoxEx_T(), makeXonoticCommandButton(), makeXonoticDecibelsSlider_T(), makeXonoticMixedSlider(), makeXonoticMixedSlider_T(), makeXonoticRadioButton_T(), makeXonoticTextLabel(), setDependent(), setDependentNOT(), and ZCTX.