[Scummvm-cvs-logs] SF.net SVN: scummvm:[51726] scummvm/trunk/engines/sci/engine

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Wed Aug 4 10:25:40 CEST 2010


Revision: 51726
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51726&view=rev
Author:   fingolfin
Date:     2010-08-04 08:25:39 +0000 (Wed, 04 Aug 2010)

Log Message:
-----------
SCI: Remove reference to common/serializer.h from vm_types.h

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/savegame.cpp
    scummvm/trunk/engines/sci/engine/vm_types.h

Modified: scummvm/trunk/engines/sci/engine/savegame.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/savegame.cpp	2010-08-04 08:25:05 UTC (rev 51725)
+++ scummvm/trunk/engines/sci/engine/savegame.cpp	2010-08-04 08:25:39 UTC (rev 51726)
@@ -55,34 +55,6 @@
 
 #pragma mark -
 
-// TODO: Many of the following sync_*() methods should be turned into member funcs
-// of the classes they are syncing.
-
-void MusicEntry::saveLoadWithSerializer(Common::Serializer &s) {
-	soundObj.saveLoadWithSerializer(s);
-	s.syncAsSint16LE(resourceId);
-	s.syncAsSint16LE(dataInc);
-	s.syncAsSint16LE(ticker);
-	s.syncAsSint16LE(signal, VER(17));
-	s.syncAsByte(priority);
-	s.syncAsSint16LE(loop, VER(17));
-	s.syncAsByte(volume);
-	s.syncAsByte(hold, VER(17));
-	s.syncAsByte(fadeTo);
-	s.syncAsSint16LE(fadeStep);
-	s.syncAsSint32LE(fadeTicker);
-	s.syncAsSint32LE(fadeTickerStep);
-	s.syncAsByte(status);
-
-	// pMidiParser and pStreamAud will be initialized when the
-	// sound list is reconstructed in gamestate_restore()
-	if (s.isLoading()) {
-		soundRes = 0;
-		pMidiParser = 0;
-		pStreamAud = 0;
-	}
-}
-
 // Experimental hack: Use syncWithSerializer to sync. By default, this assume
 // the object to be synced is a subclass of Serializable and thus tries to invoke
 // the saveLoadWithSerializer() method. But it is possible to specialize this
@@ -142,7 +114,8 @@
 
 template <>
 void syncWithSerializer(Common::Serializer &s, reg_t &obj) {
-	obj.saveLoadWithSerializer(s);
+	s.syncAsUint16LE(obj.segment);
+	s.syncAsUint16LE(obj.offset);
 }
 
 void SegManager::saveLoadWithSerializer(Common::Serializer &s) {
@@ -200,7 +173,7 @@
 template <>
 void syncWithSerializer(Common::Serializer &s, Class &obj) {
 	s.syncAsSint32LE(obj.script);
-	obj.reg.saveLoadWithSerializer(s);
+	syncWithSerializer<reg_t>(s, obj.reg);
 }
 
 static void sync_SavegameMetadata(Common::Serializer &s, SavegameMetadata &obj) {
@@ -260,7 +233,7 @@
 
 void Object::saveLoadWithSerializer(Common::Serializer &s) {
 	s.syncAsSint32LE(_flags);
-	_pos.saveLoadWithSerializer(s);
+	syncWithSerializer<reg_t>(s, _pos);
 	s.syncAsSint32LE(_methodCount);		// that's actually a uint16
 
 	syncArray<reg_t>(s, _variables);
@@ -277,18 +250,18 @@
 void syncWithSerializer(Common::Serializer &s, Table<List>::Entry &obj) {
 	s.syncAsSint32LE(obj.next_free);
 
-	obj.first.saveLoadWithSerializer(s);
-	obj.last.saveLoadWithSerializer(s);
+	syncWithSerializer<reg_t>(s, obj.first);
+	syncWithSerializer<reg_t>(s, obj.last);
 }
 
 template <>
 void syncWithSerializer(Common::Serializer &s, Table<Node>::Entry &obj) {
 	s.syncAsSint32LE(obj.next_free);
 
-	obj.pred.saveLoadWithSerializer(s);
-	obj.succ.saveLoadWithSerializer(s);
-	obj.key.saveLoadWithSerializer(s);
-	obj.value.saveLoadWithSerializer(s);
+	syncWithSerializer<reg_t>(s, obj.pred);
+	syncWithSerializer<reg_t>(s, obj.succ);
+	syncWithSerializer<reg_t>(s, obj.key);
+	syncWithSerializer<reg_t>(s, obj.value);
 }
 
 #ifdef ENABLE_SCI32
@@ -322,7 +295,7 @@
 		if (s.isSaving())
 			value = obj.getValue(i);
 
-		value.saveLoadWithSerializer(s);
+		syncWithSerializer<reg_t>(s, value);
 
 		if (s.isLoading())
 			obj.setValue(i, value);
@@ -520,6 +493,31 @@
 	}
 }
 
+void MusicEntry::saveLoadWithSerializer(Common::Serializer &s) {
+	syncWithSerializer<reg_t>(s, soundObj);
+	s.syncAsSint16LE(resourceId);
+	s.syncAsSint16LE(dataInc);
+	s.syncAsSint16LE(ticker);
+	s.syncAsSint16LE(signal, VER(17));
+	s.syncAsByte(priority);
+	s.syncAsSint16LE(loop, VER(17));
+	s.syncAsByte(volume);
+	s.syncAsByte(hold, VER(17));
+	s.syncAsByte(fadeTo);
+	s.syncAsSint16LE(fadeStep);
+	s.syncAsSint32LE(fadeTicker);
+	s.syncAsSint32LE(fadeTickerStep);
+	s.syncAsByte(status);
+
+	// pMidiParser and pStreamAud will be initialized when the
+	// sound list is reconstructed in gamestate_restore()
+	if (s.isLoading()) {
+		soundRes = 0;
+		pMidiParser = 0;
+		pStreamAud = 0;
+	}
+}
+
 void SoundCommandParser::syncPlayList(Common::Serializer &s) {
 	_music->saveLoadWithSerializer(s);
 }

Modified: scummvm/trunk/engines/sci/engine/vm_types.h
===================================================================
--- scummvm/trunk/engines/sci/engine/vm_types.h	2010-08-04 08:25:05 UTC (rev 51725)
+++ scummvm/trunk/engines/sci/engine/vm_types.h	2010-08-04 08:25:39 UTC (rev 51726)
@@ -27,7 +27,6 @@
 #define SCI_ENGINE_VM_TYPES_H
 
 #include "common/scummsys.h"
-#include "common/serializer.h"
 
 namespace Sci {
 
@@ -57,11 +56,6 @@
 	int16 toSint16() const {
 		return (int16) offset;
 	}
-
-	void saveLoadWithSerializer(Common::Serializer &s) {
-		s.syncAsUint16LE(segment);
-		s.syncAsUint16LE(offset);
-	}
 };
 
 static inline reg_t make_reg(SegmentId segment, uint16 offset) {


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