From aabc7bc34fd3dc1cbb17e745b90fc5b90c8d42b8 Mon Sep 17 00:00:00 2001 From: Bastien Bouclet Date: Thu, 4 Dec 2014 19:38:04 +0100 Subject: [PATCH] MYST3: Allow disabling aspect ratio correction --- engines/myst3/gfx.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/engines/myst3/gfx.cpp b/engines/myst3/gfx.cpp index 7669f8b26d9..778871eac85 100644 --- a/engines/myst3/gfx.cpp +++ b/engines/myst3/gfx.cpp @@ -81,14 +81,19 @@ void BaseRenderer::computeScreenViewport() { int32 screenWidth = _system->getWidth(); int32 screenHeight = _system->getHeight(); - // Aspect ratio correction - int32 viewportWidth = MIN(screenWidth, screenHeight * kOriginalWidth / kOriginalHeight); - int32 viewportHeight = MIN(screenHeight, screenWidth * kOriginalHeight / kOriginalWidth); - _screenViewport = Common::Rect(viewportWidth, viewportHeight); + if (_system->getFeatureState(OSystem::kFeatureAspectRatioCorrection)) { + // Aspect ratio correction + int32 viewportWidth = MIN(screenWidth, screenHeight * kOriginalWidth / kOriginalHeight); + int32 viewportHeight = MIN(screenHeight, screenWidth * kOriginalHeight / kOriginalWidth); + _screenViewport = Common::Rect(viewportWidth, viewportHeight); - // Pillarboxing - _screenViewport.translate((screenWidth - viewportWidth) / 2, - (screenHeight - viewportHeight) / 2); + // Pillarboxing + _screenViewport.translate((screenWidth - viewportWidth) / 2, + (screenHeight - viewportHeight) / 2); + } else { + // Aspect ratio correction disabled, just stretch + _screenViewport = Common::Rect(screenWidth, screenHeight); + } } Common::Point BaseRenderer::frameCenter() const {