MADE: Use ADExtraGuiOptionsMap for the options

This commit is contained in:
Cameron Cawley 2022-06-26 22:21:23 +01:00 committed by Filippos Karapetis
parent 5bc5f64e99
commit 1168056ec3
2 changed files with 39 additions and 40 deletions

View File

@ -36,9 +36,28 @@ static const PlainGameDescriptor madeGames[] = {
#include "made/detection_tables.h"
namespace Made {
static const ADExtraGuiOptionsMap optionsList[] = {
{
GAMEOPTION_INTRO_MUSIC_DIGITAL,
{
_s("Play a digital soundtrack during the opening movie"),
_s("If selected, the game will use a digital soundtrack during the introduction. Otherwise, it will play MIDI music."),
"intro_music_digital",
true,
0,
0
}
},
AD_EXTRA_GUI_OPTIONS_TERMINATOR
};
} // End of namespace Made
class MadeMetaEngineDetection : public AdvancedMetaEngineDetection {
public:
MadeMetaEngineDetection() : AdvancedMetaEngineDetection(Made::gameDescriptions, sizeof(Made::MadeGameDescription), madeGames) {
MadeMetaEngineDetection() : AdvancedMetaEngineDetection(Made::gameDescriptions, sizeof(Made::MadeGameDescription), madeGames, Made::optionsList) {
}
const char *getEngineId() const override {
@ -53,31 +72,9 @@ public:
return "MADE Engine (C) Activision";
}
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist, ADDetectedGameExtraInfo **extra) const override;
};
static const ExtraGuiOption introMusicDigital = {
_s("Play a digital soundtrack during the opening movie"),
_s("If selected, the game will use a digital soundtrack during the introduction. Otherwise, it will play MIDI music."),
"intro_music_digital",
true,
0,
0
};
const ExtraGuiOptions MadeMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
const Common::String gameid = ConfMan.get("gameid", target);
const Common::String extra = ConfMan.get("extra", target);
ExtraGuiOptions options;
if (target.empty() || (gameid == "rtz" && extra.contains("CD"))) {
options.push_back(introMusicDigital);
}
return options;
}
ADDetectedGame MadeMetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist, ADDetectedGameExtraInfo **extra) const {
// Set the default values for the fallback descriptor's ADGameDescription part.
Made::g_fallbackDesc.desc.language = Common::UNK_LANG;

View File

@ -25,6 +25,8 @@
#include "engines/advancedDetector.h"
#include "common/translation.h"
#define GAMEOPTION_INTRO_MUSIC_DIGITAL GUIO_GAMEOPTIONS1
namespace Made {
static const MadeGameDescription gameDescriptions[] = {
@ -43,7 +45,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_NO_FLAGS,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -61,7 +63,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -78,7 +80,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -95,7 +97,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -112,7 +114,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -130,7 +132,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -151,7 +153,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -169,7 +171,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::DE_DEU,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -187,7 +189,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::DE_DEU,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -205,7 +207,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::IT_ITA,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -223,7 +225,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::IT_ITA,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -241,7 +243,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::FR_FRA,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -259,7 +261,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::FR_FRA,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -282,7 +284,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::KO_KOR,
Common::kPlatformDOS,
ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -333,7 +335,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_DEMO | ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -351,7 +353,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformDOS,
ADGF_DEMO | ADGF_CD,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,
@ -370,7 +372,7 @@ static const MadeGameDescription gameDescriptions[] = {
Common::EN_ANY,
Common::kPlatformMacintosh,
ADGF_DEMO | ADGF_CD | ADGF_MACRESFORK,
GUIO0()
GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
},
GID_RTZ,
0,