const ExtraGuiOptions AdvancedMetaEngine::getExtraGuiOptions(const Common::String &target) const { if (!_extraGuiOptions) return ExtraGuiOptions(); ExtraGuiOptions options; // If there isn't any target specified, return all available GUI options. // Only used when an engine starts in order to set option defaults. if (target.empty()) { for (const ADExtraGuiOptionsMap *entry = _extraGuiOptions; entry->guioFlag; ++entry) options.push_back(entry->option); return options; } // Query the GUI options const Common::String guiOptionsString = ConfMan.get("guioptions", target); const Common::String guiOptions = parseGameGUIOptions(guiOptionsString); // Add all the applying extra GUI options. for (const ADExtraGuiOptionsMap *entry = _extraGuiOptions; entry->guioFlag; ++entry) { if (guiOptions.contains(entry->guioFlag)) options.push_back(entry->option); } return options; }
const ExtraGuiOptions SkyMetaEngine::getExtraGuiOptions(const Common::String &target) const { Common::String guiOptions; ExtraGuiOptions options; if (target.empty()) { options.push_back(skyExtraGuiOption); return options; } if (ConfMan.hasKey("guioptions", target)) { guiOptions = ConfMan.get("guioptions", target); guiOptions = parseGameGUIOptions(guiOptions); } if (!guiOptions.contains(GUIO_NOSPEECH)) options.push_back(skyExtraGuiOption); return options; }