[Scummvm-cvs-logs] SF.net SVN: scummvm:[42590] scummvm/trunk/engines/scumm/script_v5.cpp

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Sat Jul 18 15:39:21 CEST 2009


Revision: 42590
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42590&view=rev
Author:   Kirben
Date:     2009-07-18 13:39:21 +0000 (Sat, 18 Jul 2009)

Log Message:
-----------
Add workaround for bug #1668393 - ZAK FM-TOWNS: Crash when entering Hostel from outside.

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/script_v5.cpp

Modified: scummvm/trunk/engines/scumm/script_v5.cpp
===================================================================
--- scummvm/trunk/engines/scumm/script_v5.cpp	2009-07-18 13:05:39 UTC (rev 42589)
+++ scummvm/trunk/engines/scumm/script_v5.cpp	2009-07-18 13:39:21 UTC (rev 42590)
@@ -1138,9 +1138,19 @@
 
 	while ((_opcode = fetchScriptByte()) != 0xFF) {
 		cls = getVarOrDirectWord(PARAM_1);
-		b = getClass(obj, cls);
-		if (((cls & 0x80) && !b) || (!(cls & 0x80) && b))
-			cond = false;
+
+		// WORKAROUND bug #1668393: Due to a script bug, the wrong opcode is used
+		// to check the state of the inside door (object 465) of the Hostel on Mars,
+		// when opening the Hostel door from the outside.
+		if (_game.id == GID_ZAK && _game.platform == Common::kPlatformFMTowns &&
+		    vm.slot[_currentScript].number == 205 && _currentRoom == 185 &&
+		    obj == 465 && cls == 0) {
+			cond = (getState(obj) == 0);
+		} else {
+			b = getClass(obj, cls);
+			if (((cls & 0x80) && !b) || (!(cls & 0x80) && b))
+				cond = false;
+		}
 	}
 	jumpRelative(cond);
 }


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