[Scummvm-cvs-logs] SF.net SVN: scummvm:[43985] scummvm/trunk/engines/sci/engine/savegame.cpp
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Sun Sep 6 14:59:56 CEST 2009
Revision: 43985
http://scummvm.svn.sourceforge.net/scummvm/?rev=43985&view=rev
Author: fingolfin
Date: 2009-09-06 12:59:56 +0000 (Sun, 06 Sep 2009)
Log Message:
-----------
SCI: Convert saveload code to use the versioning feature of Common::Serializer
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/savegame.cpp
Modified: scummvm/trunk/engines/sci/engine/savegame.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/savegame.cpp 2009-09-06 12:59:34 UTC (rev 43984)
+++ scummvm/trunk/engines/sci/engine/savegame.cpp 2009-09-06 12:59:56 UTC (rev 43985)
@@ -43,6 +43,9 @@
namespace Sci {
+
+#define VER(x) Common::Serializer::Version(x)
+
// from ksound.cpp:
SongIterator *build_iterator(EngineState *s, int song_nr, SongIteratorType type, songit_id_t id);
@@ -160,7 +163,7 @@
void MenuItem::saveLoadWithSerializer(Common::Serializer &s) {
s.syncAsSint32LE(_type);
s.syncString(_keytext);
- s.skip(4); // Obsolete: Used to be keytext_size
+ s.skip(4, VER(9), VER(9)); // Obsolete: Used to be keytext_size
s.syncAsSint32LE(_flags);
s.syncBytes(_said, MENU_SAID_SPEC_SIZE);
@@ -189,7 +192,7 @@
void SegManager::saveLoadWithSerializer(Common::Serializer &s) {
s.syncAsSint32LE(reserved_id);
s.syncAsSint32LE(exports_wide);
- s.skip(4); // Obsolete: Used to be gc_mark_bits
+ s.skip(4, VER(9), VER(9)); // Obsolete: Used to be gc_mark_bits
id_seg_map->saveLoadWithSerializer(s);
@@ -205,7 +208,7 @@
}
static void sync_SegManagerPtr(Common::Serializer &s, ResourceManager *&resMan, SegManager *&obj) {
- s.skip(1); // obsolete: used to be a flag indicating if we got sci11 or not
+ s.skip(1, VER(9), VER(9)); // obsolete: used to be a flag indicating if we got sci11 or not
if (s.isLoading()) {
// FIXME: Do in-place loading at some point, instead of creating a new EngineState instance from scratch.
@@ -233,18 +236,19 @@
// so that we can implement backward compatibility if the savegame format changes.
s.syncString(obj.savegame_name);
- s.syncAsSint32LE(obj.savegame_version);
+ s.syncVersion(CURRENT_SAVEGAME_VERSION);
+ obj.savegame_version = s.getVersion();
s.syncString(obj.game_version);
- s.skip(4); // obsolete: used to be game version
+ s.skip(4, VER(9), VER(9)); // obsolete: used to be game version
s.syncAsSint32LE(obj.savegame_date);
s.syncAsSint32LE(obj.savegame_time);
}
void EngineState::saveLoadWithSerializer(Common::Serializer &s) {
- s.skip(4); // Obsolete: Used to be savegame_version
+ s.skip(4, VER(9), VER(9)); // Obsolete: Used to be savegame_version
syncCStr(s, &game_version);
- s.skip(4); // Obsolete: Used to be version
+ s.skip(4, VER(9), VER(9)); // Obsolete: Used to be version
// FIXME: Do in-place loading at some point, instead of creating a new EngineState instance from scratch.
if (s.isLoading()) {
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