aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/workarounds.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2010-07-26 08:21:43 +0000
committerFilippos Karapetis2010-07-26 08:21:43 +0000
commitd85e01640609f59bd1b3a8e9ffb3f16677832fac (patch)
treec031b76c5197dc4aac085e126c0c88e3661c35fc /engines/sci/engine/workarounds.cpp
parent8d04588880548ef25102f15343ad970f274f6e09 (diff)
downloadscummvm-rg350-d85e01640609f59bd1b3a8e9ffb3f16677832fac.tar.gz
scummvm-rg350-d85e01640609f59bd1b3a8e9ffb3f16677832fac.tar.bz2
scummvm-rg350-d85e01640609f59bd1b3a8e9ffb3f16677832fac.zip
SCI: Fixed bug #3034506, "QFG4 Demo: kPalette Subfunction Sig Mismatch", plus another sig mismatch on kDrawCel later on, when Dr. Cranium talks
svn-id: r51304
Diffstat (limited to 'engines/sci/engine/workarounds.cpp')
-rw-r--r--engines/sci/engine/workarounds.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index dd65b8e8a1..af30753c03 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -111,6 +111,12 @@ const SciWorkaroundEntry kAbs_workarounds[] = {
};
// gameID, room,script,lvl, object-name, method-name, call,index, workaround
+const SciWorkaroundEntry kDrawCel_workarounds[] = {
+ { GID_QFG4, 371, 22, 0, "GloryWindow", "<noname 196>", -1, 0, { WORKAROUND_STILLCALL, 0 } }, // when Dr. Cranium talks, gets called with 1 extra parameter
+ SCI_WORKAROUNDENTRY_TERMINATOR
+};
+
+// gameID, room,script,lvl, object-name, method-name, call,index, workaround
const SciWorkaroundEntry kDisplay_workarounds[] = {
{ GID_ISLANDBRAIN, 300, 300, 0, "geneDude", "show", -1, 0, { WORKAROUND_IGNORE, 0 } }, // when looking at the gene explanation chart - a parameter is an object
{ GID_SQ4, 391, 391, 0, "doCatalog", "mode", 0x84, 0, { WORKAROUND_IGNORE, 0 } }, // clicking on catalog in roboter sale - a parameter is an object
@@ -186,6 +192,12 @@ const SciWorkaroundEntry kMemory_workarounds[] = {
};
// gameID, room,script,lvl, object-name, method-name, call,index, workaround
+const SciWorkaroundEntry kPaletteUnsetFlag_workarounds[] = {
+ { GID_QFG4, 100, 100, 0, "doMovie", "<noname 144>", -1, 0, { WORKAROUND_IGNORE, 0 } }, // after the Sierra logo, no flags are passed, thus the call is meaningless
+ SCI_WORKAROUNDENTRY_TERMINATOR
+};
+
+// gameID, room,script,lvl, object-name, method-name, call,index, workaround
const SciWorkaroundEntry kSetPort_workarounds[] = {
{ GID_LSL6, 740, 740, 0, "rm740", "drawPic", -1, 0, { WORKAROUND_IGNORE, 0 } }, // ending scene, is called with additional 3 (!) parameters
SCI_WORKAROUNDENTRY_TERMINATOR