]> de.git.xonotic.org Git - voretournament/voretournament.git/blob - data/qcsrc/menu/voret/dialog_settings_audio.c
2d42e81467dc4c8aea44befa442d7320defca9e8
[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, 17)\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, "bgmvolume");\r
27                 me.TD(me, 1, 1, e = makeVoretSliderCheckBox(-1000000, 1, s, "Music:"));\r
28                 me.TD(me, 1, 2, s);\r
29         me.TR(me);\r
30         me.TR(me);\r
31                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "volume");\r
32                 me.TD(me, 1, 1, e = makeVoretSliderCheckBox(-1000000, 1, s, "Master:"));\r
33                 me.TD(me, 1, 2, s);\r
34         me.TR(me);\r
35                 me.TDempty(me, 0.2);\r
36                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_staticvolume");\r
37                 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Ambient:"));\r
38                 makeMulti(s, "snd_entchannel2volume");\r
39                 me.TD(me, 1, 2, s);\r
40                 setDependentStringNotEqual(e, "volume", "0");\r
41                 setDependentStringNotEqual(s, "volume", "0");\r
42         me.TR(me);\r
43                 me.TDempty(me, 0.2);\r
44                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_worldchannel0volume");\r
45                 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Info:"));\r
46                 makeMulti(s, "snd_csqcchannel0volume");\r
47                 me.TD(me, 1, 2, s);\r
48                 setDependentStringNotEqual(e, "volume", "0");\r
49                 setDependentStringNotEqual(s, "volume", "0");\r
50         me.TR(me);\r
51                 me.TDempty(me, 0.2);\r
52                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_entchannel3volume");\r
53                 makeMulti(s, "snd_playerchannel0volume snd_playerchannel3volume");\r
54                 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Items:"));\r
55                 me.TD(me, 1, 2, s);\r
56                 setDependentStringNotEqual(e, "volume", "0");\r
57                 setDependentStringNotEqual(s, "volume", "0");\r
58         me.TR(me);\r
59                 me.TDempty(me, 0.2);\r
60                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_playerchannel6volume");\r
61                 makeMulti(s, "snd_csqcchannel6volume");\r
62                 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Pain:"));\r
63                 me.TD(me, 1, 2, s);\r
64                 setDependentStringNotEqual(e, "volume", "0");\r
65                 setDependentStringNotEqual(s, "volume", "0");\r
66         me.TR(me);\r
67                 me.TDempty(me, 0.2);\r
68                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_playerchannel7volume");\r
69                 makeMulti(s, "snd_entchannel7volume");\r
70                 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Player:"));\r
71                 me.TD(me, 1, 2, s);\r
72                 setDependentStringNotEqual(e, "volume", "0");\r
73                 setDependentStringNotEqual(s, "volume", "0");\r
74         me.TR(me);\r
75                 me.TDempty(me, 0.2);\r
76                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_entchannel4volume");\r
77                 makeMulti(s, "snd_playerchannel4volume snd_entchannel6volume snd_csqcchannel4volume");\r
78                 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Shots:"));\r
79                 me.TD(me, 1, 2, s);\r
80                 setDependentStringNotEqual(e, "volume", "0");\r
81                 setDependentStringNotEqual(s, "volume", "0");\r
82         me.TR(me);\r
83                 me.TDempty(me, 0.2);\r
84                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_playerchannel2volume");\r
85                 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Voice:"));\r
86                 me.TD(me, 1, 2, s);\r
87                 setDependentStringNotEqual(e, "volume", "0");\r
88                 setDependentStringNotEqual(s, "volume", "0");\r
89         me.TR(me);\r
90                 me.TDempty(me, 0.2);\r
91                 s = makeVoretDecibelsSlider(-20, 0, 0.5, "snd_playerchannel1volume");\r
92                 makeMulti(s, "snd_playerchannel5volume snd_entchannel1volume snd_entchannel5volume");\r
93                 me.TD(me, 1, 0.8, e = makeVoretSliderCheckBox(-1000000, 1, s, "Weapons:"));\r
94                 me.TD(me, 1, 2, s);\r
95                 setDependentStringNotEqual(e, "volume", "0");\r
96                 setDependentStringNotEqual(s, "volume", "0");\r
97         me.TR(me);\r
98 \r
99         me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);\r
100                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Frequency:"));\r
101                 me.TD(me, 1, 2, e = makeVoretTextSlider("snd_speed"));\r
102                         e.addValue(e, "8 kHz", "8000");\r
103                         e.addValue(e, "11.025 kHz", "11025");\r
104                         e.addValue(e, "16 kHz", "16000");\r
105                         e.addValue(e, "22.05 kHz", "22050");\r
106                         e.addValue(e, "24 kHz", "24000");\r
107                         e.addValue(e, "32 kHz", "32000");\r
108                         e.addValue(e, "44.1 kHz", "44100");\r
109                         e.addValue(e, "48 kHz", "48000");\r
110                         e.configureVoretTextSliderValues(e);\r
111         me.TR(me);\r
112                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Channels:"));\r
113                 me.TD(me, 1, 2, e = makeVoretTextSlider("snd_channels"));\r
114                         e.addValue(e, "Mono", "1");\r
115                         e.addValue(e, "Stereo", "2");\r
116                         e.addValue(e, "2.1", "3");\r
117                         e.addValue(e, "3.1", "4");\r
118                         e.addValue(e, "4.1", "5");\r
119                         e.addValue(e, "5.1", "6");\r
120                         e.addValue(e, "6.1", "7");\r
121                         e.addValue(e, "7.1", "8");\r
122                         e.configureVoretTextSliderValues(e);\r
123         me.TR(me);\r
124                 me.TDempty(me, 0.2);\r
125                 me.TD(me, 1, 2.8, e = makeVoretCheckBox(0, "snd_swapstereo", "Swap Stereo"));\r
126                 setDependent(e, "snd_channels", 1.5, 0.5);\r
127         me.TR(me);\r
128                 me.TDempty(me, 0.2);\r
129                 me.TD(me, 1, 2.8, e = makeVoretCheckBox(0, "snd_spatialization_control", "Headphone friendly mode"));\r
130                 setDependent(e, "snd_channels", 1.5, 0.5);\r
131         me.TR(me);\r
132         me.TR(me);\r
133                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Spatial voices:"));\r
134                 me.TD(me, 1, 2/3, e = makeVoretRadioButton(1, "cl_voice_directional", "0", "None"));\r
135                 me.TD(me, 1, 2/3, e = makeVoretRadioButton(1, "cl_voice_directional", "2", "Taunts"));\r
136                 me.TD(me, 1, 2/3, e = makeVoretRadioButton(1, "cl_voice_directional", "1", "All"));\r
137         me.TR(me);\r
138                 me.TDempty(me, 0.2);\r
139                 me.TD(me, 1, 0.8, e = makeVoretTextLabel(0, "Taunt range:"));\r
140                 setDependent(e, "cl_voice_directional", 0.5, -0.5);\r
141                 me.TD(me, 1, 2, e = makeVoretTextSlider("cl_voice_directional_taunt_attenuation"));\r
142                         e.addValue(e, "Very short", "3");\r
143                         e.addValue(e, "Short", "2");\r
144                         e.addValue(e, "Normal", "0.5");\r
145                         e.addValue(e, "Long", "0.25");\r
146                         e.addValue(e, "Full", "0.015625");\r
147                         e.configureVoretTextSliderValues(e);\r
148                 setDependent(e, "cl_voice_directional", 0.5, -0.5);\r
149         me.TR(me);\r
150                 sl = makeVoretSlider(0.15, 1, 0.05, "cl_autotaunt");\r
151                         sl.valueDisplayMultiplier = 100;\r
152                         sl.valueDigits = 0;\r
153                 me.TD(me, 1, 1, e = makeVoretSliderCheckBox(0, 1, sl, "Automatic taunts"));\r
154                 if(sl.value != e.savedValue)\r
155                         e.savedValue = 0.65; // default\r
156         me.TR(me);\r
157                 me.TD(me, 1, 3, e = makeVoretTextLabel(0.1, "Frequency:"));\r
158                 me.TD(me, 1, 2, sl);\r
159         me.TR(me);\r
160         me.TR(me);\r
161                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Time warning:"));\r
162                 me.TD(me, 1, 2, e = makeVoretTextSlider("cl_sound_maptime_warning"));\r
163                         e.addValue(e, "None", "0");\r
164                         e.addValue(e, "1 minute", "1");\r
165                         e.addValue(e, "5 minutes", "2");\r
166                         e.addValue(e, "Both", "3");\r
167                         e.configureVoretTextSliderValues(e);\r
168         me.TR(me);\r
169                 me.TD(me, 1, 3, e = makeVoretCheckBox(0, "cl_hitsound", "Hit indicator"));\r
170         me.TR(me);\r
171                 me.TD(me, 1, 3, e = makeVoretCheckBoxEx(2, 0, "menu_sounds", "Menu sounds"));\r
172 \r
173         me.gotoRC(me, me.rows - 1, 0);\r
174                 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
175 }\r
176 #endif\r