[Scummvm-cvs-logs] SF.net SVN: scummvm:[51319] scummvm/trunk/engines/sci/engine
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Mon Jul 26 17:40:13 CEST 2010
Revision: 51319
http://scummvm.svn.sourceforge.net/scummvm/?rev=51319&view=rev
Author: m_kiewitz
Date: 2010-07-26 15:40:12 +0000 (Mon, 26 Jul 2010)
Log Message:
-----------
SCI: adding workaround for island of dr. brain
room 290 elevator puzzle, solves bug #3034485
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/kgraphics.cpp
scummvm/trunk/engines/sci/engine/workarounds.cpp
Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp 2010-07-26 15:03:31 UTC (rev 51318)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp 2010-07-26 15:40:12 UTC (rev 51319)
@@ -260,7 +260,7 @@
reg_t kGraphSaveBox(EngineState *s, int argc, reg_t *argv) {
Common::Rect rect = getGraphRect(argv);
- uint16 screenMask = (argc > 4) ? argv[4].toUint16() : 0;
+ uint16 screenMask = argv[4].toUint16() & GFX_SCREEN_MASK_ALL;
return g_sci->_gfxPaint16->kernelGraphSaveBox(rect, screenMask);
}
Modified: scummvm/trunk/engines/sci/engine/workarounds.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/workarounds.cpp 2010-07-26 15:03:31 UTC (rev 51318)
+++ scummvm/trunk/engines/sci/engine/workarounds.cpp 2010-07-26 15:40:12 UTC (rev 51319)
@@ -149,6 +149,8 @@
// gameID, room,script,lvl, object-name, method-name, call,index, workaround
const SciWorkaroundEntry kGraphSaveBox_workarounds[] = {
{ GID_CASTLEBRAIN, 420, 427, 0, "alienIcon", "select", -1, 0, { WORKAROUND_STILLCALL, 0 } }, // when selecting a card during the alien card game, gets called with 1 extra parameter
+ { GID_ISLANDBRAIN, 290, 291, 0, "downElevator", "changeState",0x201f, 0, { WORKAROUND_STILLCALL, 0 } }, // when testing in the elevator puzzle, gets called with 1 argument less - 15 is on stack
+ { GID_ISLANDBRAIN, 290, 291, 0, "correctElevator", "changeState",0x201f, 0, { WORKAROUND_STILLCALL, 0 } }, // see above
SCI_WORKAROUNDENTRY_TERMINATOR
};
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