Pulls logic from the DOS executable which implemented per-channel audio correctly. Each channel holds a reference to the playing sound instance.
In the windows build, the DirectSound implementation was flawed as the directsound buffer was attached to the sound descriptor, not the sound instance. This meant that only a single instance of a sound could be played at any time.
Also switches s3 function names from “dispose” to “release” to better match the known naming convention.
Pulls logic from the DOS executable which implemented per-channel audio correctly. Each channel holds a reference to the playing sound instance.
In the windows build, the DirectSound implementation was flawed as the directsound buffer was attached to the sound descriptor, not the sound instance. This meant that only a single instance of a sound could be played at any time.
Also switches s3 function names from “dispose” to “release” to better match the known naming convention.
Fixes #281 Fixes #324