From eabdf8048ea579013c193ba515395a6c61354e8f Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 19 Mar 2012 02:59:54 +0200 Subject: DREAMWEB: Add per-game GUI option support. --- engines/dreamweb/detection.cpp | 28 +++++++++++++++++++++++++++- engines/dreamweb/detection_tables.h | 21 ++++++++++++--------- 2 files changed, 39 insertions(+), 10 deletions(-) (limited to 'engines/dreamweb') diff --git a/engines/dreamweb/detection.cpp b/engines/dreamweb/detection.cpp index 9d3797db03..6a9a5921eb 100644 --- a/engines/dreamweb/detection.cpp +++ b/engines/dreamweb/detection.cpp @@ -24,6 +24,7 @@ #include "common/algorithm.h" #include "common/system.h" +#include "common/translation.h" #include "engines/advancedDetector.h" @@ -39,11 +40,36 @@ static const PlainGameDescriptor dreamWebGames[] = { #include "dreamweb/detection_tables.h" +static const ADExtraGuiOptionsMap gameGuiOptions[] = { + { + GAMEOPTION_ORIGINAL_SAVELOAD, + { + _s("Use original save/load screens"), + _s("Use the original save/load screens, instead of the ScummVM ones"), + "dreamweb_originalsaveload", + false + } + }, + + { + GAMEOPTION_BRIGHTPALETTE, + { + _s("Use bright palette mode"), + _s("Display graphics using the game's bright palette"), + "bright_palette", + true + } + }, + + AD_EXTRA_GUI_OPTIONS_TERMINATOR +}; + class DreamWebMetaEngine : public AdvancedMetaEngine { public: DreamWebMetaEngine(): AdvancedMetaEngine(DreamWeb::gameDescriptions, - sizeof(DreamWeb::DreamWebGameDescription), dreamWebGames) { + sizeof(DreamWeb::DreamWebGameDescription), dreamWebGames, + gameGuiOptions) { _singleid = "dreamweb"; _guioptions = GUIO1(GUIO_NOMIDI); } diff --git a/engines/dreamweb/detection_tables.h b/engines/dreamweb/detection_tables.h index 216e6715dc..8ca24d1724 100644 --- a/engines/dreamweb/detection_tables.h +++ b/engines/dreamweb/detection_tables.h @@ -25,6 +25,9 @@ namespace DreamWeb { +#define GAMEOPTION_ORIGINAL_SAVELOAD GUIO_GAMEOPTIONS1 +#define GAMEOPTION_BRIGHTPALETTE GUIO_GAMEOPTIONS2 + struct DreamWebGameDescription { ADGameDescription desc; }; @@ -43,7 +46,7 @@ static const DreamWebGameDescription gameDescriptions[] = { Common::EN_ANY, Common::kPlatformPC, ADGF_UNSTABLE, - GUIO0() + GUIO2(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_BRIGHTPALETTE) }, }, @@ -60,7 +63,7 @@ static const DreamWebGameDescription gameDescriptions[] = { Common::EN_ANY, Common::kPlatformPC, ADGF_CD | ADGF_UNSTABLE, - GUIO0() + GUIO2(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_BRIGHTPALETTE) }, }, @@ -77,7 +80,7 @@ static const DreamWebGameDescription gameDescriptions[] = { Common::EN_USA, Common::kPlatformPC, ADGF_CD, - GUIO0() + GUIO2(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_BRIGHTPALETTE) }, }, @@ -94,7 +97,7 @@ static const DreamWebGameDescription gameDescriptions[] = { Common::FR_FRA, Common::kPlatformPC, ADGF_CD | ADGF_UNSTABLE, - GUIO0() + GUIO2(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_BRIGHTPALETTE) }, }, @@ -111,7 +114,7 @@ static const DreamWebGameDescription gameDescriptions[] = { Common::DE_DEU, Common::kPlatformPC, ADGF_UNSTABLE, - GUIO0() + GUIO2(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_BRIGHTPALETTE) }, }, @@ -128,7 +131,7 @@ static const DreamWebGameDescription gameDescriptions[] = { Common::DE_DEU, Common::kPlatformPC, ADGF_CD | ADGF_UNSTABLE, - GUIO0() + GUIO2(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_BRIGHTPALETTE) }, }, @@ -145,7 +148,7 @@ static const DreamWebGameDescription gameDescriptions[] = { Common::ES_ESP, Common::kPlatformPC, ADGF_UNSTABLE, - GUIO0() + GUIO2(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_BRIGHTPALETTE) }, }, @@ -162,7 +165,7 @@ static const DreamWebGameDescription gameDescriptions[] = { Common::ES_ESP, Common::kPlatformPC, ADGF_CD | ADGF_UNSTABLE, - GUIO0() + GUIO2(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_BRIGHTPALETTE) }, }, @@ -179,7 +182,7 @@ static const DreamWebGameDescription gameDescriptions[] = { Common::IT_ITA, Common::kPlatformPC, ADGF_UNSTABLE, - GUIO0() + GUIO2(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_BRIGHTPALETTE) }, }, -- cgit v1.2.3