[Scummvm-devel] Possible new backend features

Max Horn max at quendi.de
Thu Feb 2 11:40:01 CET 2006


Am 02.02.2006 um 00:16 schrieb Neil Millstone:

> Max Horn wrote:
>
>> That should be simple enough... Something like a
>>    setFocusTo(int x, int y) or focusOnRect(Rect r)
>> method, possibly with a matching resetFocus() method. Empty   
>> implementations could be provided by default, and only backends  
>> that  are "interested" could make use of it
> Sound just like I was thinking.  It would be great to have this  
> feature, and probably not too much effort either.

We can add it quickly. I am just wondering which of the two is more  
useful. Simply specify the "center of action" and leave it to the  
backend to worry about the rest; or to specify a rect (the backend  
could of course then pick whether to upscale precisely that rect, or  
a cropped part of that, or a rect bigger than that rect). Which would  
you prefer, based on your experience?


>> Left-hand option for a stylus? I always thought those are  
>> independent of your handedness
>>
> Exactly my thoughts at first, but then you realise that when you  
> hold your stylus in your left, and the DS in your right, different  
> buttons are accessible than if you were holding the unit with your  
> left.  Therefore all the buttons are mirrored accross the DS for  
> left handers.
>

Anyway, the PocketPC port also adds some control to the in-game   
options dialog, I think. It sure would be possible to make a port   
specific tab. But again, whenever possible I'd prefer a generic   
solution over port specific ones. In the case of the stylus, that's   
probably not possible. Not sure about the Indy-fight stuff, since I   
haven't quite understood what it's supposed to do... It is a  
checkbox  that you check just before fighting? Or you simply check it  
for all  "Indy3/Indy4" games in your game list? Or what?

You check it just before you're about to fight, therefore it could be  
added as a SetFeature() call just like the virtual keyboard is turned  
on and off at the right times.

That would be indeed the nicest solution, and much more user  
friendly. I am just not sure whether can do it in a clean fashion.  
Essentially, we'd have to insert some code that, for Indy 3/4,  
detects whether we just entered/left "combat mode" and then sets the  
according feature flag. Of course, a "kFeatureIndyCombatModeEnabled"  
flag isn't the cleanest solution either, but at least it would be  
user friendly :-).


>> I think all of those can be solved, some quickly, some with a bit   
>> more effort required, but none of 'em seem insurmountable.
>>
> I'm glad.  I wouldn't want to cut out all the nice features of my  
> port in order to get into official CVS!
I am all for adding features that make sense to me, and I certainly  
don't want to cripple ports, and their innovations. Just sometimes  
ports tend to implement them in a rather messy way (no offense  
meant :-), and I simply prefer to take a step back and think a bit  
about the solution, in order to come up with one that is as clean and  
extensible and portable as possible. Of course, you can't always  
achieve all those goals, but at least one should try, right? :-)



Cheers,
Max




More information about the Scummvm-devel mailing list