Hello!
I’m using lowlevel FMOD api for my game and I came to one weird finding. I’m using general system reverb for most of the sounds except for specific ones like the main menu navigation.
Pseudo code:
Init() {
system->system->setReverbProperties( 0, FMOD_PRESET_HALLWAY );
}
PlaySound() {
if( useReverb == false ) channel->setReverbProperty( 0, 0.0f );
}
This worked totally find until recently, when I found that game menu sounds are using reverb while playing a specific map of the game.
Over further investigation with “getReverbProperty()” I found out in the update that the sound to which I set reverb to 0 has wet level 1.0. If I set it back to 0 in the update it will stay like that.
WHAT I DID SO FAR:
- I triple checked that sounds are not stealing each other’s channels
- There are enough free channels
- I checked FMOD_RESULT when setting reverb property and it it’s OK!
- After setting the reverb property to 0, I instantly called getReverbProperty for check and it’s properly set to 0.
QUESTIONS:
- Is it possible that I have some memory poisoning in my game code which will override FMOD’s memory?
- Am I approaching this properly?
Anything will help really, thank you!