aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/detection.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2009-07-13 18:32:03 +0000
committerJohannes Schickel2009-07-13 18:32:03 +0000
commit88e0fc2c43a9f8b1c729bf2f509815601b4d495d (patch)
tree4a8ef933983998cccc5aef37a5a98176bf557f9b /engines/scumm/detection.cpp
parent1871a2e68d377b45a3b065875faa2dd899e2d301 (diff)
downloadscummvm-rg350-88e0fc2c43a9f8b1c729bf2f509815601b4d495d.tar.gz
scummvm-rg350-88e0fc2c43a9f8b1c729bf2f509815601b4d495d.tar.bz2
scummvm-rg350-88e0fc2c43a9f8b1c729bf2f509815601b4d495d.zip
Add transparent GUI options update for SCUMM too.
svn-id: r42445
Diffstat (limited to 'engines/scumm/detection.cpp')
-rw-r--r--engines/scumm/detection.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp
index cf88ded3b8..e1de825049 100644
--- a/engines/scumm/detection.cpp
+++ b/engines/scumm/detection.cpp
@@ -882,6 +882,16 @@ Common::Error ScummMetaEngine::createInstance(OSystem *syst, Engine **engine) co
if (res.game.platform == Common::kPlatformFMTowns && res.game.version == 3)
res.game.midi = MDT_TOWNS;
+ // If the GUI options were updated, we catch this here and update them in the users config
+ // file transparently.
+ const uint32 guiOptions = res.game.guioptions;
+
+ if ((guiOptions && !ConfMan.hasKey("guioptions")) ||
+ (ConfMan.hasKey("guioptions") && parseGameGUIOptions(ConfMan.get("guioptions")) != guiOptions)) {
+ ConfMan.set("guioptions", Common::getGameGUIOptionsDescription(guiOptions));
+ ConfMan.flushToDisk();
+ }
+
// Finally, we have massaged the GameDescriptor to our satisfaction, and can
// instantiate the appropriate game engine. Hooray!
switch (res.game.version) {