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

mthreepwood at users.sourceforge.net mthreepwood at users.sourceforge.net
Mon Jun 21 17:51:05 CEST 2010


Revision: 50117
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50117&view=rev
Author:   mthreepwood
Date:     2010-06-21 15:51:04 +0000 (Mon, 21 Jun 2010)

Log Message:
-----------
Add a workaround for a MUMG script bug, MUMG now works again.

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

Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp	2010-06-21 15:13:36 UTC (rev 50116)
+++ scummvm/trunk/engines/sci/engine/vm.cpp	2010-06-21 15:51:04 UTC (rev 50117)
@@ -161,6 +161,11 @@
 				error("%s. [VM] Access would be outside even of the stack (%d); access denied", txt.c_str(), total_offset);
 				return false;
 			} else {
+				// WORKAROUND: Mixed-Up Mother Goose tries to use an invalid parameter in Event::new().
+				// Just skip around it here so we don't error out in validate_arithmetic.
+				if (g_sci->getGameId() == "mothergoose" && getSciVersion() <= SCI_VERSION_1_1 && type == VAR_PARAM && index == 1)
+					return false;
+
 				debugC(2, kDebugLevelVM, "%s", txt.c_str());
 				debugC(2, kDebugLevelVM, "[VM] Access within stack boundaries; access granted.");
 				return 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