diff options
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | base/gameDetector.cpp | 6 | ||||
-rw-r--r-- | base/gameDetector.h | 2 | ||||
-rw-r--r-- | base/main.cpp | 2 | ||||
-rw-r--r-- | doc/05_01.tex | 1 | ||||
-rw-r--r-- | scumm/scumm.cpp | 2 |
6 files changed, 12 insertions, 2 deletions
@@ -375,6 +375,7 @@ arguments - see the next section. --aspect-ratio Enable aspect ratio correction --render-mode=MODE Enable additional render modes (cga, ega, hercGreen hercAmber, amiga) + --force-1x-overlay Make inner GUI 320x200 --alt-intro Use alternative intro for CD versions of Beneath a Steel Sky and Flight of the Amazon Queen diff --git a/base/gameDetector.cpp b/base/gameDetector.cpp index 861c696651..7a4fe72680 100644 --- a/base/gameDetector.cpp +++ b/base/gameDetector.cpp @@ -98,6 +98,7 @@ static const char USAGE_STRING[] = " --aspect-ratio Enable aspect ratio correction\n" " --render-mode=MODE Enable additional render modes (cga, ega, hercGreen,\n" " hercAmber, amiga)\n" + " --force-1x-overlay Make inner GUI 320x200\n" "\n" #if !defined(DISABLE_SKY) || !defined(DISABLE_QUEEN) " --alt-intro Use alternative intro for CD versions of Beneath a\n" @@ -205,6 +206,7 @@ GameDetector::GameDetector() { #endif _dumpScripts = false; + _force1xOverlay = false; memset(&_game, 0, sizeof(_game)); _plugin = 0; @@ -489,6 +491,10 @@ void GameDetector::parseCommandLine(int argc, char **argv) { ConfMan.set("render_mode", option, kTransientDomain); END_OPTION + DO_LONG_OPTION_BOOL("force-1x-overlay") + _force1xOverlay = true; + END_OPTION + DO_LONG_OPTION("savepath") // TODO: Verify whether the path is valid ConfMan.set("savepath", option, kTransientDomain); diff --git a/base/gameDetector.h b/base/gameDetector.h index 41ccf39040..dc9dc1ed6f 100644 --- a/base/gameDetector.h +++ b/base/gameDetector.h @@ -59,6 +59,8 @@ public: bool _dumpScripts; + bool _force1xOverlay; + void setTarget(const String &name); public: diff --git a/base/main.cpp b/base/main.cpp index c8a3c82474..b6a7b92b2b 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -224,7 +224,7 @@ static bool launcherDialog(GameDetector &detector, OSystem &system) { system.setGraphicsMode(ConfMan.get("gfx_mode").c_str()); // Make GUI 640 x 400 - system.initSize(320, 200, 2); + system.initSize(320, 200, (detector._force1xOverlay ? 1 : 2)); system.endGFXTransaction(); diff --git a/doc/05_01.tex b/doc/05_01.tex index 189b47d2b4..5f91f8db5b 100644 --- a/doc/05_01.tex +++ b/doc/05_01.tex @@ -41,6 +41,7 @@ Usage: scummvm [OPTIONS]... [GAME]\\ --aspect-ratio &Enable aspect ratio correction\\ --render-mode=MODE &Enable additional render modes (cga, ega, hercGreen, hercAmber, amiga)\\ \\ + --force-1x-overlay &Make inner GUI 320x200\\ --alt-intro &Use alternative intro for CD versions of Beneath a\\ &Steel Sky and Flight of the Amazon Queen\\ --copy-protection &Enable copy protection in SCUMM games, when\\ diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 05e9e2f51d..9606704edf 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -1166,7 +1166,7 @@ int ScummEngine::init(GameDetector &detector) { _features |= GF_DEFAULT_TO_1X_SCALER; _system->setGraphicsMode("1x"); } else { - _system->initSize(_screenWidth, _screenHeight, 2); + _system->initSize(_screenWidth, _screenHeight, (detector._force1xOverlay ? 1 : 2)); if (_features & GF_DEFAULT_TO_1X_SCALER) _system->setGraphicsMode("1x"); } |