aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2015-04-18 23:57:48 +0200
committerMartin Kiewitz2015-04-18 23:57:48 +0200
commitcf9fa4bd4012208208addb7b9705d41acbc93382 (patch)
treeb3a9ff4f50a7e4893e9e3b835906ef34005c38e7 /engines
parentd6000c927b7a0d29a1eaca70df81e1ae7b07e99f (diff)
downloadscummvm-rg350-cf9fa4bd4012208208addb7b9705d41acbc93382.tar.gz
scummvm-rg350-cf9fa4bd4012208208addb7b9705d41acbc93382.tar.bz2
scummvm-rg350-cf9fa4bd4012208208addb7b9705d41acbc93382.zip
SCI: workaround sig Quest for Glory 1 EGA migrated
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/workarounds.cpp18
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