]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
rename bgmvolume -> musicvolume; make bgmvolume controlled by target_music too. Prere...
authorRudolf Polzer <divverent@xonotic.org>
Fri, 2 Aug 2013 10:31:16 +0000 (12:31 +0200)
committerRudolf Polzer <divverent@xonotic.org>
Fri, 2 Aug 2013 10:31:16 +0000 (12:31 +0200)
defaultXonotic.cfg
qcsrc/client/autocvars.qh
qcsrc/client/bgmscript.qc
qcsrc/client/target_music.qc
qcsrc/common/util-pre.qh
qcsrc/menu/xonotic/dialog_settings_audio.c

index c392e9a1580728f922da3abfadfce58a2e25d1f3..b2d36a47606875c2e648d63ca5885e900fe65498 100644 (file)
@@ -85,7 +85,7 @@ freelook 1
 sensitivity 6
 v_gamma 1
 viewsize 100
-bgmvolume 1
+seta musicvolume 1
 volume 0.5
 // fullscreen 1024x768x32bit
 vid_bitsperpixel 32
index 8175695abb0ac5ef0a4c033e671a742a907776fb..0239ddddafb8816b1ea6b79a7984ed8426fe0478 100644 (file)
@@ -3,7 +3,7 @@ float autocvar__hud_configure;
 string autocvar__hud_panelorder;
 float autocvar__menu_alpha;
 string autocvar_accuracy_color_levels;
-float autocvar_bgmvolume;
+float autocvar_musicvolume;
 float autocvar_camera_chase_smoothly;
 float autocvar_camera_enable;
 float autocvar_camera_forward_follows;
index 694bc0cc6f960169a3f61628b8541b482c5151ca..b71f1aca673411677d318e26eb4bf3f28807e106 100644 (file)
@@ -173,7 +173,7 @@ float BGMScript(entity e)
        if(e.bgmscript == "")
                return 1;
        
-       if(autocvar_bgmvolume <= 0)
+       if(autocvar_musicvolume <= 0)
                return -1;
 
        e.just_toggled = FALSE;
index 4bbbf03bc574582bb9981296d334e6ccc6998b9c..6ae591d77acaf1a277424fd8c8b43fb7b12a0a96 100644 (file)
@@ -1,8 +1,6 @@
-float music_disabled;
 entity music_default;
 entity music_target;
 entity music_trigger;
-// FIXME also control bgmvolume here, to not require a target_music for the default track.
 
 .float state;
 .float lastvol;
@@ -40,10 +38,12 @@ void TargetMusic_Advance()
                        else
                                e.state = 0;
                }
-               vol = e.state * e.volume * autocvar_bgmvolume;
+               vol = e.state * e.volume * autocvar_musicvolume;
                if(vol != vol0)
                {
-                       if(vol0 < 0)
+                       if(e.noise == "")
+                               cvar_set("bgmvolume", ftos(vol));
+                       else if(vol0 < 0)
                                sound(e, CH_BGM_SINGLE, e.noise, vol, ATTN_NONE); // restart
                        else
                                sound(e, CH_BGM_SINGLE, "", vol, ATTN_NONE);
@@ -58,6 +58,18 @@ void TargetMusic_Advance()
                bgmtime = gettime(GETTIME_CDTRACK);
 }
 
+void Init_TargetMusic()
+{
+       music_default = spawn();
+       music_default.enttype = ENT_CLIENT_TRIGGER_MUSIC;
+       music_default.count = 0;
+       music_default.noise = "";
+       music_default.volume = 1;
+       music_default.fade_time = 2;
+       music_default.fade_rate = 2;
+       music_default.state = 2;
+}
+
 void Net_TargetMusic()
 {
        float vol, fai, fao, tim, id;
@@ -104,13 +116,6 @@ void Net_TargetMusic()
                if(tim == 0)
                {
                        music_default = e;
-                       if(!music_disabled)
-                       {
-                               e.state = 2;
-                               cvar_settemp("music_playlist_index", "-1"); // don't use playlists
-                               localcmd("cd stop\n"); // just in case
-                               music_disabled = 1;
-                       }
                }
                else
                {
index 1c2c1cc9f266fdb2fdc16ab627e95fd46ca9be18..0a740b168519cef6cada4d39603f80085610ae66 100644 (file)
@@ -12,6 +12,7 @@
 //# define COMPAT_XON050_ENGINE
 # define COMPAT_NO_MOD_IS_XONOTIC
 # define COMPAT_XON060_DONTCRASH_CHECKPVS
+# define COMPAT_XON070_BGMVOLUME
 #endif
 
 #ifdef FTEQCC
index 108b984a1e1c2d1d079b44dfd6506acc2cc43e46..cd17f3c8b0fecd25d052177b311b1c535d58d659 100644 (file)
@@ -28,8 +28,10 @@ void XonoticAudioSettingsTab_fill(entity me)
                me.TD(me, 1, 2, s);
        me.TR(me);
                me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider(-40, 0, 0.4, "bgmvolume");
-               makeMulti(s, "snd_channel8volume");
+               s = makeXonoticDecibelsSlider(-40, 0, 0.4, "musicvolume");
+#ifdef COMPAT_XON070_BGMVOLUME
+               makeMulti(s, "bgmvolume");
+#endif
                me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Music:")));
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");