[Scummvm-cvs-logs] SF.net SVN: scummvm:[51208] scummvm/trunk/engines/sci/graphics/paint16.cpp
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Fri Jul 23 15:57:45 CEST 2010
Revision: 51208
http://scummvm.svn.sourceforge.net/scummvm/?rev=51208&view=rev
Author: m_kiewitz
Date: 2010-07-23 13:57:45 +0000 (Fri, 23 Jul 2010)
Log Message:
-----------
SCI: adding workaround for sq4/room 391
kDisplay is called with an object as opcode, we simply skip over it
Modified Paths:
--------------
scummvm/trunk/engines/sci/graphics/paint16.cpp
Modified: scummvm/trunk/engines/sci/graphics/paint16.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/paint16.cpp 2010-07-23 13:47:00 UTC (rev 51207)
+++ scummvm/trunk/engines/sci/graphics/paint16.cpp 2010-07-23 13:57:45 UTC (rev 51208)
@@ -480,7 +480,10 @@
_ports->textGreyedOutput(false);
// processing codes in argv
while (argc > 0) {
- displayArg = argv[0].toUint16();
+ if (argv[0].segment)
+ displayArg = 0xFFFF;
+ else
+ displayArg = argv[0].toUint16();
argc--; argv++;
switch (displayArg) {
case SCI_DISPLAY_MOVEPEN:
@@ -543,6 +546,8 @@
default:
if ((g_sci->getGameId() == GID_ISLANDBRAIN) && (g_sci->getEngineState()->currentRoomNumber() == 300))
break; // WORKAROUND: we are called there with an forwarded 0 as additional parameter (script bug)
+ if ((g_sci->getGameId() == GID_SQ4) && (g_sci->getEngineState()->currentRoomNumber() == 391))
+ break; // WORKAROUND: we get a pointer as parameter, skip it (sub 84h)
error("Unknown kDisplay argument %X", displayArg);
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