diff options
author | Eugene Sandulenko | 2010-09-18 09:43:23 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2010-10-12 23:57:45 +0000 |
commit | b2003364ff109e1f0170ea87fe379496631f6040 (patch) | |
tree | 13fd66b92bd0908cd30389a5aa55b24822201317 /engines/sword25/sfx/soundengine.cpp | |
parent | 08ce5575faed22287e3133b07deec12c7739e8fe (diff) | |
download | scummvm-rg350-b2003364ff109e1f0170ea87fe379496631f6040.tar.gz scummvm-rg350-b2003364ff109e1f0170ea87fe379496631f6040.tar.bz2 scummvm-rg350-b2003364ff109e1f0170ea87fe379496631f6040.zip |
SWORD25: Fix freeze with sound code. Now game is really playable.
svn-id: r53371
Diffstat (limited to 'engines/sword25/sfx/soundengine.cpp')
-rw-r--r-- | engines/sword25/sfx/soundengine.cpp | 8 |
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)); |