aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2016-08-15 19:09:39 +0200
committerMartin Kiewitz2016-08-15 19:09:39 +0200
commitad68471040fe7f1c7645dd3fe957adeabd5a1bbd (patch)
tree5fa77bf7b94fdf66c0877b13764c8c7873ae242b /engines
parentb95ce5c95b561b07abc5ffc85c0a22644a4b5edb (diff)
downloadscummvm-rg350-ad68471040fe7f1c7645dd3fe957adeabd5a1bbd.tar.gz
scummvm-rg350-ad68471040fe7f1c7645dd3fe957adeabd5a1bbd.tar.bz2
scummvm-rg350-ad68471040fe7f1c7645dd3fe957adeabd5a1bbd.zip
SCI: Improve "force hires graphics"-option reading code
We originally used hardcoded gameIDs and checked for CD-version. Now the game option itself is checked for. When it's available for the currently detected game, the option is read, otherwise it defaults to false (same behavior as before).
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/detection_tables.h1
-rw-r--r--engines/sci/sci.cpp26
2 files changed, 9 insertions, 18 deletions
diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index de342a3afc..0779c4becd 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -29,6 +29,7 @@ namespace Sci {
#define GAMEOPTION_KQ6_WINDOWS_CURSORS GUIO_GAMEOPTIONS5
#define GAMEOPTION_SQ4_SILVER_CURSORS GUIO_GAMEOPTIONS6
#define GAMEOPTION_EGA_UNDITHER GUIO_GAMEOPTIONS7
+// HIGH_RESOLUTION_GRAPHICS availability is checked for in SciEngine::run()
#define GAMEOPTION_HIGH_RESOLUTION_GRAPHICS GUIO_GAMEOPTIONS8
#define GAMEOPTION_ENABLE_BLACK_LINED_VIDEO GUIO_GAMEOPTIONS9
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 4c178b6ed7..1e8eca9a67 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -244,7 +244,7 @@ Common::Error SciEngine::run() {
_scriptPatcher = new ScriptPatcher();
SegManager *segMan = new SegManager(_resMan, _scriptPatcher);
- // Read user option for hires graphics
+ // Read user option for forcing hires graphics
// Only show/selectable for:
// - King's Quest 6 CD
// - King's Quest 6 CD demo
@@ -252,23 +252,13 @@ Common::Error SciEngine::run() {
// - Police Quest 4 CD
// TODO: Check, if Gabriel Knight 1 floppy supports high resolution
// TODO: Check, if Gabriel Knight 1 on Mac supports high resolution
- switch (getPlatform()) {
- case Common::kPlatformDOS:
- case Common::kPlatformWindows:
- // Only DOS+Windows
- switch (_gameId) {
- case GID_KQ6:
- case GID_GK1:
- case GID_PQ4:
- if (isCD())
- _forceHiresGraphics = ConfMan.getBool("enable_high_resolution_graphics");
- break;
- default:
- break;
- }
- default:
- break;
- };
+ if (Common::checkGameGUIOption(GUIO_GAMEOPTIONS8, ConfMan.get("guioptions"))) {
+ // GAMEOPTION_HIGH_RESOLUTION_GRAPHICS is available for the currently detected game,
+ // so read the user option now.
+ // We need to do this, because the option's default is "true", but we don't want "true"
+ // for any game that does not have this option.
+ _forceHiresGraphics = ConfMan.getBool("enable_high_resolution_graphics");
+ }
// Initialize the game screen
_gfxScreen = new GfxScreen(_resMan);