I’m running my game and I have an engine hum playing in 3D at every place that a spaceship appears in the game. I also have weapon firing sounds that should play as mono effects inside the cockpit of the ship whenever you fire a weapon. I tried to load up the sound effects that are mono by loading them with the FSOUND_ForceMono flag, I also tried the FSOUND_HW2D flag, the FSOUND_2D flag and just about every other flag I could think to try and none of them seem to work. I can either have 3D sounds everywhere and my shooting sounds will stick to whatever position my ship was at when the sound was initially played (i.e. if you hold down the fire button while your flying your firing sounds trail off behind you) OR I can have mono sounds for everything including the ships around you by not calling FSOUND_3D_Update within my main game loop. Isn’t there a way for me to have the engine noises played as 3D sounds and still have the firing effects be mono? If so, then how would I do that?

I threw a quick fix in. Tell me if you think there’s a better way to do this though. Basically I’m just calling FSOUND_3D_Listener_GetAttributes and taking the attributes that it fills in and using those attributes to call FSOUND_3D_SetAttributes on the channel for the sound effects from the ship so now the sounds are played in 3D but they “stick” to the listener’s position. Is there a better way to do this?