diff options
author | Martin Kiewitz | 2015-04-19 13:09:10 +0200 |
---|---|---|
committer | Martin Kiewitz | 2015-04-19 13:09:10 +0200 |
commit | 629f6a4208828e27e808155af24037b720e268b3 (patch) | |
tree | 34a350a324fbf0f683fdfc0dd35e47a12de3366b /engines/sci/engine | |
parent | bbf9c83ebf8ab6f27519a0d1cb4d4c747a16e985 (diff) | |
download | scummvm-rg350-629f6a4208828e27e808155af24037b720e268b3.tar.gz scummvm-rg350-629f6a4208828e27e808155af24037b720e268b3.tar.bz2 scummvm-rg350-629f6a4208828e27e808155af24037b720e268b3.zip |
SCI: workaround sig Quest for Glory 1 VGA migrated
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/workarounds.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp index cafca0a2db..52ddb2912a 100644 --- a/engines/sci/engine/workarounds.cpp +++ b/engines/sci/engine/workarounds.cpp @@ -92,6 +92,22 @@ static const uint16 sig_uninitread_qfg1_1[] = { SIG_END }; +// Game: Quest for Glory 1 VGA +// Calling method: Encounter::init +// Subroutine offset: English w/o patch 0x0cee, w/ patch 0x0ce7 (script 210) +// Applies to at least: English PC floppy +static const uint16 sig_uninitread_qfg1vga_1[] = { + 0x3f, 0x02, // link 02 + 0x87, 0x00, // lap param[0] + 0x31, 0x0b, // bnt [...] + 0x87, 0x01, // lap param[1] + 0x31, 0x07, // bnt [...] + 0x87, 0x01, // lap param[1] + 0xa5, 0x01, // sat temp[1] + // following jump is different for patched and unpatched game + SIG_END +}; + // Game: Quest for Glory 2 // Calling method: abdulS::changeState, jabbarS::changeState // Subroutine offset: English 0x2d22 (script 260) @@ -216,8 +232,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = { { 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", -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 + { GID_QFG1VGA, -1, 210, 0, "Encounter", "init", -1, sig_uninitread_qfg1vga_1, 0, { WORKAROUND_FAKE, 0 } }, // qfg1vga: going to the brigands hideout - bug #5515 { GID_QFG2, -1, 71, 0, "theInvSheet", "doit", -1, NULL, 1, { WORKAROUND_FAKE, 0 } }, // accessing the inventory { GID_QFG2, -1, 701, -1, "Alley", "at", -1, NULL, 0, { WORKAROUND_FAKE, 0 } }, // when walking inside the alleys in the town - bug #5019 & #5106 { GID_QFG2, -1, 990, 0, "Restore", "doit", -1, NULL, 364, { WORKAROUND_FAKE, 0 } }, // when pressing enter in restore dialog w/o any saved games present |