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.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index a45abcc90e..4c0441e0f1 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -96,11 +96,6 @@ SciEngine::~SciEngine() {
}
Common::Error SciEngine::run() {
- initGraphics(320, 200, false);
-
- // Create debugger console. It requires GFX to be initialized
- _console = new Console(this);
-
// FIXME/TODO: Move some of the stuff below to init()
_resMan = new ResourceManager();
@@ -110,12 +105,23 @@ Common::Error SciEngine::run() {
return Common::kNoGameDataFoundError;
}
- _kernel = new Kernel(_resMan);
- _vocabulary = new Vocabulary(_resMan);
- SciGuiScreen *screen = new SciGuiScreen(_resMan);
+ int scaleFactor = 1;
+
+ // Scale the screen, if needed
+ if (!strcmp(getGameID(), "kq6") && getPlatform() == Common::kPlatformWindows)
+ scaleFactor = 2;
+
+ // Initialize graphics-related parts
+ SciGuiScreen *screen = new SciGuiScreen(_resMan, 320, 200, scaleFactor); // invokes initGraphics()
SciGuiPalette *palette = new SciGuiPalette(_resMan, screen);
SciGuiCursor *cursor = new SciGuiCursor(_resMan, palette, screen);
+ // Create debugger console. It requires GFX to be initialized
+ _console = new Console(this);
+
+ _kernel = new Kernel(_resMan);
+ _vocabulary = new Vocabulary(_resMan);
+
// We'll set the GUI below
_gamestate = new EngineState(_resMan, _kernel, _vocabulary, NULL, cursor);