ID:2512003
 
The sound.environment var seems to be global. I'm not sure what this means in this context.

Is sound.environment global across all sounds played to all clients in world? Or just for all sounds played to one client. I've heard that it's probably the former, but if that's the case then I don't understand what possible use it could have.

The documentation for sound.environment states:

Changes the environmental reverb for all 3D sounds until another environment is specified. Only 3D sounds react to the environment. Please see the EAX2 documentation at http://developer.creative.com/ for detailed information about these settings.

This value may be a number which selects a preset, or a list to choose settings manually. The default value (-1) specifies no change in environment. A numeric value from 0 to 25 specifies a set of reverb presets for the environment.


This sounds to me like it is a global var for all sounds. And after very limited testing this, it seems like it. I set environment to something on one sound, it sets environment to that on another. The second paragraph seems to imply to me that environment is just a bunch of presets of the echo var(maybe? no clue).

But the echo documentation states this, which sounds like it caneffect induvidual sounds(so I'm completely lost):

If set to an 18-element list, this value customizes reverbration settings for this sound only






This is a client side settings, not a world/global. You can send any updates to client with sound datum.

And on client side .environment will affect every sound until you send new .environment setting to client.

.echo works different way and affects only one sound attached to datum.

In ss13 we have IC and OOC sounds, so I believe that .echo will be preferred way to work with sounds. But unfortunately .echo does not have any presets and is harder to use. I created this proposal, you can support if you agree http://www.byond.com/forum/post/2477331