diff options
Diffstat (limited to 'engines/sci/sci.cpp')
-rw-r--r-- | engines/sci/sci.cpp | 14 |
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); |