aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sci.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sci.cpp')
-rw-r--r--engines/sci/sci.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 6977348c36..d6c2c0bf46 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -126,13 +126,19 @@ Common::Error SciEngine::run() {
// Initialize graphics-related parts
Screen *screen = 0;
+ bool isHires = _resMan->detectHires();
+
#ifdef ENABLE_SCI32
- if (getSciVersion() >= SCI_VERSION_2_1)
- screen = new Screen(_resMan, 640, 480, false); // invokes initGraphics()
- else
+ // If SCI2.1+ games are lowres (e.g. qfg4/cd), switch to upscaled hires mode
+ if ((!isHires) && (getSciVersion() >= SCI_VERSION_2_1))
+ upscaledHires = true;
#endif
- screen = new Screen(_resMan, 320, 200, upscaledHires); // invokes initGraphics()
+ // invokes initGraphics()
+ if (isHires)
+ screen = new Screen(_resMan, 640, 480, false);
+ else
+ screen = new Screen(_resMan, 320, 200, upscaledHires);
SciPalette *palette = new SciPalette(_resMan, screen);
Cursor *cursor = new Cursor(_resMan, palette, screen);