diff options
author | Martin Kiewitz | 2015-04-19 16:18:44 +0200 |
---|---|---|
committer | Martin Kiewitz | 2015-04-19 16:18:44 +0200 |
commit | 76fa1a0c6fa38339e28450581bf8562bb4840d40 (patch) | |
tree | a78795c40a71992db623e0ee0d4ccc5004d854b7 | |
parent | 062c535d1b0afbad79b6191468d7d70f68fe9443 (diff) | |
download | scummvm-rg350-76fa1a0c6fa38339e28450581bf8562bb4840d40.tar.gz scummvm-rg350-76fa1a0c6fa38339e28450581bf8562bb4840d40.tar.bz2 scummvm-rg350-76fa1a0c6fa38339e28450581bf8562bb4840d40.zip |
SCI: workaround sig Conquests of Longbow migrated
-rw-r--r-- | engines/sci/engine/workarounds.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp index ebf587183c..b591ea2b79 100644 --- a/engines/sci/engine/workarounds.cpp +++ b/engines/sci/engine/workarounds.cpp @@ -77,6 +77,18 @@ const SciWorkaroundEntry arithmeticWorkarounds[] = { SCI_WORKAROUNDENTRY_TERMINATOR }; +// Game: Conquests of the Longbow +// Calling method: letter::handleEvent +// Subroutine offset: English 0x00a8 (script 213) +// Applies to at least: English PC floppy, English Amiga floppy +static const uint16 sig_uninitread_longbow_1[] = { + 0x3f, 0x02, // link 02 + 0x35, 0x00, // ldi 00 + 0xa5, 0x00, // sat temp[0] + 0x8d, 0x00, // lst temp[0] + SIG_END +}; + // Game: Quest for Glory 1 / Hero's Quest 1 // Calling method: Encounter::init // Subroutine offset: English Hero's Quest 0x0bd0, English Quest for Glory 1 0x0be4 (script 210) @@ -223,7 +235,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = { { GID_LAURABOW2, -1, 928, 0, NULL, "startText", -1, NULL, 0, { WORKAROUND_FAKE, 0 } }, // gets caused by Text+Audio support (see script patcher) { GID_LONGBOW, -1, 0, 0, "Longbow", "restart", -1, NULL, 0, { WORKAROUND_FAKE, 0 } }, // When canceling a restart game - bug #5244 { GID_LONGBOW, -1, 213, 0, "clear", "handleEvent", -1, NULL, 0, { WORKAROUND_FAKE, 0 } }, // When giving an answer using the druid hand sign code in any room - { GID_LONGBOW, -1, 213, 0, "letter", "handleEvent", 0xa8, NULL, 1, { WORKAROUND_FAKE, 0 } }, // When using the druid hand sign code in any room - bug #5035 + { GID_LONGBOW, -1, 213, 0, "letter", "handleEvent",-1,sig_uninitread_longbow_1, 1, { WORKAROUND_FAKE, 0 } }, // When using the druid hand sign code in any room - bug #5035 { GID_LSL1, 250, 250, 0, "increase", "handleEvent", -1, NULL, 2, { WORKAROUND_FAKE, 0 } }, // casino, playing game, increasing bet { GID_LSL1, 720, 720, 0, "rm720", "init", -1, NULL, 0, { WORKAROUND_FAKE, 0 } }, // age check room { GID_LSL2, 38, 38, 0, "cloudScript", "changeState", -1, NULL, 1, { WORKAROUND_FAKE, 0 } }, // entering the room in the middle deck of the ship - bug #5034 |