[Scummvm-devel] Alternate input method for lure
Kostas Nakos
knakos at phys.uoa.gr
Mon Dec 17 14:12:56 CET 2007
Hello,
I committed some changes yesterday to engines/lure/menu.cpp which
implement a more useful control scheme for the lure engine, with respect
to the WinCE port.
More specifically, one variant of the WinCE devices uses a stylus
pointer whose taps we interpret as a mouseclick and mousemove (actually
mouseclick with updated coords). We also provide a "freelook" action
which translates all taps & drags to plain mousemove events and also a
"right click" action which registers a right click at the last pointer
position.
What all these mean is that by keeping the standard, original method for
selecting items from a lure popup (right click to pop, drag to scroll,
left click to select) is cumbersome and distracts heavily from the
gameplay. So I have coded in a more straightforward method for popup
menus, given the wince input methods described above, which consists of
the following: 1) The full popup entries are shown (no scrolling
required), 2) The desired item is selected by left clicking on it
(resembles the "normal" popup use).
This is currently a compile time option (a #define at the top of
menu.cpp). Is any other port interested in this behavior (even desktop
ports)? Is this way of #defining the symbol too crude and should it be
better implemented via osystem features? Should we loose the #ifdef
block at the top of menu.cpp and let the ports define it via the
compiler/makefile?
Regards,
Kostas
PS 1. I also amended the functionality of the freelook action at the
wince back end to lead to improved controllability in lure (other
engines benefit from this too).
PS 2. Another hiccup of lure is the hiding of the mouse cursor when
input is required. This is unfortunate for emulated-pointer devices and
is being dealt with (ongoing).
PS 3. When popping up the status dialog in lure, the engine hangs in
wince (inside doStatus()). Possibly an alignment issue, still working on it.
More information about the Scummvm-devel
mailing list