[Scummvm-cvs-logs] CVS: scummvm/scumm imuse.cpp,2.49,2.50 saveload.h,1.13,1.14

Jamieson Christian jamieson630 at users.sourceforge.net
Wed May 21 14:39:02 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv30727/scummvm/scumm

Modified Files:
	imuse.cpp saveload.h 
Log Message:
Added ParameterFader into savegame format.
Savegames are now version 17 (VER_V17).

Index: imuse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse.cpp,v
retrieving revision 2.49
retrieving revision 2.50
diff -u -d -r2.49 -r2.50
--- imuse.cpp	21 May 2003 20:23:01 -0000	2.49
+++ imuse.cpp	21 May 2003 21:38:03 -0000	2.50
@@ -3026,6 +3026,7 @@
 		MKEND()
 	};
 
+	// VolumeFader is obsolete.
 	const SaveLoadEntry volumeFaderEntries[] = {
 		MK_OBSOLETE_REF(VolumeFader, player, TYPE_PLAYER, VER_V8, VER_V16),
 		MK_OBSOLETE(VolumeFader, active, sleUint8, VER_V8, VER_V16),
@@ -3039,6 +3040,15 @@
 		MKEND()
 	};
 
+	const SaveLoadEntry parameterFaderEntries[] = {
+		MKLINE(ParameterFader, param,        sleInt16,  VER_V17),
+		MKLINE(ParameterFader, start,        sleInt16,  VER_V17),
+		MKLINE(ParameterFader, end,          sleInt16,  VER_V17),
+		MKLINE(ParameterFader, total_time,   sleUint32, VER_V17),
+		MKLINE(ParameterFader, current_time, sleUint32, VER_V17),
+		MKEND()
+	};
+
 	const SaveLoadEntry partEntries[] = {
 		MKREF(Part, _next, TYPE_PART, VER_V8),
 		MKREF(Part, _prev, TYPE_PART, VER_V8),
@@ -3071,16 +3081,21 @@
 
 #endif
 
+	int i;
+
 	ser->_ref_me = this;
 	ser->_save_ref = saveReference;
 	ser->_load_ref = loadReference;
 
 	ser->saveLoadEntries(this, mainEntries);
-	ser->saveLoadArrayOf(_players, ARRAYSIZE(_players), sizeof(_players[0]), playerEntries);
+	for (i = 0; i < ARRAYSIZE(_players); ++i) {
+		ser->saveLoadEntries (&_players[i], playerEntries);
+		ser->saveLoadArrayOf (_players[i]._parameterFaders, ARRAYSIZE(_players[i]._parameterFaders),
+		                      sizeof(ParameterFader), parameterFaderEntries);
+	}
 	ser->saveLoadArrayOf(_parts, ARRAYSIZE(_parts), sizeof(_parts[0]), partEntries);
 
 	{ // Load/save the instrument definitions, which were revamped with V11.
-		int i;
 		Part *part = &_parts[0];
 		if (ser->getVersion() >= VER_V11) {
 			for (i = ARRAYSIZE(_parts); i; --i, ++part) {
@@ -3093,11 +3108,8 @@
 	}
 
 	// VolumeFader has been replaced with the more generic ParameterFader.
-	{
-		int i;
-		for (i = 0; i < 8; ++i)
-			ser->saveLoadEntries (0, volumeFaderEntries);
-	}
+	for (i = 0; i < 8; ++i)
+		ser->saveLoadEntries (0, volumeFaderEntries);
 
 	if (!ser->isSaving()) {
 		// Load all sounds that we need

Index: saveload.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- saveload.h	6 Mar 2003 21:46:15 -0000	1.13
+++ saveload.h	21 May 2003 21:38:03 -0000	1.14
@@ -35,10 +35,11 @@
 	VER_V13,
 	VER_V14,
 	VER_V15,
-	VER_V16
+	VER_V16,
+	VER_V17
 };
 
-#define CURRENT_VER VER_V16
+#define CURRENT_VER VER_V17
 
 
 // To work around a warning in GCC 3.2 (and 3.1 ?) regarding non-POD types,





More information about the Scummvm-git-logs mailing list