[Scummvm-cvs-logs] CVS: residual engine.cpp,1.91,1.92 lua.cpp,1.155,1.156

Pawel Kolodziejski aquadran at users.sourceforge.net
Sun Aug 14 07:08:01 CEST 2005


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

Modified Files:
	engine.cpp lua.cpp 
Log Message:
implemented RestoreIMuse SaveIMuse opcodes

Index: engine.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/engine.cpp,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -d -r1.91 -r1.92
--- engine.cpp	14 Aug 2005 13:26:37 -0000	1.91
+++ engine.cpp	14 Aug 2005 14:07:03 -0000	1.92
@@ -488,7 +488,7 @@
 	//Render_Save(savegameGzwrite);
 	//Primitive_Save(savegameGzwrite);
 	//Smush_Save(savegameGzwrite);
-	g_imuse->saveState(savegameGzread);
+	g_imuse->saveState(savegameGzwrite);
 	lua_Save(savegameGzwrite);
 
 	gzclose(_savegameFileHandle);

Index: lua.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/lua.cpp,v
retrieving revision 1.155
retrieving revision 1.156
diff -u -d -r1.155 -r1.156
--- lua.cpp	14 Aug 2005 13:26:37 -0000	1.155
+++ lua.cpp	14 Aug 2005 14:07:03 -0000	1.156
@@ -1958,14 +1958,26 @@
 
 static void SaveIMuse() {
 	DEBUG_FUNCTION();
-	if(debugLevel == DEBUG_ERROR || debugLevel == DEBUG_ALL)
-		error("SaveIMuse() is not yet supported");
+	gzFile file = gzopen("grim.tmp", "wb");
+	if (file == NULL) {
+		warning("SaveIMuse() Error creating temp savegame file");
+		return;
+	}
+	g_imuse->saveState(g_engine->savegameGzwrite);
+	gzclose(file);
 }
 
 static void RestoreIMuse() {
 	DEBUG_FUNCTION();
-	if(debugLevel == DEBUG_ERROR || debugLevel == DEBUG_ALL)
-		error("RestoreIMuse() is not yet supported");
+	gzFile file = gzopen("grim.tmp", "rb");
+	if (file == NULL) {
+		return;
+	}
+	g_imuse->stopAllSounds();
+	g_imuse->resetState();
+	g_imuse->restoreState(g_engine->savegameGzread);
+	gzclose(file);
+	unlink("grim.tmp");
 }
 
 static void SetSoundPosition() {





More information about the Scummvm-git-logs mailing list