diff options
author | Kostas Nakos | 2009-03-01 22:13:48 +0000 |
---|---|---|
committer | Kostas Nakos | 2009-03-01 22:13:48 +0000 |
commit | c7d7ce88881a3ff66b049b5df785791bc3808402 (patch) | |
tree | 5dec01243bbd8056c0289f08fcd6c1159a3f7a22 /backends/platform/wince | |
parent | 454225833664bc12b4a146d77e59caf379a1cdd7 (diff) | |
download | scummvm-rg350-c7d7ce88881a3ff66b049b5df785791bc3808402.tar.gz scummvm-rg350-c7d7ce88881a3ff66b049b5df785791bc3808402.tar.bz2 scummvm-rg350-c7d7ce88881a3ff66b049b5df785791bc3808402.zip |
better detection of aspect-scalable resolutions
svn-id: r39059
Diffstat (limited to 'backends/platform/wince')
-rw-r--r-- | backends/platform/wince/wince-sdl.cpp | 10 | ||||
-rw-r--r-- | backends/platform/wince/wince-sdl.h | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/backends/platform/wince/wince-sdl.cpp b/backends/platform/wince/wince-sdl.cpp index 5c383504e5..bd138d73c9 100644 --- a/backends/platform/wince/wince-sdl.cpp +++ b/backends/platform/wince/wince-sdl.cpp @@ -478,7 +478,7 @@ Common::WriteStream *OSystem_WINCE3::createConfigWriteStream() { OSystem_WINCE3::OSystem_WINCE3() : OSystem_SDL(), - _orientationLandscape(0), _newOrientation(0), _panelInitialized(false), + _orientationLandscape(0), _newOrientation(0), _panelInitialized(false), _canBeAspectScaled(false), _panelVisible(true), _panelStateForced(false), _forceHideMouse(false), _unfilteredkeys(false), _freeLook(false), _forcePanelInvisible(false), _toolbarHighDrawn(false), _zoomUp(false), _zoomDown(false), _scalersChanged(false), _lastKeyPressed(0), _tapTime(0), _closeClick(false), _noDoubleTapRMB(false), @@ -1097,8 +1097,11 @@ void OSystem_WINCE3::initSize(uint w, uint h) { ConfMan.flushToDisk(); } - if (w == 320 && h == 200 && !_hasSmartphoneResolution) + _canBeAspectScaled = false; + if (w == 320 && h == 200 && !_hasSmartphoneResolution) { + _canBeAspectScaled = true; h = 240; // use the extra 40 pixels height for the toolbar + } if (h == 400) // touche engine fixup h += 80; @@ -1166,8 +1169,7 @@ bool OSystem_WINCE3::update_scalers() { _modeFlags = 0; } } else if ( _orientationLandscape && (_videoMode.screenWidth == 320 || !_videoMode.screenWidth)) { - Common::String gameid(ConfMan.get("gameid")); // consider removing this check and start honoring the _videoMode.aspectRatio flag - if (!_panelVisible && !_hasSmartphoneResolution && !_overlayVisible && !(strncmp(gameid.c_str(), "zak", 3) == 0)) { + if (!_panelVisible && !_hasSmartphoneResolution && !_overlayVisible && _canBeAspectScaled) { _scaleFactorXm = 1; _scaleFactorXd = 1; _scaleFactorYm = 6; diff --git a/backends/platform/wince/wince-sdl.h b/backends/platform/wince/wince-sdl.h index 0efb7828fb..13f20ecccf 100644 --- a/backends/platform/wince/wince-sdl.h +++ b/backends/platform/wince/wince-sdl.h @@ -209,6 +209,8 @@ private: bool _usesEmulatedMouse; // emulated mousemove ever been used in this session + bool _canBeAspectScaled; // game screen size allows for aspect scaling + int _scaleFactorXm; // scaler X * int _scaleFactorXd; // scaler X / int _scaleFactorYm; // scaler Y * |