[Scummvm-cvs-logs] CVS: scummvm/scumm sound.cpp,1.386,1.387

Travis Howell kirben at users.sourceforge.net
Fri Sep 10 10:51:02 CEST 2004


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

Modified Files:
	sound.cpp 
Log Message:

Correct HSHD sounds


Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.386
retrieving revision 1.387
diff -u -d -r1.386 -r1.387
--- sound.cpp	6 Sep 2004 08:53:19 -0000	1.386
+++ sound.cpp	10 Sep 2004 12:07:53 -0000	1.387
@@ -257,14 +257,14 @@
 	}
 	// Support for Putt-Putt sounds - very hackish, too 8-)
 	else if (READ_UINT32(ptr) == MKID('DIGI') || READ_UINT32(ptr) == MKID('TALK') || READ_UINT32(ptr) == MKID('HSHD')) {
-		// Later game start have 8 less
-		int diff = (READ_UINT32(ptr) == MKID('HSHD')) ? 8 : 0;
-
-		// TODO - discover what data the first chunk, HSHD, contains
-		// it might be useful here.
-		rate = READ_LE_UINT16(ptr + 22 - diff);
+		if (READ_UINT32(ptr) == MKID('HSHD')) {
+			rate = READ_LE_UINT16(ptr + 14);
+			ptr += READ_BE_UINT32(ptr + 4);
+		} else {
+			rate = READ_LE_UINT16(ptr + 22);
+			ptr += 8 + READ_BE_UINT32(ptr + 12);
+		}
 
-		ptr += 8 + READ_BE_UINT32(ptr + 12 - diff);
 		if (READ_UINT32(ptr) != MKID('SDAT'))
 			return;	// abort
 





More information about the Scummvm-git-logs mailing list