Code: Select all
A_PlaySound("DSCHAFIR", CHAN_BODY, 0.1, 1)
Moderator: GZDoom Developers
Code: Select all
A_PlaySound("DSCHAFIR", CHAN_BODY, 0.1, 1)
The same issue also came up when testing DemonSteele in OpenAL. I had assumed it was the sound format, but looks like I was incorrect.VoidMage wrote:This is just a guess, but there seems to be a slight inconsistency in openal code.
Change in OpenALSoundRenderer::StartSound3D
alSourcef(source, AL_GAIN, SfxVolume);
to
alSourcef(source, AL_GAIN, SfxVolume*vol);
Sure. The easiest thing to do would be to use manual gain handling when StartSound3D tries to play a non-mono sound, and change the manual gain to set the source's gain instead of its distance. That won't do 3D positioning for multi-channel sounds, but it should fix the volume. I'll see what I can do tomorrow.Graf Zahl wrote:It should do what the previously used API does with it in order to ensure compatibility. Having FMod and OpenAL do different things is the worst outcome of all.
Right, and it's a possibility (at least from the backend's POV) for a multichannel buffer to be played in 3D and non-3D, so you'd potentially have to manage two separate buffers.VoidMage wrote:Downmixing at load for 3d sounds sounds the best, but might be hard to implement, as it seems it's unknown at load we'll be playing that particular sound as 3d.
That's not FMOD, that's Doom. Actors will only play one sound per channel.ReedtheStrange wrote:One difference that I've noticed with Fmod, however, is that sounds cut each other off (which makes some of my longer machinegun sounds sound very awkward). Any rapid-fire weapon with and echo to the firing sound loses a lot of its effect.