[Scummvm-devel] Alternate input method for lure

Max Horn max at quendi.de
Sat Dec 22 22:31:19 CET 2007


Am 17.12.2007 um 14:12 schrieb Kostas Nakos:

> 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?

My order of preference would be:

1) Just make this the default behavior on all systems. Without having  
tried it, it seems to be more sane (at least to "modern day" computer  
users) than the original one, so deviating from the original engine  
should be fine. Plus, if we behave uniformly across all ports, that  
improves the user experience when switching platforms. It also makes  
support easier, as we don't have to first figure out which input  
method is active.

2) If that's undesirable for some reasons (mainly, if Paul  
"dreammaster" Gilbert is opposed to this?), then I'd at least make  
this more visible. That is, insert a comment at the top of lure/ 
menu.cpp which explains the purpose of LURE_CLICKABLE_MENUS and what  
exactly it does. And then, let ports enable it via their Makefile/ 
project file.


Bye,
Max




More information about the Scummvm-devel mailing list