[Scummvm-devel] Features and graphics modes

Max Horn max at quendi.de
Sat Mar 13 07:12:59 CET 2004


Am 13.03.2004 um 14:23 schrieb Marcus Comstedt:

>
> Ok, some questions about the new OSystem interface:
>
> * How is kFeatureAspectRatioCorrection supposed to work?  Since I use
>   a textured quad to display the screen on the Dreamcast this sounds
>   like a feature I could implement easily, but how do I know which
>   aspects to convert from and to?  The interface only says that
>   correction should be "on" or "off".

When the set screen size has an aspect ration of 640:400 = 320:200 = 
8:5, then strech it to 640:480 = 320:240 = 8:6 = 4:3

So, you only have to do a vertical strech by a factor of 6/5.

Erik already explained a bit why this is done. It's an optional 
feature, because some people prefer the aspect ratio corrected 
("proper") display, while some people are so used to the games running 
with an incorrect aspect ratio that they prefer that.

W/o aspect ratio, the characters in the game look a bit "squashed", BTW 
- e.g. Guybrush is much fatter this way than he really is ;-)


>
> * Why does the backend have to implement both setGraphicsMode(int) and
>   setGraphicsMode(const char *)?  Since the mapping between names and
>   ids is given by the list returned by getSupportedGraphicsModes(),
>   shouldn't it be possible for the platform-independent code to
>   convert one into the other?

Yes. And that already is a case. Look at common/system.cpp to find the 
implementation of
   bool OSystem::setGraphicsMode(const char *name);


Cheers,

Max





More information about the Scummvm-devel mailing list