[Scummvm-cvs-logs] SF.net SVN: scummvm:[53371] scummvm/trunk/engines/sword25/sfx/soundengine. cpp
sev at users.sourceforge.net
sev at users.sourceforge.net
Wed Oct 13 01:57:45 CEST 2010
Revision: 53371
http://scummvm.svn.sourceforge.net/scummvm/?rev=53371&view=rev
Author: sev
Date: 2010-10-12 23:57:45 +0000 (Tue, 12 Oct 2010)
Log Message:
-----------
SWORD25: Fix freeze with sound code. Now game is really playable.
Modified Paths:
--------------
scummvm/trunk/engines/sword25/sfx/soundengine.cpp
Modified: scummvm/trunk/engines/sword25/sfx/soundengine.cpp
===================================================================
--- scummvm/trunk/engines/sword25/sfx/soundengine.cpp 2010-10-12 23:57:26 UTC (rev 53370)
+++ scummvm/trunk/engines/sword25/sfx/soundengine.cpp 2010-10-12 23:57:45 UTC (rev 53371)
@@ -110,14 +110,16 @@
}
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 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));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list