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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Thu Sep 17 15:20:59 CEST 2009


Revision: 44150
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44150&view=rev
Author:   fingolfin
Date:     2009-09-17 13:20:58 +0000 (Thu, 17 Sep 2009)

Log Message:
-----------
SCI: cleanup

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kernel.h
    scummvm/trunk/engines/sci/engine/vm.cpp

Modified: scummvm/trunk/engines/sci/engine/kernel.h
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.h	2009-09-17 12:43:10 UTC (rev 44149)
+++ scummvm/trunk/engines/sci/engine/kernel.h	2009-09-17 13:20:58 UTC (rev 44150)
@@ -274,19 +274,7 @@
  */
 extern Common::Rect get_nsrect(EngineState *s, reg_t object, byte clip);
 
-/**
- * Removes all views in anticipation of a new window or text 
- */
-void _k_dyn_view_list_prepare_change(EngineState *s);
 
-/**
- * Redraws all views after a new window or text was added 
- */
-void _k_dyn_view_list_accept_change(EngineState *s);
-
-
-
-
 /******************** Misc functions ********************/
 
 /**

Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp	2009-09-17 12:43:10 UTC (rev 44149)
+++ scummvm/trunk/engines/sci/engine/vm.cpp	2009-09-17 13:20:58 UTC (rev 44150)
@@ -285,7 +285,7 @@
 			Breakpoint *bp;
 			char method_name [256];
 
-			sprintf(method_name, "%s::%s", s->segMan->getObjectName(send_obj), ((SciEngine*)g_engine)->getKernel()->getSelectorName(selector).c_str());
+			sprintf(method_name, "%s::%s", s->segMan->getObjectName(send_obj), ((SciEngine *)g_engine)->getKernel()->getSelectorName(selector).c_str());
 
 			bp = s->bp_list;
 			while (bp) {
@@ -909,36 +909,33 @@
 			break;
 		}
 
-		case 0x21: // callk
+		case 0x21: { // callk
 			gc_countdown(s);
 
 			scriptState.xs->sp -= (opparams[1] >> 1) + 1;
 
-			{
-				bool oldScriptHeader = (s->segMan->sciVersion() == SCI_VERSION_0_EARLY);
-				if (!oldScriptHeader) {
-					scriptState.xs->sp -= scriptState.restAdjust;
-					s->restAdjust = 0; // We just used up the scriptState.restAdjust, remember?
-				}
+			bool oldScriptHeader = (s->segMan->sciVersion() == SCI_VERSION_0_EARLY);
+			if (!oldScriptHeader) {
+				scriptState.xs->sp -= scriptState.restAdjust;
+				s->restAdjust = 0; // We just used up the scriptState.restAdjust, remember?
 			}
 
-			if (opparams[0] >= (int)((SciEngine*)g_engine)->getKernel()->_kernelFuncs.size()) {
+			Kernel *kernel = ((SciEngine *)g_engine)->getKernel();
+
+			if (opparams[0] >= (int)kernel->_kernelFuncs.size()) {
 				error("Invalid kernel function 0x%x requested", opparams[0]);
 			} else {
+				const KernelFuncWithSignature &kfun = kernel->_kernelFuncs[opparams[0]];
 				int argc = ASSERT_ARITHMETIC(scriptState.xs->sp[0]);
-				bool oldScriptHeader = (s->segMan->sciVersion() == SCI_VERSION_0_EARLY);
 
 				if (!oldScriptHeader)
 					argc += scriptState.restAdjust;
 
-				if (((SciEngine*)g_engine)->getKernel()->_kernelFuncs[opparams[0]].signature
-						&& !kernel_matches_signature(s->segMan,
-						((SciEngine*)g_engine)->getKernel()->_kernelFuncs[opparams[0]].signature, argc,
-						scriptState.xs->sp + 1)) {
+				if (kfun.signature
+						&& !kernel_matches_signature(s->segMan, kfun.signature, argc, scriptState.xs->sp + 1)) {
 					error("[VM] Invalid arguments to kernel call %x", opparams[0]);
 				} else {
-					s->r_acc = ((SciEngine*)g_engine)->getKernel()->_kernelFuncs[opparams[0]].fun(s, opparams[0],
-														argc, scriptState.xs->sp + 1);
+					s->r_acc = kfun.fun(s, opparams[0], argc, scriptState.xs->sp + 1);
 				}
 				// Call kernel function
 
@@ -952,6 +949,7 @@
 					scriptState.restAdjust = s->restAdjust;
 			}
 			break;
+		}
 
 		case 0x22: // callb
 			temp = ((opparams[1] >> 1) + scriptState.restAdjust + 1);
@@ -1862,7 +1860,7 @@
 			script_init_engine(s);
 			game_init(s);
 			sfx_reset_player();
-			_init_stack_base_with_selector(s, ((SciEngine*)g_engine)->getKernel()->_selectorMap.play);
+			_init_stack_base_with_selector(s, ((SciEngine *)g_engine)->getKernel()->_selectorMap.play);
 
 			send_selector(s, s->game_obj, s->game_obj, s->stack_base, 2, s->stack_base);
 
@@ -1881,7 +1879,7 @@
 					debugC(2, kDebugLevelVM, "Restarting with replay()\n");
 					s->_executionStack.clear(); // Restart with replay
 
-					_init_stack_base_with_selector(s, ((SciEngine*)g_engine)->getKernel()->_selectorMap.replay);
+					_init_stack_base_with_selector(s, ((SciEngine *)g_engine)->getKernel()->_selectorMap.replay);
 
 					send_selector(s, s->game_obj, s->game_obj, s->stack_base, 2, s->stack_base);
 				}
@@ -1900,7 +1898,7 @@
 	EngineState *s = *_s;
 
 	debugC(2, kDebugLevelVM, "Calling %s::play()\n", s->_gameName.c_str());
-	_init_stack_base_with_selector(s, ((SciEngine*)g_engine)->getKernel()->_selectorMap.play); // Call the play selector
+	_init_stack_base_with_selector(s, ((SciEngine *)g_engine)->getKernel()->_selectorMap.play); // Call the play selector
 
 	// Now: Register the first element on the execution stack-
 	if (!send_selector(s, s->game_obj, s->game_obj, s->stack_base, 2, s->stack_base)) {


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