aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/workarounds.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2010-07-28 03:54:14 +0000
committerMatthew Hoops2010-07-28 03:54:14 +0000
commit50e493f3ef368847b95d443bee13f6918bbab34e (patch)
tree781784fa8775fc3b156170b3fbcaa777fa54e4e5 /engines/sci/engine/workarounds.cpp
parent97b1cd34cf5b41c08e3e80f3dd9ce59db9865093 (diff)
downloadscummvm-rg350-50e493f3ef368847b95d443bee13f6918bbab34e.tar.gz
scummvm-rg350-50e493f3ef368847b95d443bee13f6918bbab34e.tar.bz2
scummvm-rg350-50e493f3ef368847b95d443bee13f6918bbab34e.zip
SCI: Fix bug #3035720 - SQ1SCI demo: Menu crash
kCelWide and kCelHigh are called with the second two parameters as objects instead of integers. We fake return the real width/height of the view in question to allow the quit menu to work. Values found by examining the view passed as the first parameter. svn-id: r51401
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 0a44707644..244066a6e6 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -123,6 +123,18 @@ const SciWorkaroundEntry kAbs_workarounds[] = {
};
// gameID, room,script,lvl, object-name, method-name, call,index, workaround
+const SciWorkaroundEntry kCelHigh_workarounds[] = {
+ { GID_SQ1, 1, 255, 0, "DIcon", "setSize", -1, 0, { WORKAROUND_FAKE, 66 } }, // DEMO: Called with 2nd/3rd parameters as objects when clicking on the menu
+ SCI_WORKAROUNDENTRY_TERMINATOR
+};
+
+// gameID, room,script,lvl, object-name, method-name, call,index, workaround
+const SciWorkaroundEntry kCelWide_workarounds[] = {
+ { GID_SQ1, 1, 255, 0, "DIcon", "setSize", -1, 0, { WORKAROUND_FAKE, 78 } }, // DEMO: Called with 2nd/3rd parameters as objects when clicking on the menu
+ 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