aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorKostas Nakos2009-03-01 22:13:48 +0000
committerKostas Nakos2009-03-01 22:13:48 +0000
commitc7d7ce88881a3ff66b049b5df785791bc3808402 (patch)
tree5dec01243bbd8056c0289f08fcd6c1159a3f7a22 /backends
parent454225833664bc12b4a146d77e59caf379a1cdd7 (diff)
downloadscummvm-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')
-rw-r--r--backends/platform/wince/wince-sdl.cpp10
-rw-r--r--backends/platform/wince/wince-sdl.h2
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 *