diff options
author | Martin Kiewitz | 2010-07-18 04:56:16 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-07-18 04:56:16 +0000 |
commit | 59bb9f8fe82432b35de103f7e705d91fde3f3f2a (patch) | |
tree | ca0999e5f4805956a8d1c041151b073c94903d50 /engines | |
parent | 525794927ed57fd18d3e713a5869f8fcde5ae2a9 (diff) | |
download | scummvm-rg350-59bb9f8fe82432b35de103f7e705d91fde3f3f2a.tar.gz scummvm-rg350-59bb9f8fe82432b35de103f7e705d91fde3f3f2a.tar.bz2 scummvm-rg350-59bb9f8fe82432b35de103f7e705d91fde3f3f2a.zip |
SCI: added uninitialized workarounds for hoyle 3
svn-id: r50978
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/vm.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index e066170715..9fcf95f4d0 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -314,7 +314,8 @@ static reg_t trackOriginAndFindWorkaround(int index, const SciWorkaroundEntry *w if (workaround->gameId == gameId && workaround->scriptNr == curScriptNr && ((workaround->inheritanceLevel == -1) || (workaround->inheritanceLevel == inheritanceLevel)) && (workaround->objectName == searchObjectName) - && workaround->methodName == curMethodName && workaround->localCallOffset == lastCall->debugLocalCallOffset && workaround->index == index) { + && workaround->methodName == curMethodName && workaround->localCallOffset == lastCall->debugLocalCallOffset + && ((workaround->index == -1) || (workaround->index == index))) { // Workaround found return workaround->newValue; } @@ -366,6 +367,9 @@ static const SciWorkaroundEntry uninitializedReadWorkarounds[] = { { GID_FREDDYPHARKAS, 31, 0, "quitWin", "open", -1, 5, { 0, 0xf } }, // is used as priority for game menu { GID_GK1, 64950, 1, "Feature", "handleEvent", -1, 0, { 0, 0 } }, // sometimes when walk-clicking { GID_GK2, 11, 0, "", "export 10", -1, 3, { 0, 0 } }, // called when the game starts + { GID_HOYLE3, 0, 1, "Character", "say", -1, 504, { 0, 0 } }, // when starting checkers, first time a character says something + { GID_HOYLE3, 0, 1, "Character", "say", -1, 505, { 0, 0 } }, // when starting checkers, first time a character says something + { GID_HOYLE3, 700, 0, "gcWindow", "open", -1, -1, { 0, 0 } }, // when entering control menu { GID_ISLANDBRAIN, 140, 0, "piece", "init", -1, 3, { 0, 1 } }, // first puzzle right at the start, some initialization variable. bnt is done on it, and it should be non-0 { GID_ISLANDBRAIN, 268, 0, "anElement", "select", -1, 0, { 0, 0 } }, // elements puzzle, gets used before super TextIcon { GID_JONES, 232, 0, "weekendText", "draw", 0x3d3, 0, { 0, 0 } }, // jones/cd only - gets called during the game |