2 CLASS(VoretAudioSettingsTab) EXTENDS(VoretTab)
\r
3 METHOD(VoretAudioSettingsTab, fill, void(entity))
\r
4 ATTRIB(VoretAudioSettingsTab, title, string, "Audio")
\r
5 ATTRIB(VoretAudioSettingsTab, intendedWidth, float, 0.9)
\r
6 ATTRIB(VoretAudioSettingsTab, rows, float, 19)
\r
7 ATTRIB(VoretAudioSettingsTab, columns, float, 6.5)
\r
8 ENDCLASS(VoretAudioSettingsTab)
\r
9 entity makeVoretAudioSettingsTab();
\r
12 #ifdef IMPLEMENTATION
\r
13 entity makeVoretAudioSettingsTab()
\r
16 me = spawnVoretAudioSettingsTab();
\r
17 me.configureDialog(me);
\r
21 void fillVoretAudioSettingsTab(entity me)
\r
26 s = makeVoretDecibelsSlider(-20, 0, 0.5, "bgmvolume");
\r
27 me.TD(me, 1, 1, e = makeVoretSliderCheckBox(-1000000, 1, s, "Music:"));
\r
29 setDependent(e, "menu_block_sound_sliders", 0, 0); // part of an ugly hack that needs to be fixed
\r
30 setDependent(s, "menu_block_sound_sliders", 0, 0); // part of an ugly hack that needs to be fixed
\r
33 s = makeVoretDecibelsSlider(-20, 0, 0.5, "volume");
\r
34 me.TD(me, 1, 1, e = makeVoretSliderCheckBox(-1000000, 1, s, "Master:"));
\r
36 setDependent(e, "menu_block_sound_sliders", 0, 0); // part of an ugly hack that needs to be fixed
\r
37 setDependent(s, "menu_block_sound_sliders", 0, 0); // part of an ugly hack that needs to be fixed
\r
39 me.TDempty(me, 0.2);
\r
40 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_staticvolume");
\r
41 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Ambient:"));
\r
42 makeMulti(s, "snd_entchannel2volume");
\r
44 setDependentStringNotEqual(e, "volume", "0");
\r
45 setDependentStringNotEqual(s, "volume", "0");
\r
47 me.TDempty(me, 0.2);
\r
48 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_worldchannel0volume");
\r
49 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Info:"));
\r
50 makeMulti(s, "snd_csqcchannel0volume");
\r
52 setDependentStringNotEqual(e, "volume", "0");
\r
53 setDependentStringNotEqual(s, "volume", "0");
\r
55 me.TDempty(me, 0.2);
\r
56 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_entchannel3volume");
\r
57 makeMulti(s, "snd_playerchannel0volume snd_playerchannel3volume");
\r
58 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Items:"));
\r
60 setDependentStringNotEqual(e, "volume", "0");
\r
61 setDependentStringNotEqual(s, "volume", "0");
\r
63 me.TDempty(me, 0.2);
\r
64 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_playerchannel6volume");
\r
65 makeMulti(s, "snd_csqcchannel6volume");
\r
66 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Pain:"));
\r
68 setDependentStringNotEqual(e, "volume", "0");
\r
69 setDependentStringNotEqual(s, "volume", "0");
\r
71 me.TDempty(me, 0.2);
\r
72 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_playerchannel7volume");
\r
73 makeMulti(s, "snd_entchannel7volume");
\r
74 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Player:"));
\r
76 setDependentStringNotEqual(e, "volume", "0");
\r
77 setDependentStringNotEqual(s, "volume", "0");
\r
79 me.TDempty(me, 0.2);
\r
80 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_entchannel4volume");
\r
81 makeMulti(s, "snd_playerchannel4volume snd_entchannel6volume snd_csqcchannel4volume");
\r
82 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Shots:"));
\r
84 setDependentStringNotEqual(e, "volume", "0");
\r
85 setDependentStringNotEqual(s, "volume", "0");
\r
87 me.TDempty(me, 0.2);
\r
88 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_playerchannel2volume");
\r
89 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Voice:"));
\r
91 setDependentStringNotEqual(e, "volume", "0");
\r
92 setDependentStringNotEqual(s, "volume", "0");
\r
94 me.TDempty(me, 0.2);
\r
95 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_playerchannel1volume");
\r
96 makeMulti(s, "snd_playerchannel5volume snd_entchannel1volume snd_entchannel5volume");
\r
97 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Weapons:"));
\r
99 setDependentStringNotEqual(e, "volume", "0");
\r
100 setDependentStringNotEqual(s, "volume", "0");
\r
103 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Prey sound cut:"));
\r
104 me.TD(me, 1, 2, e = makeVoretSlider(0, 1, 0.05, "cl_vore_cutvolume_sound"));
\r
106 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Prey music cut:"));
\r
107 me.TD(me, 1, 2, e = makeVoretSlider(0, 1, 0.05, "cl_vore_cutvolume_music"));
\r
109 me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
\r
110 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Frequency:"));
\r
111 me.TD(me, 1, 2, e = makeVoretTextSlider("snd_speed"));
\r
112 e.addValue(e, "8 kHz", "8000");
\r
113 e.addValue(e, "11.025 kHz", "11025");
\r
114 e.addValue(e, "16 kHz", "16000");
\r
115 e.addValue(e, "22.05 kHz", "22050");
\r
116 e.addValue(e, "24 kHz", "24000");
\r
117 e.addValue(e, "32 kHz", "32000");
\r
118 e.addValue(e, "44.1 kHz", "44100");
\r
119 e.addValue(e, "48 kHz", "48000");
\r
120 e.configureVoretTextSliderValues(e);
\r
122 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Channels:"));
\r
123 me.TD(me, 1, 2, e = makeVoretTextSlider("snd_channels"));
\r
124 e.addValue(e, "Mono", "1");
\r
125 e.addValue(e, "Stereo", "2");
\r
126 e.addValue(e, "2.1", "3");
\r
127 e.addValue(e, "3.1", "4");
\r
128 e.addValue(e, "4.1", "5");
\r
129 e.addValue(e, "5.1", "6");
\r
130 e.addValue(e, "6.1", "7");
\r
131 e.addValue(e, "7.1", "8");
\r
132 e.configureVoretTextSliderValues(e);
\r
134 me.TDempty(me, 0.2);
\r
135 me.TD(me, 1, 2.8, e = makeVoretCheckBox(0, "snd_swapstereo", "Swap Stereo"));
\r
136 setDependent(e, "snd_channels", 1.5, 0.5);
\r
138 me.TDempty(me, 0.2);
\r
139 me.TD(me, 1, 2.8, e = makeVoretCheckBox(0, "snd_spatialization_control", "Headphone friendly mode"));
\r
140 setDependent(e, "snd_channels", 1.5, 0.5);
\r
143 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Spatial voices:"));
\r
144 me.TD(me, 1, 2/3, e = makeVoretRadioButton(1, "cl_voice_directional", "0", "None"));
\r
145 me.TD(me, 1, 2/3, e = makeVoretRadioButton(1, "cl_voice_directional", "2", "Taunts"));
\r
146 me.TD(me, 1, 2/3, e = makeVoretRadioButton(1, "cl_voice_directional", "1", "All"));
\r
148 me.TDempty(me, 0.2);
\r
149 me.TD(me, 1, 0.8, e = makeVoretTextLabel(0, "Taunt range:"));
\r
150 setDependent(e, "cl_voice_directional", 0.5, -0.5);
\r
151 me.TD(me, 1, 2, e = makeVoretTextSlider("cl_voice_directional_taunt_attenuation"));
\r
152 e.addValue(e, "Very short", "3");
\r
153 e.addValue(e, "Short", "2");
\r
154 e.addValue(e, "Normal", "0.5");
\r
155 e.addValue(e, "Long", "0.25");
\r
156 e.addValue(e, "Full", "0.015625");
\r
157 e.configureVoretTextSliderValues(e);
\r
158 setDependent(e, "cl_voice_directional", 0.5, -0.5);
\r
160 sl = makeVoretSlider(0.15, 1, 0.05, "cl_autotaunt");
\r
161 sl.valueDisplayMultiplier = 100;
\r
162 sl.valueDigits = 0;
\r
163 me.TD(me, 1, 1, e = makeVoretSliderCheckBox(0, 1, sl, "Automatic taunts"));
\r
164 if(sl.value != e.savedValue)
\r
165 e.savedValue = 0.65; // default
\r
167 me.TD(me, 1, 3, e = makeVoretTextLabel(0.1, "Frequency:"));
\r
168 me.TD(me, 1, 2, sl);
\r
171 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Time warning:"));
\r
172 me.TD(me, 1, 2, e = makeVoretTextSlider("cl_sound_maptime_warning"));
\r
173 e.addValue(e, "None", "0");
\r
174 e.addValue(e, "1 minute", "1");
\r
175 e.addValue(e, "5 minutes", "2");
\r
176 e.addValue(e, "Both", "3");
\r
177 e.configureVoretTextSliderValues(e);
\r
179 me.TD(me, 1, 3, e = makeVoretCheckBox(0, "cl_hitsound", "Hit indicator"));
\r
181 me.TD(me, 1, 3, e = makeVoretCheckBoxEx(2, 0, "menu_sounds", "Menu sounds"));
\r
183 me.gotoRC(me, me.rows - 1, 0);
\r
184 me.TD(me, 1, me.columns, makeVoretCommandButton("Apply immediately", '0 0 0', "snd_restart; sendcvar cl_hitsound; sendcvar cl_autotaunt; sendcvar cl_voice_directional; sendcvar cl_voice_directional_taunt_attenuation", COMMANDBUTTON_APPLY));
\r