[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