diff options
author | Martin Kiewitz | 2016-02-17 21:40:37 +0100 |
---|---|---|
committer | Martin Kiewitz | 2016-02-17 21:40:37 +0100 |
commit | 736d7cd533255d1fa9b3a6d20158ed7c917ac4a6 (patch) | |
tree | 8c354d31d4ad8fcbc7b3bd8fe049750ec9e29561 /engines/agi | |
parent | fd688b73d75b06f96310d0151a2c9ef13d387f74 (diff) | |
download | scummvm-rg350-736d7cd533255d1fa9b3a6d20158ed7c917ac4a6.tar.gz scummvm-rg350-736d7cd533255d1fa9b3a6d20158ed7c917ac4a6.tar.bz2 scummvm-rg350-736d7cd533255d1fa9b3a6d20158ed7c917ac4a6.zip |
AGI: Make SQ2 Apple IIgs get a AGI 2.917 equivalent and not 2.936
Solves the priority issues at the end, because the set.pri.base
call is now rejected by us. The IIgs interpreter seems to feature
177 kernel calls, but the last few are not what we expect them to
be. It seems set.pri.base was discard.sound for this interpreter.
It seems it was cleaned up for kq4. That one actually uses
dynamic priority bands and it's working properly.
Fixes bug #7034
Diffstat (limited to 'engines/agi')
-rw-r--r-- | engines/agi/detection_tables.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/agi/detection_tables.h b/engines/agi/detection_tables.h index 8da255d9ee..8d36419fd6 100644 --- a/engines/agi/detection_tables.h +++ b/engines/agi/detection_tables.h @@ -573,7 +573,14 @@ static const AGIGameDescription gameDescriptions[] = { GAME("sq2", "2.0D 1988-03-14 3.5\"", "85390bde8958c39830e1adbe9fff87f3", 0x2936, GID_SQ2), // Space Quest 2 (IIgs) 2.0A 7/25/88 (CE) - GAME_P("sq2", "2.0A 1988-07-25 (CE)", "5dfdac98dd3c01fcfb166529f917e911", 0x2936, GID_SQ2, Common::kPlatformApple2GS), + // We have to see this as AGI < 2.936, because otherwise a set.pri.base call would somewhat break + // priority in SQ2, when entering Vohaul's vault. + // The Apple IIgs AGI included with SQ2 is the same as the one included with KQ3. + // We currently consider KQ3 IIgs to be a 2.917-equivalent. + // The SQ2 IIgs AGI definitely has 177 kernel functions, but it seems that Sierra shuffled the last few around / added a few extras at the end. + // For KQ3 set.pri.base is called with parameters that seem to be sound resources, which means + // set.pri.base was possibly discard.sound. For KQ4 onwards it seems this was cleaned up. + GAME_P("sq2", "2.0A 1988-07-25 (CE)", "5dfdac98dd3c01fcfb166529f917e911", 0x2917, GID_SQ2, Common::kPlatformApple2GS), { // Space Quest 2 (Amiga) 2.0F |