[Scummvm-cvs-logs] CVS: scummvm/scumm script_v72he.cpp,2.244,2.245 sound.cpp,1.438,1.439

kirben kirben at users.sourceforge.net
Sat Apr 9 00:26:14 CEST 2005


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

Modified Files:
	script_v72he.cpp sound.cpp 
Log Message:

Add comment to TODO
Check that string pointer exists, before reading data.
Don't attempt to play speech in soccer2004, since it uses compression.


Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.244
retrieving revision 2.245
diff -u -d -r2.244 -r2.245
--- script_v72he.cpp	9 Apr 2005 04:52:44 -0000	2.244
+++ script_v72he.cpp	9 Apr 2005 07:25:41 -0000	2.245
@@ -572,8 +572,10 @@
 				break;
 			case 's':
 				src = getStringAddress(args[val--]);
-				while (*src != 0)
-					*dst++ = *src++;
+				if (src) {
+					while (*src != 0)
+						*dst++ = *src++;
+				}
 				break;
 			case 'x':
 				dst += sprintf((char *)dst, "%x", args[val--]);

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.438
retrieving revision 1.439
diff -u -d -r1.438 -r1.439
--- sound.cpp	6 Apr 2005 17:31:14 -0000	1.438
+++ sound.cpp	9 Apr 2005 07:25:41 -0000	1.439
@@ -682,8 +682,14 @@
 		if (_vm->_features & GF_HUMONGOUS) {
 			_sfxMode |= mode;
 
-			// Skip the TALK (8) and HSHD (24) chunks
-			_sfxFile->seek(offset + 32, SEEK_SET);
+			_sfxFile->seek(offset, SEEK_SET);
+			if (_sfxFile->readUint32LE() == TO_LE_32(MKID('WSOU'))) {
+				debug(1, "IMA ADPCM compression not supported");
+				return;
+			} else {
+				// Skip the TALK (8) and HSHD (24) chunks
+				_sfxFile->seek(28, SEEK_CUR);
+			}
 
 			if (_sfxFile->readUint32LE() == TO_LE_32(MKID('SBNG'))) {
 				// Skip the SBNG, so we end up at the SDAT chunk





More information about the Scummvm-git-logs mailing list