aboutsummaryrefslogtreecommitdiff
path: root/engines/sword25/sfx
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sword25/sfx')
-rw-r--r--engines/sword25/sfx/soundengine.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/sword25/sfx/soundengine.cpp b/engines/sword25/sfx/soundengine.cpp
index dbbb6aa0e8..308c8dd6e5 100644
--- a/engines/sword25/sfx/soundengine.cpp
+++ b/engines/sword25/sfx/soundengine.cpp
@@ -110,14 +110,16 @@ void SoundEngine::ResumeLayer(uint layer) {
}
SndHandle *SoundEngine::getHandle(uint *id) {
- for (uint i = 0; i < SOUND_HANDLES; i++) {
+
+ // NOTE: Index 0 means error. Thus we're not using it
+ for (uint i = 1; i < SOUND_HANDLES; i++) {
if (_handles[i].type != kFreeHandle && !_mixer->isSoundHandleActive(_handles[i].handle)) {
debugC(kDebugSound, 5, "Handle %d has finished playing", i);
_handles[i].type = kFreeHandle;
}
}
- for (uint i = 0; i < SOUND_HANDLES; i++) {
+ for (uint i = 1; i < SOUND_HANDLES; i++) {
if (_handles[i].type == kFreeHandle) {
debugC(kDebugSound, 5, "Allocated handle %d", i);
if (id)
@@ -160,8 +162,6 @@ uint SoundEngine::PlaySoundEx(const Common::String &fileName, SOUND_TYPES type,
uint id;
SndHandle *handle = getHandle(&id);
- Resource *ResourcePtr = Kernel::GetInstance()->GetResourceManager()->RequestResource(fileName);
-
debugC(1, kDebugSound, "SoundEngine::PlaySoundEx(%s, %d, %f, %f, %d, %d, %d, %d)", fileName.c_str(), type, volume, pan, loop, loopStart, loopEnd, layer);
_mixer->playStream(getType(type), &(handle->handle), stream, -1, (byte)(volume * 255), (int8)(pan * 127));