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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Wed Jul 8 12:35:52 CEST 2009


Revision: 42261
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42261&view=rev
Author:   thebluegr
Date:     2009-07-08 10:35:51 +0000 (Wed, 08 Jul 2009)

Log Message:
-----------
Fixed saving/loading again (broken with the latest changes for game feature auto-detection)

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-07-08 10:25:37 UTC (rev 42260)
+++ scummvm/trunk/engines/sci/engine/savegame.cpp	2009-07-08 10:35:51 UTC (rev 42261)
@@ -756,6 +756,22 @@
 	// FIXME: Do in-place loading at some point, instead of creating a new EngineState instance from scratch.
 	retval = new EngineState(s->resmgr, s->_version, s->_flags);
 
+	// static parser information:
+	assert(0 == retval->_vocabulary);
+	retval->_vocabulary = s->_vocabulary;
+//	s->_vocabulary = 0;	// FIXME: We should set s->_vocabulary to 0 here,
+// else it could be freed when the old EngineState is freed. Luckily, this freeing currently
+// never happens, so we don't need to. 
+
+	retval->parser_base = make_reg(s->sys_strings_segment, SYS_STRING_PARSER_BASE);
+
+	// static VM/Kernel information:
+	assert(0 == retval->_kernel);
+	retval->_kernel = s->_kernel;
+//	s->_kernel = 0;	// FIXME: We should set s->_kernel to 0 here,
+// else it could be freed when the old EngineState is freed. Luckily, this freeing currently
+// never happens, so we don't need to. 
+
 	// Copy some old data
 	retval->gfx_state = s->gfx_state;
 	retval->sound_mute = s->sound_mute;
@@ -813,22 +829,6 @@
 	retval->last_wait_time = g_system->getMillis();
 	retval->game_start_time = g_system->getMillis() - retval->game_time * 1000;
 
-	// static parser information:
-	assert(0 == retval->_vocabulary);
-	retval->_vocabulary = s->_vocabulary;
-//	s->_vocabulary = 0;	// FIXME: We should set s->_vocabulary to 0 here,
-// else it could be freed when the old EngineState is freed. Luckily, this freeing currently
-// never happens, so we don't need to. 
-
-	retval->parser_base = make_reg(s->sys_strings_segment, SYS_STRING_PARSER_BASE);
-
-	// static VM/Kernel information:
-	assert(0 == retval->_kernel);
-	retval->_kernel = s->_kernel;
-//	s->_kernel = 0;	// FIXME: We should set s->_kernel to 0 here,
-// else it could be freed when the old EngineState is freed. Luckily, this freeing currently
-// never happens, so we don't need to. 
-
 	// Copy breakpoint information from current game instance
 	retval->have_bp = s->have_bp;
 	retval->bp_list = s->bp_list;


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