[Scummvm-cvs-logs] CVS: scummvm/scumm cursor.cpp,2.36,2.37 intern.h,2.461,2.462 saveload.cpp,1.208,1.209 scumm.h,1.600,1.601

Max Horn fingolfin at users.sourceforge.net
Tue Apr 26 08:55:14 CEST 2005


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31437

Modified Files:
	cursor.cpp intern.h saveload.cpp scumm.h 
Log Message:
Removed the ugly saveOrLoadCursorImages hack and instead properly overload ScummEngine::saveOrLoad; did the same for the V7 IMuseDigital save/load code

Index: cursor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/cursor.cpp,v
retrieving revision 2.36
retrieving revision 2.37
diff -u -d -r2.36 -r2.37
--- cursor.cpp	20 Apr 2005 18:20:55 -0000	2.36
+++ cursor.cpp	26 Apr 2005 13:33:09 -0000	2.37
@@ -494,14 +494,4 @@
 	updateCursor();
 }
 
-void ScummEngine_v5::saveOrLoadCursorImages(Serializer *s) {
-	const SaveLoadEntry cursorEntries[] = {
-		MKARRAY2(ScummEngine_v5, _cursorImages[0][0], sleUint16, 16, 4, (byte*)_cursorImages[1] - (byte*)_cursorImages[0], VER(44)),
-		MKARRAY(ScummEngine_v5, _cursorHotspots[0], sleByte, 8, VER(44)),
-		MKEND()
-	};
-
-	s->saveLoadEntries(this, cursorEntries);
-}
-
 } // End of namespace Scumm

Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.461
retrieving revision 2.462
diff -u -d -r2.461 -r2.462
--- intern.h	26 Apr 2005 10:58:40 -0000	2.461
+++ intern.h	26 Apr 2005 13:33:10 -0000	2.462
@@ -64,6 +64,8 @@
 	virtual void initScummVars();
 	virtual void decodeParseString();
 
+	virtual void saveOrLoad(Serializer *s, uint32 savegameVersion);
+
 	virtual void readMAXS(int blockSize);
 
 	int getWordVararg(int *ptr);
@@ -79,7 +81,6 @@
 	void setBuiltinCursor(int index);
 	void redefineBuiltinCursorFromChar(int index, int chr);
 	void redefineBuiltinCursorHotspot(int index, int x, int y);
-	void saveOrLoadCursorImages(Serializer *s);
 
 	/* Version 5 script opcodes */
 	void o5_actorFollowCamera();
@@ -1243,6 +1244,8 @@
 	virtual void setupScummVars();
 	virtual void initScummVars();
 
+	virtual void saveOrLoad(Serializer *s, uint32 savegameVersion);
+
 	virtual void readMAXS(int blockSize);
 	virtual void readGlobalObjects();
 	virtual void readIndexBlock(uint32 blocktype, uint32 itemsize);

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.208
retrieving revision 1.209
diff -u -d -r1.208 -r1.209
--- saveload.cpp	26 Apr 2005 13:22:46 -0000	1.208
+++ saveload.cpp	26 Apr 2005 13:33:16 -0000	1.209
@@ -909,13 +909,26 @@
 	if (_imuse && (_saveSound || !_saveTemporaryState)) {
 		_imuse->save_or_load(s, this);
 	}
+}
 
-	if (_imuseDigital) {
-		_imuseDigital->saveOrLoad(s);
-	}
+void ScummEngine_v5::saveOrLoad(Serializer *s, uint32 savegameVersion) {
+	ScummEngine::saveOrLoad(s, savegameVersion);
+
+	const SaveLoadEntry cursorEntries[] = {
+		MKARRAY2(ScummEngine_v5, _cursorImages[0][0], sleUint16, 16, 4, (byte*)_cursorImages[1] - (byte*)_cursorImages[0], VER(44)),
+		MKARRAY(ScummEngine_v5, _cursorHotspots[0], sleByte, 8, VER(44)),
+		MKEND()
+	};
 
 	// This is probably only needed for Loom.
-	saveOrLoadCursorImages(s);
+	s->saveLoadEntries(this, cursorEntries);
+}
+
+void ScummEngine_v7::saveOrLoad(Serializer *s, uint32 savegameVersion) {
+	ScummEngine::saveOrLoad(s, savegameVersion);
+
+	assert(_imuseDigital);
+	_imuseDigital->saveOrLoad(s);
 }
 
 void ScummEngine::saveLoadResource(Serializer *ser, int type, int idx) {

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.600
retrieving revision 1.601
diff -u -d -r1.600 -r1.601
--- scumm.h	26 Apr 2005 10:58:36 -0000	1.600
+++ scumm.h	26 Apr 2005 13:33:17 -0000	1.601
@@ -427,7 +427,6 @@
 	void updateCursor();
 	virtual void animateCursor() {}
 	virtual void updatePalette();
-	virtual void saveOrLoadCursorImages(Serializer *s) {}
 
 	/**
 	 * Flag which signals that the SMUSH video playback should end now
@@ -564,7 +563,7 @@
 
 	bool saveState(int slot, bool compat);
 	bool loadState(int slot, bool compat);
-	void saveOrLoad(Serializer *s, uint32 savegameVersion);
+	virtual void saveOrLoad(Serializer *s, uint32 savegameVersion);
 	void saveLoadResource(Serializer *ser, int type, int index);	// "Obsolete"
 	void saveResource(Serializer *ser, int type, int index);
 	void loadResource(Serializer *ser, int type, int index);





More information about the Scummvm-git-logs mailing list