2 CLASS(VoretDecibelsSlider) EXTENDS(VoretSlider)
\r
3 METHOD(VoretDecibelsSlider, loadCvars, void(entity))
\r
4 METHOD(VoretDecibelsSlider, saveCvars, void(entity))
\r
5 METHOD(VoretDecibelsSlider, valueToText, string(entity, float))
\r
6 ENDCLASS(VoretDecibelsSlider)
\r
7 entity makeVoretDecibelsSlider(float, float, float, string);
\r
10 #ifdef IMPLEMENTATION
\r
12 entity makeVoretDecibelsSlider(float theValueMin, float theValueMax, float theValueStep, string theCvar)
\r
15 me = spawnVoretDecibelsSlider();
\r
16 me.configureVoretSlider(me, theValueMin, theValueMax, theValueStep, theCvar);
\r
19 void loadCvarsVoretDecibelsSlider(entity me)
\r
26 v = cvar(me.cvarName);
\r
30 me.value = -1000000;
\r
32 me.value = 0.1 * floor(0.5 + 10.0 * log10(cvar(me.cvarName)) * 10);
\r
34 void saveCvarsVoretDecibelsSlider(entity me)
\r
39 if(me.value >= -0.1)
\r
40 cvar_set(me.cvarName, "1");
\r
42 cvar_set(me.cvarName, "0");
\r
45 if(me.cvarName == "menu_bgmvolume")
\r
46 cvar_set(me.cvarName, ftos(pow(10, me.value / 10) / 2)); // due to system settings, music volume must be twice as low
\r
48 cvar_set(me.cvarName, ftos(pow(10, me.value / 10)));
\r
52 string valueToTextVoretDecibelsSlider(entity me, float v)
\r
58 return strcat(valueToTextSlider(me, v), " dB");
\r