Hi, OK - whoops - about half of what I wrote was complete garbage! This is the only relevant stuff:
In some parts of the code, there are calls to the sound_command() via gamestate->sound_server->command(). In most others, a call to sound_command() only is made, rather than through the game state pointer. Why? Why are some calls made to suspend (or resume) sound via gamestate->sound_server->resume() and some to sound_command() with the SOUND_COMMAND_SUSPEND_SOUND parameter? Sorry about the mix up. Aagh! Thanks, Alex.
