diff options
author | Martin Kiewitz | 2016-01-03 18:32:25 +0100 |
---|---|---|
committer | Martin Kiewitz | 2016-01-03 18:32:25 +0100 |
commit | 453afd7bbc7b83506638bf87b830384078f729e1 (patch) | |
tree | 1492418abc8ff255c03ca77de46ed9b3dcd68e85 | |
parent | f9459656f56e52930fca10ef6ab7fa143fd11b15 (diff) | |
download | scummvm-rg350-453afd7bbc7b83506638bf87b830384078f729e1.tar.gz scummvm-rg350-453afd7bbc7b83506638bf87b830384078f729e1.tar.bz2 scummvm-rg350-453afd7bbc7b83506638bf87b830384078f729e1.zip |
SCI: kGetEvent modifiers bug was fixed in SCI1
- SCI1 EGA QfG2 keyboard driver resets AH
In the original commit I forgot to mention:
- thanks to lskovlun for figuring out that bit 9 is checked/set
- thanks to wjp for checking SCI32
-rw-r--r-- | engines/sci/engine/kevent.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/engines/sci/engine/kevent.cpp b/engines/sci/engine/kevent.cpp index 1d9dbdcbb4..beaad2628a 100644 --- a/engines/sci/engine/kevent.cpp +++ b/engines/sci/engine/kevent.cpp @@ -124,8 +124,9 @@ reg_t kGetEvent(EngineState *s, int argc, reg_t *argv) { // At least one fan-made game (Betrayed Alliance) requires 0x02 to be in the upper byte, // otherwise the darts game (script 111) will not work properly. - // It seems Sierra fixed this behaviour (effectively bug) in SCI32 - if (getSciVersion() <= SCI_VERSION_1_1) { + // It seems Sierra fixed this behaviour (effectively bug) in the SCI1 keyboard driver. + // SCI32 also resets the upper byte. + if (getSciVersion() <= SCI_VERSION_01) { modifiers |= 0x0200; } } |