aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kevent.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2010-06-18 22:16:05 +0000
committerMartin Kiewitz2010-06-18 22:16:05 +0000
commit25c86e8b03574163d7c6df6e54d00cbffc66b4ef (patch)
tree387a439f64e9f93f2db71cf0a9e68854ca90ed44 /engines/sci/engine/kevent.cpp
parentda28fde4c61d8f050be8b2eb90b7b634869e3f22 (diff)
downloadscummvm-rg350-25c86e8b03574163d7c6df6e54d00cbffc66b4ef.tar.gz
scummvm-rg350-25c86e8b03574163d7c6df6e54d00cbffc66b4ef.tar.bz2
scummvm-rg350-25c86e8b03574163d7c6df6e54d00cbffc66b4ef.zip
SCI: set resulting type to keyboard+joystick for sci1middle+ in kMapKeyToDir - fixes keyboard controlling of mouse in all sorts of games - although this is not 100% done, the change actually happened inbetween sci1early, added fixme
svn-id: r50034
Diffstat (limited to 'engines/sci/engine/kevent.cpp')
-rw-r--r--engines/sci/engine/kevent.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/sci/engine/kevent.cpp b/engines/sci/engine/kevent.cpp
index 2f1afd4358..f516a9d4b1 100644
--- a/engines/sci/engine/kevent.cpp
+++ b/engines/sci/engine/kevent.cpp
@@ -203,7 +203,12 @@ reg_t kMapKeyToDir(EngineState *s, int argc, reg_t *argv) {
}
if (mover >= 0) {
- writeSelectorValue(segMan, obj, SELECTOR(type), SCI_EVENT_JOYSTICK);
+ // FIXME: changing point was actually inbetween SCI1EARLY, we need to find out when it happened
+ // and then find some method of finding out those specific games
+ if (getSciVersion() >= SCI_VERSION_1_MIDDLE)
+ writeSelectorValue(segMan, obj, SELECTOR(type), SCI_EVENT_KEYBOARD | SCI_EVENT_JOYSTICK);
+ else
+ writeSelectorValue(segMan, obj, SELECTOR(type), SCI_EVENT_JOYSTICK);
writeSelectorValue(segMan, obj, SELECTOR(message), mover);
return make_reg(0, 1);
} else