[Scummvm-cvs-logs] CVS: scummvm/scumm resource_v7he.cpp,1.53,1.54

kirben kirben at users.sourceforge.net
Tue Jan 10 04:35:10 CET 2006


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31160/scumm

Modified Files:
	resource_v7he.cpp 
Log Message:

Small correction.


Index: resource_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource_v7he.cpp,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- resource_v7he.cpp	6 Jan 2006 23:54:42 -0000	1.53
+++ resource_v7he.cpp	10 Jan 2006 12:34:20 -0000	1.54
@@ -1800,6 +1800,7 @@
 	byte *sdat1Ptr, *sdat2Ptr;
 	byte *src, *dst, *tmp;
 	int len, offs, size;
+	int sdat1size, sdat2size;
 
 	if (snd2id == -1) {
 		_sndPtrOffs = 0;
@@ -1813,9 +1814,6 @@
 		_sndTmrOffs = 0;
 	}
 
-	res.lock(rtSound, snd1id);
-	res.lock(rtSound, snd2id);
-
 	snd1Ptr = getResourceAddress(rtSound, snd1id);
 	assert(snd1Ptr);
 	snd2Ptr = getResourceAddress(rtSound, snd2id);
@@ -1846,8 +1844,8 @@
 			free(data);
 
 			dst = sbng1Ptr + 8;
-			while ((offs = READ_LE_UINT16(dst)) != 0)
-				dst += offs;
+			while ((size = READ_LE_UINT16(dst)) != 0)
+				dst += size;
 		} else {
 			dst = sbng1Ptr + 8;
 		}
@@ -1872,7 +1870,6 @@
 		}
 	}
 
-	int sdat1size, sdat2size;
 	sdat1Ptr = heFindResource(MKID('SDAT'), snd1Ptr);
 	assert(sdat1Ptr);
 	sdat2Ptr = heFindResource(MKID('SDAT'), snd2Ptr);
@@ -1882,11 +1879,6 @@
 	sdat2size = READ_BE_UINT32(sdat2Ptr + 4) - 8;
 
 	debug(0, "SDAT size1 %d size2 %d", sdat1size, sdat2size);
-	if (sdat1size <= 0) {
-		debug(0, "createSound: Invalid offset (%d) for sound (%d)", snd1id, sdat1size);
-		return;
-	}
-
 	if (sdat2size < sdat1size) {
 		src = sdat2Ptr + 8;
 		dst = sdat1Ptr + 8 + _sndPtrOffs;
@@ -1894,7 +1886,7 @@
 		
 		memcpy(dst, src, len);
 
-		_sndPtrOffs += len;
+		_sndPtrOffs += sdat2size;
 		_sndTmrOffs += sdat2size;
 	} else {
 		src = sdat2Ptr + 8;
@@ -1911,7 +1903,7 @@
 			memcpy(dst, src, len);
 		}
 
-		_sndPtrOffs += sdat2size - sdat1size;
+		_sndPtrOffs = sdat2size - sdat1size;
 		_sndTmrOffs += sdat2size;
 	}
 }





More information about the Scummvm-git-logs mailing list