This is currently not implemented, and is not trivial to implement
with the current way we implemented the plugin.
Playing overlapping sound is for example used when moving the cursor
over the buttons in the options or quit dialogs in Strangeland.
In Strangeland, it seems to start the same sound again and again
(multiple times per second, the sound itself is 45s long). In
ScummVM we were stopping and restarting the sound each time. It
seams the original was only starting the sound if it was not
already playing.
This fixes noise (as we played again and again the first few ms
of the same sound) when starting Strangeland. And this means we
can now hear the music!
I was havbing a bunch of troubles trying to get the SFX loading
to work like the original, particularly when to free audio streams.
In the end, I decided to load sound effects from scratch each time
they're needed.
Previously the plugin system was obviously built around function
pointers, since a loaded plugin DLL would expose them statically.
This meant that the plugin classes I implemented also had to use
static methods, and all the variables had to be static as well.
This has been getting more and more annoying. So this commit is
an in-progress refactoring of AGS to allow for plugins to be
properly instance-based, and pointers to script methods will be
both a pointer to the plugin as well as the method name.