]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_ogg.c
Implement Linux kernel-inspired generic cyclic doubly linked list interface
[xonotic/darkplaces.git] / snd_ogg.c
index b1f3e2a142cca96fb3f07f29f0397e12f3a8c93c..2a1cb1482a1815a3ff306c7659cb692d51406feb 100644 (file)
--- a/snd_ogg.c
+++ b/snd_ogg.c
@@ -472,7 +472,7 @@ static void OGG_GetSamplesFloat (channel_t *ch, sfx_t *sfx, int firstsampleframe
                ret = qov_pcm_seek(&per_ch->vf, (ogg_int64_t)firstsampleframe);
                if (ret != 0)
                {
-                       // LordHavoc: we can't Con_Printf here, not thread safe...
+                       // LadyHavoc: we can't Con_Printf here, not thread safe...
                        //Con_Printf("OGG_FetchSound: qov_pcm_seek(..., %d) returned %d\n", firstsampleframe, ret);
                        return;
                }
@@ -706,6 +706,13 @@ qboolean OGG_LoadVorbisFile(const char *filename, sfx_t *sfx)
                if (developer_loading.integer >= 2)
                        Con_Printf ("Ogg sound file \"%s\" uses ReplayGain (gain %f, peak %f)\n", filename, sfx->volume_mult, sfx->volume_peak);
        }
+       else if(gaindb != 0)
+       {
+               sfx->volume_mult = min(1.0f / peak, exp(gaindb * 0.05f * log(10.0f)));
+               sfx->volume_peak = 1.0; // if peak is not defined, we won't trust it
+               if (developer_loading.integer >= 2)
+                       Con_Printf ("Ogg sound file \"%s\" uses ReplayGain (gain %f, peak not defined and assumed to be %f)\n", filename, sfx->volume_mult, sfx->volume_peak);
+       }
 
        return true;
 }