[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