[Scummvm-cvs-logs] SF.net SVN: scummvm: [25925] scummvm/trunk/sound/mixer.h

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Fri Mar 2 16:22:39 CET 2007


Revision: 25925
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25925&view=rev
Author:   fingolfin
Date:     2007-03-02 07:22:38 -0800 (Fri, 02 Mar 2007)

Log Message:
-----------
Added a warning that the mixer FLAG_ enum should not be messed with, lest iMuseDigital saves will break

Modified Paths:
--------------
    scummvm/trunk/sound/mixer.h

Modified: scummvm/trunk/sound/mixer.h
===================================================================
--- scummvm/trunk/sound/mixer.h	2007-03-02 15:21:34 UTC (rev 25924)
+++ scummvm/trunk/sound/mixer.h	2007-03-02 15:22:38 UTC (rev 25925)
@@ -58,14 +58,26 @@
  */
 class Mixer {
 public:
-	enum {
+	/**
+	 * Various flags which can be bit-ORed and then passed to
+	 * Mixer::playRaw resp. makeLinearInputStream to control their
+	 * behavior.
+	 *
+	 * Attention: The order/numbering of these *must not change*, as
+	 * at least the SCUMM iMuse Digital code stores bitmasks made up
+	 * from these flags in savegames.
+	 * In general, though, doing so is a bad idea and engine authors
+	 * are advised not to rely on a certain order of these flags
+	 * (and hence not to store them verbatim in savestates.
+	 */
+	enum RawFlags {
 		/** unsigned samples (default: signed) */
 		FLAG_UNSIGNED = 1 << 0,
 
 		/** sound is 16 bits wide (default: 8bit) */
 		FLAG_16BITS = 1 << 1,
 
-		/** sample is little endian (default: big endian) */
+		/** samples are little endian (default: big endian) */
 		FLAG_LITTLE_ENDIAN = 1 << 2,
 
 		/** sound is in stereo (default: mono) */


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