]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_main.c
fixed two timing flaws where cl.realframetime was used instead of (cl.time - cl.oldti...
[xonotic/darkplaces.git] / snd_main.c
index de35456303da36b494bae541e712efdfc45eb72b..0462d38046de448489b1a4bd4a2970375f096e90 100644 (file)
@@ -1403,17 +1403,20 @@ void S_UpdateAmbientSounds (void)
 
                // Don't adjust volume too fast
                // FIXME: this rounds off to an int each frame, meaning there is little to no fade at extremely high framerates!
-               if (chan->master_vol < vol)
+               if (cl.time > cl.oldtime)
                {
-                       chan->master_vol += (int)(cl.realframetime * ambient_fade.value);
-                       if (chan->master_vol > vol)
-                               chan->master_vol = vol;
-               }
-               else if (chan->master_vol > vol)
-               {
-                       chan->master_vol -= (int)(cl.realframetime * ambient_fade.value);
                        if (chan->master_vol < vol)
-                               chan->master_vol = vol;
+                       {
+                               chan->master_vol += (int)((cl.time - cl.oldtime) * ambient_fade.value);
+                               if (chan->master_vol > vol)
+                                       chan->master_vol = vol;
+                       }
+                       else if (chan->master_vol > vol)
+                       {
+                               chan->master_vol -= (int)((cl.time - cl.oldtime) * ambient_fade.value);
+                               if (chan->master_vol < vol)
+                                       chan->master_vol = vol;
+                       }
                }
 
                for (i = 0;i < SND_LISTENERS;i++)