From 25c86e8b03574163d7c6df6e54d00cbffc66b4ef Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Fri, 18 Jun 2010 22:16:05 +0000 Subject: 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 --- engines/sci/engine/kevent.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'engines/sci/engine/kevent.cpp') 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 -- cgit v1.2.3