[Scummvm-cvs-logs] SF.net SVN: scummvm:[43569] scummvm/trunk/engines/sci/sfx/core.cpp

mthreepwood at users.sourceforge.net mthreepwood at users.sourceforge.net
Thu Aug 20 22:41:13 CEST 2009


Revision: 43569
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43569&view=rev
Author:   mthreepwood
Date:     2009-08-20 20:41:12 +0000 (Thu, 20 Aug 2009)

Log Message:
-----------
Fix 16-bit SOL audio on little endian systems. Fixes the white noise in the Gabriel Knight demo.

Modified Paths:
--------------
    scummvm/trunk/engines/sci/sfx/core.cpp

Modified: scummvm/trunk/engines/sci/sfx/core.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/core.cpp	2009-08-20 20:15:47 UTC (rev 43568)
+++ scummvm/trunk/engines/sci/sfx/core.cpp	2009-08-20 20:41:12 UTC (rev 43569)
@@ -1060,7 +1060,7 @@
 			s += tableDPCM16[b];
 
 		s = CLIP<int32>(s, -32768, 32767);
-		*out++ = TO_BE_16(s);
+		*out++ = s;
 	}
 }
 
@@ -1105,8 +1105,13 @@
 
 	// Convert the SOL stream flags to our own format
 	flags = 0;
-	if (audioFlags & kSolFlag16Bit)
+	if (audioFlags & kSolFlag16Bit) {
 		flags |= Audio::Mixer::FLAG_16BITS;
+#ifdef SCUMM_LITTLE_ENDIAN
+		flags |= Audio::Mixer::FLAG_LITTLE_ENDIAN;
+#endif
+	}
+	
 	if (!(audioFlags & kSolFlagIsSigned))
 		flags |= Audio::Mixer::FLAG_UNSIGNED;
 


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