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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Tue Jun 8 23:21:19 CEST 2010


Revision: 49521
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49521&view=rev
Author:   thebluegr
Date:     2010-06-08 21:21:19 +0000 (Tue, 08 Jun 2010)

Log Message:
-----------
Cleanup

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/savegame.cpp
    scummvm/trunk/engines/sci/engine/state.cpp
    scummvm/trunk/engines/sci/engine/vm.cpp

Modified: scummvm/trunk/engines/sci/engine/savegame.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/savegame.cpp	2010-06-08 21:15:53 UTC (rev 49520)
+++ scummvm/trunk/engines/sci/engine/savegame.cpp	2010-06-08 21:21:19 UTC (rev 49521)
@@ -856,9 +856,6 @@
 	s->_sound.sfx_exit();
 #endif
 
-	// Set exec stack base to zero
-	s->execution_stack_base = 0;
-
 	// Now copy all current state information
 
 #ifdef USE_OLD_MUSIC_FUNCTIONS

Modified: scummvm/trunk/engines/sci/engine/state.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/state.cpp	2010-06-08 21:15:53 UTC (rev 49520)
+++ scummvm/trunk/engines/sci/engine/state.cpp	2010-06-08 21:21:19 UTC (rev 49521)
@@ -91,20 +91,22 @@
 		_memorySegmentSize = 0;
 		_soundCmd = 0;
 
-		execution_stack_base = 0;
-		_executionStackPosChanged = false;
-
 		_fileHandles.resize(5);
 
-		r_acc = NULL_REG;
-		restAdjust = 0;
-		r_prev = NULL_REG;
-
 		stack_base = 0;
 		stack_top = 0;
 		abortScriptProcessing = kAbortNone;
 	}
 
+	execution_stack_base = 0;
+	_executionStackPosChanged = false;
+
+	restAdjust = 0;
+	restAdjustCur = 0;
+
+	r_acc = NULL_REG;
+	r_prev = NULL_REG;
+
 	last_wait_time = 0;
 
 	gc_countdown = 0;

Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp	2010-06-08 21:15:53 UTC (rev 49520)
+++ scummvm/trunk/engines/sci/engine/vm.cpp	2010-06-08 21:21:19 UTC (rev 49521)
@@ -1713,7 +1713,6 @@
 
 		if (s->abortScriptProcessing == kAbortRestartGame) {
 			s->abortScriptProcessing = kAbortNone;
-			s->_executionStack.clear();
 			s->_executionStackPosChanged = false;
 
 			script_init_engine(s);
@@ -1726,17 +1725,14 @@
 			send_selector(s, s->_gameObj, s->_gameObj, s->stack_base, 2, s->stack_base);
 
 			s->gameWasRestarted = true;
-
+		} else if (s->abortScriptProcessing == kAbortLoadGame) {
+			s->abortScriptProcessing = kAbortNone;
+			debugC(2, kDebugLevelVM, "Restarting with replay()");
+			// Restart with replay
+			_init_stack_base_with_selector(s, g_sci->getKernel()->_selectorCache.replay);
+			send_selector(s, s->_gameObj, s->_gameObj, s->stack_base, 2, s->stack_base);
 		} else {
-			if (s->abortScriptProcessing == kAbortLoadGame) {
-				s->abortScriptProcessing = kAbortNone;
-				debugC(2, kDebugLevelVM, "Restarting with replay()");
-				s->_executionStack.clear();
-				// Restart with replay
-				_init_stack_base_with_selector(s, g_sci->getKernel()->_selectorCache.replay);
-				send_selector(s, s->_gameObj, s->_gameObj, s->stack_base, 2, s->stack_base);
-			} else
-				break;	// exit loop
+			break;	// exit loop
 		}
 	} while (true);
 


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