diff options
author | Martin Kiewitz | 2015-04-18 23:57:48 +0200 |
---|---|---|
committer | Martin Kiewitz | 2015-04-18 23:57:48 +0200 |
commit | cf9fa4bd4012208208addb7b9705d41acbc93382 (patch) | |
tree | b3a9ff4f50a7e4893e9e3b835906ef34005c38e7 | |
parent | d6000c927b7a0d29a1eaca70df81e1ae7b07e99f (diff) | |
download | scummvm-rg350-cf9fa4bd4012208208addb7b9705d41acbc93382.tar.gz scummvm-rg350-cf9fa4bd4012208208addb7b9705d41acbc93382.tar.bz2 scummvm-rg350-cf9fa4bd4012208208addb7b9705d41acbc93382.zip |
SCI: workaround sig Quest for Glory 1 EGA migrated
-rw-r--r-- | engines/sci/engine/workarounds.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp index 27b9697230..e368d124ed 100644 --- a/engines/sci/engine/workarounds.cpp +++ b/engines/sci/engine/workarounds.cpp @@ -59,6 +59,21 @@ const SciWorkaroundEntry arithmeticWorkarounds[] = { SCI_WORKAROUNDENTRY_TERMINATOR }; +// 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) +// Applies to at least: English PC floppy (Hero's Quest, Quest For Glory 1), Japanese PC-9801 floppy +static const uint16 sig_uninitread_qfg1_1[] = { + 0x3f, 0x02, // link 02 + 0x87, 0x00, // lap param[0] + 0x30, SIG_UINT16(0x000c), // bnt [...] + 0x87, 0x01, // lap param[1] + 0x30, SIG_UINT16(0x0007), // bnt [...] + 0x87, 0x01, // lap param[1] + 0xa5, 0x01, // sat temp[1] + SIG_END +}; + // Game: Quest for Glory 2 // Calling method: abdulS::changeState, jabbarS::changeState // Subroutine offset: English 0x2d22 (script 260) @@ -181,8 +196,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = { { GID_PEPPER, 150, 928, 0, "Narrator", "startText", -1, NULL, 0, { WORKAROUND_FAKE, 0 } }, // happens during the non-interactive demo of Pepper { GID_PQ4, -1, 25, 0, "iconToggle", "select", -1, NULL, 1, { WORKAROUND_FAKE, 0 } }, // when toggling the icon bar to auto-hide or not { GID_PQSWAT, -1, 64950, 0, "View", "handleEvent", -1, NULL, 0, { WORKAROUND_FAKE, 0 } }, // Using the menu in the beginning - { GID_QFG1, -1, 210, 0, "Encounter", "init", 0xbd0, NULL, 0, { WORKAROUND_FAKE, 0 } }, // hq1: going to the brigands hideout - { GID_QFG1, -1, 210, 0, "Encounter", "init", 0xbe4, NULL, 0, { WORKAROUND_FAKE, 0 } }, // qfg1: going to the brigands hideout + { GID_QFG1, -1, 210, 0, "Encounter", "init", -1, sig_uninitread_qfg1_1, 0, { WORKAROUND_FAKE, 0 } }, // qfg1/hq1: going to the brigands hideout { GID_QFG1VGA, 16, 16, 0, "lassoFailed", "changeState", -1, NULL, -1, { WORKAROUND_FAKE, 0 } }, // qfg1vga: casting the "fetch" spell in the screen with the flowers, temps 0 and 1 - bug #5309 { GID_QFG1VGA, -1, 210, 0, "Encounter", "init", 0xcee, NULL, 0, { WORKAROUND_FAKE, 0 } }, // qfg1vga: going to the brigands hideout - bug #5515 { GID_QFG1VGA, -1, 210, 0, "Encounter", "init", 0xce7, NULL, 0, { WORKAROUND_FAKE, 0 } }, // qfg1vga: going to room 92 |