ENGINES: Allow implementing registerDefaultSettings in the MetaEngine class

This commit is contained in:
Cameron Cawley 2021-09-05 22:29:09 +01:00 committed by Eugene Sandulenko
parent afe9a804f6
commit 2f99746d8d
10 changed files with 56 additions and 44 deletions

View file

@ -284,6 +284,7 @@ public:
// here fb detection has many engine dependencies.
virtual ADDetectedGame fallbackDetectExtern(uint md5Bytes, const FileMap &allFiles, const Common::FSList &fslist, ADDetectedGameExtraInfo **extra) const override;
void registerDefaultSettings(const Common::String &target) const override;
GUI::OptionsContainerWidget *buildEngineOptionsWidgetDynamic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const override;
};
@ -708,6 +709,14 @@ ADDetectedGame SciMetaEngine::fallbackDetectExtern(uint md5Bytes, const FileMap
return ADDetectedGame(&s_fallbackDesc);
}
void SciMetaEngine::registerDefaultSettings(const Common::String &target) const {
for (const ADExtraGuiOptionsMap *entry = optionsList; entry->guioFlag; ++entry)
ConfMan.registerDefault(entry->option.configOption, entry->option.defaultState);
for (const PopUpOptionsMap *entry = popUpOptionsList; entry->guioFlag; ++entry)
ConfMan.registerDefault(entry->configOption, entry->defaultState);
}
GUI::OptionsContainerWidget *SciMetaEngine::buildEngineOptionsWidgetDynamic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const {
return new OptionsWidget(boss, name, target);
}