Game sounds played by the RAGE engine are echoed in tunnels or big empty rooms. It would be beneficial to have a native to check if the engine currently thinks that sounds should be echoed and, if so, a native to get the echo strength would be good.
The use case for this feature would be to determine if a sound should be echoed and, if so, devs could implement the ability to echo custom sounds played from a UI, for example.
Lets untangle this a little bit.
Echo inside interiors is determined by multiple factors.
- The “Echo” property inside the “InteriorRoom” (.dat151 type46 entries)
- A secondary echo modifier that some sound sources can influence via their metadata
- A generic ambient echo modifier
Retrieving the final configuration of audio effects for a specific room and putting some kind of dsp on nui audio would be an inconsistent mess.
Instead you should package your custom sounds in the games wavebank format, generate the required entries in a .dat54 file and use the available “PlaySound” natives.
Specifically use PLAY_SOUND_FROM_COORD with the last parameter set to true. That will cause the engine to create an naEnvironmentGroup and perform occlusion and effects processing for that sound instance.