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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Wed Jul 8 12:44:27 CEST 2009


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

Log Message:
-----------
Only the kernel needs to be initialized before anything else, when saving/loading

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:35:51 UTC (rev 42261)
+++ scummvm/trunk/engines/sci/engine/savegame.cpp	2009-07-08 10:44:25 UTC (rev 42262)
@@ -756,18 +756,9 @@
 	// 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;
+	retval->_kernel = s->_kernel;	// needs to be initialized before _reset_graphics_input is called
 //	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. 
@@ -829,6 +820,15 @@
 	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);
+
 	// 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