Tweak the Effects menu, and add iris adaptation to it as well.
[voretournament/voretournament.git] / data / qcsrc / menu / voret / dialog_settings_audio.c
1 #ifdef INTERFACE\r
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, 20)\r
7         ATTRIB(VoretAudioSettingsTab, columns, float, 6.5)\r
8 ENDCLASS(VoretAudioSettingsTab)\r
9 entity makeVoretAudioSettingsTab();\r
10 #endif\r
11 \r
12 #ifdef IMPLEMENTATION\r
13 entity makeVoretAudioSettingsTab()\r
14 {\r
15         entity me;\r
16         me = spawnVoretAudioSettingsTab();\r
17         me.configureDialog(me);\r
18         return me;\r
19 }\r
20 \r
21 void fillVoretAudioSettingsTab(entity me)\r
22 {\r
23         entity e, s, sl;\r
24 \r
25         me.TR(me);\r
26                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "menu_bgmvolume");\r
27                 me.TD(me, 1, 1, e = makeVoretSliderCheckBox(-1000000, 1, s, "Music:"));\r
28                 me.TD(me, 1, 2, s);\r
29                 makeMulti(e, "bgmvolume"); // part of an ugly hack for the menu audio sliders to work with the cutsound feature\r
30                 makeMulti(s, "bgmvolume"); // part of an ugly hack for the menu audio sliders to work with the cutsound feature\r
31         me.TR(me);\r
32         me.TR(me);\r
33                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "menu_volume");\r
34                 me.TD(me, 1, 1, e = makeVoretSliderCheckBox(-1000000, 1, s, "Master:"));\r
35                 me.TD(me, 1, 2, s);\r
36                 makeMulti(e, "volume"); // part of an ugly hack for the menu audio sliders to work with the cutsound feature\r
37                 makeMulti(s, "volume"); // part of an ugly hack for the menu audio sliders to work with the cutsound feature\r
38         me.TR(me);\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
43                 me.TD(me, 1, 2, s);\r
44                 setDependentStringNotEqual(e, "volume", "0");\r
45                 setDependentStringNotEqual(s, "volume", "0");\r
46         me.TR(me);\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
51                 me.TD(me, 1, 2, s);\r
52                 setDependentStringNotEqual(e, "volume", "0");\r
53                 setDependentStringNotEqual(s, "volume", "0");\r
54         me.TR(me);\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
59                 me.TD(me, 1, 2, s);\r
60                 setDependentStringNotEqual(e, "volume", "0");\r
61                 setDependentStringNotEqual(s, "volume", "0");\r
62         me.TR(me);\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
67                 me.TD(me, 1, 2, s);\r
68                 setDependentStringNotEqual(e, "volume", "0");\r
69                 setDependentStringNotEqual(s, "volume", "0");\r
70         me.TR(me);\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
75                 me.TD(me, 1, 2, s);\r
76                 setDependentStringNotEqual(e, "volume", "0");\r
77                 setDependentStringNotEqual(s, "volume", "0");\r
78         me.TR(me);\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
83                 me.TD(me, 1, 2, s);\r
84                 setDependentStringNotEqual(e, "volume", "0");\r
85                 setDependentStringNotEqual(s, "volume", "0");\r
86         me.TR(me);\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
90                 me.TD(me, 1, 2, s);\r
91                 setDependentStringNotEqual(e, "volume", "0");\r
92                 setDependentStringNotEqual(s, "volume", "0");\r
93         me.TR(me);\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
98                 me.TD(me, 1, 2, s);\r
99                 setDependentStringNotEqual(e, "volume", "0");\r
100                 setDependentStringNotEqual(s, "volume", "0");\r
101         me.TR(me);\r
102         me.TR(me);\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
105         me.TR(me);\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
108 \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
121         me.TR(me);\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
133         me.TR(me);\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
137         me.TR(me);\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
141         me.TR(me);\r
142         me.TR(me);\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
147         me.TR(me);\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
159         me.TR(me);\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
166         me.TR(me);\r
167                 me.TD(me, 1, 3, e = makeVoretTextLabel(0.1, "Frequency:"));\r
168                 me.TD(me, 1, 2, sl);\r
169         me.TR(me);\r
170         me.TR(me);\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
178         me.TR(me);\r
179                 me.TD(me, 1, 3, e = makeVoretCheckBox(0, "cl_hitsound", "Hit indicator"));\r
180         me.TR(me);\r
181                 me.TD(me, 1, 3, e = makeVoretCheckBoxEx(2, 0, "menu_sounds", "Menu sounds"));\r
182 \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
185 }\r
186 #endif\r