[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.68,1.69

Oliver Kiehl olki at users.sourceforge.net
Mon Nov 11 05:56:02 CET 2002


Update of /cvsroot/scummvm/scummvm/simon
In directory usw-pr-cvs1:/tmp/cvs-serv27248

Modified Files:
	simon.cpp 
Log Message:
workaround for voc weakness


Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- simon.cpp	10 Nov 2002 17:19:43 -0000	1.68
+++ simon.cpp	11 Nov 2002 13:55:29 -0000	1.69
@@ -4876,7 +4876,17 @@
 	sound_file->read(&voc_block_hdr, sizeof(voc_block_hdr));
 
 	size = voc_block_hdr.size[0] + (voc_block_hdr.size[1] << 8) + (voc_block_hdr.size[2] << 16) - 2;
-	uint32 samples_per_sec = 1000000L / (256L - (long)voc_block_hdr.sr);
+	uint32 samples_per_sec;
+
+	/* workaround for voc weakness */
+	if (voc_block_hdr.sr == 0xa6) {
+		samples_per_sec = 11025;
+	} else if (voc_block_hdr.sr == 0xd2) {
+		samples_per_sec = 22050;
+	} else {
+		samples_per_sec = 1000000L / (256L - (long)voc_block_hdr.sr);
+		warning("inexact sample rate used: %i", samples_per_sec);
+	}
 
 	byte *buffer = (byte *)malloc(size);
 	sound_file->read(buffer, size);





More information about the Scummvm-git-logs mailing list