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

waltervn at users.sourceforge.net waltervn at users.sourceforge.net
Sat May 16 14:47:00 CEST 2009


Revision: 40627
          http://scummvm.svn.sourceforge.net/scummvm/?rev=40627&view=rev
Author:   waltervn
Date:     2009-05-16 12:46:59 +0000 (Sat, 16 May 2009)

Log Message:
-----------
SCI: Allow the VM to continue when the invalid selector access occurs at the start of LSL6.

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

Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp	2009-05-16 12:35:48 UTC (rev 40626)
+++ scummvm/trunk/engines/sci/engine/vm.cpp	2009-05-16 12:46:59 UTC (rev 40627)
@@ -368,6 +368,14 @@
 		switch (lookup_selector(s, send_obj, selector, &varp, &funcp)) {
 		case kSelectorNone:
 			sciprintf("Send to invalid selector 0x%x of object at "PREG"\n", 0xffff & selector, PRINT_REG(send_obj));
+
+			// WORKAROUND: LSL6 tries to access the invalid 'keep' selector of the game object.
+			// FIXME: Find out if this is a game bug.
+			if ((s->_gameName == "LSL6") && (s->currentRoomNumber() == 100)) {
+				debug("LSL6 room 100 detected, continuing...");
+				break;
+			}
+
 			script_error_flag = script_debug_flag = 1;
 			break;
 


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