When in normal resolution mode (aka, >= 640x480), ignore all screen modes

smaller than 640x480.  Basically, the only way to use smaller modes is
on systems that report their desktop to be smaller than 640x480, or by
using the maxres commandline argument to simulate the same thing.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2079 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2010-07-29 17:33:07 +00:00
parent f136363226
commit c9cae47787
1 changed files with 8 additions and 2 deletions

View File

@ -1056,10 +1056,16 @@ bool OSystem::queryVideoHardware()
} }
else else
{ {
// All modes must fit between the lower and upper limits of the desktop
// For 'small' desktop, this means larger than 320x240
// For 'large'/normal desktop, exclude all those less than 640x480
bool largeDesktop = myDesktopWidth >= 640 && myDesktopHeight >= 480;
uInt32 lowerWidth = largeDesktop ? 640 : 320,
lowerHeight = largeDesktop ? 480 : 240;
for(uInt32 i = 0; modes[i]; ++i) for(uInt32 i = 0; modes[i]; ++i)
{ {
if(modes[i]->w >= 320 && modes[i]->w <= myDesktopWidth && if(modes[i]->w >= lowerWidth && modes[i]->w <= myDesktopWidth &&
modes[i]->h >= 240 && modes[i]->h <= myDesktopHeight) modes[i]->h >= lowerHeight && modes[i]->h <= myDesktopHeight)
{ {
Resolution r; Resolution r;
r.width = modes[i]->w; r.width = modes[i]->w;