mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-17 23:44:22 +00:00
Fix update of GUI options, which only differ in the language setting.
svn-id: r50706
This commit is contained in:
parent
73e51735a4
commit
1443a2721c
@ -365,12 +365,15 @@ const String getGameGUIOptionsDescription(uint32 options) {
|
||||
return res;
|
||||
}
|
||||
|
||||
void updateGameGUIOptions(const uint32 options) {
|
||||
void updateGameGUIOptions(const uint32 options, const String &langOption) {
|
||||
const String newOptionString = getGameGUIOptionsDescription(options) + " " + langOption;
|
||||
|
||||
if ((options && !ConfMan.hasKey("guioptions")) ||
|
||||
(ConfMan.hasKey("guioptions") && options != parseGameGUIOptions(ConfMan.get("guioptions")))) {
|
||||
ConfMan.set("guioptions", getGameGUIOptionsDescription(options));
|
||||
(ConfMan.hasKey("guioptions") && ConfMan.get("guioptions") != newOptionString)) {
|
||||
ConfMan.set("guioptions", newOptionString);
|
||||
ConfMan.flushToDisk();
|
||||
}
|
||||
}
|
||||
|
||||
} // End of namespace Common
|
||||
} // End of namespace Common
|
||||
|
||||
|
@ -240,7 +240,7 @@ const String getGameGUIOptionsDescriptionLanguage(Language lang);
|
||||
* domain, when they differ to the ones passed as
|
||||
* parameter.
|
||||
*/
|
||||
void updateGameGUIOptions(const uint32 options);
|
||||
void updateGameGUIOptions(const uint32 options, const String &langOption);
|
||||
|
||||
} // End of namespace Common
|
||||
|
||||
|
@ -306,7 +306,7 @@ Common::Error AdvancedMetaEngine::createInstance(OSystem *syst, Engine **engine)
|
||||
|
||||
// If the GUI options were updated, we catch this here and update them in the users config
|
||||
// file transparently.
|
||||
Common::updateGameGUIOptions(agdDesc->guioptions | params.guioptions);
|
||||
Common::updateGameGUIOptions(agdDesc->guioptions | params.guioptions, getGameGUIOptionsDescriptionLanguage(agdDesc->language));
|
||||
|
||||
debug(2, "Running %s", toGameDescriptor(*agdDesc, params.list).description().c_str());
|
||||
if (!createInstance(syst, engine, agdDesc))
|
||||
|
@ -1024,7 +1024,7 @@ Common::Error ScummMetaEngine::createInstance(OSystem *syst, Engine **engine) co
|
||||
|
||||
// If the GUI options were updated, we catch this here and update them in the users config
|
||||
// file transparently.
|
||||
Common::updateGameGUIOptions(res.game.guioptions);
|
||||
Common::updateGameGUIOptions(res.game.guioptions, getGameGUIOptionsDescriptionLanguage(res.language));
|
||||
|
||||
// Finally, we have massaged the GameDescriptor to our satisfaction, and can
|
||||
// instantiate the appropriate game engine. Hooray!
|
||||
|
Loading…
x
Reference in New Issue
Block a user