[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