mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-06 10:17:14 +00:00
TWINE: Move the engine options into the MetaEngine subclass
This commit is contained in:
parent
3c61812ed8
commit
a46a6e15ee
@ -27,19 +27,6 @@
|
||||
#include "twine/detection.h"
|
||||
#include "twine/shared.h"
|
||||
|
||||
#define GAMEOPTION_WALL_COLLISION GUIO_GAMEOPTIONS1
|
||||
#define GAMEOPTION_DISABLE_SAVE_MENU GUIO_GAMEOPTIONS2
|
||||
#define GAMEOPTION_DEBUG GUIO_GAMEOPTIONS3
|
||||
#define GAMEOPTION_AUDIO_CD GUIO_GAMEOPTIONS4
|
||||
#define GAMEOPTION_SOUND GUIO_GAMEOPTIONS5
|
||||
#define GAMEOPTION_VOICES GUIO_GAMEOPTIONS6
|
||||
#define GAMEOPTION_TEXT GUIO_GAMEOPTIONS7
|
||||
#define GAMEOPTION_MOVIES GUIO_GAMEOPTIONS8
|
||||
#define GAMEOPTION_MOUSE GUIO_GAMEOPTIONS9
|
||||
#define GAMEOPTION_USA_VERSION GUIO_GAMEOPTIONS10
|
||||
#define GAMEOPTION_HIGH_RESOLUTION GUIO_GAMEOPTIONS11
|
||||
#define GAMEOPTION_TEXT_TO_SPEECH GUIO_GAMEOPTIONS12
|
||||
|
||||
static const PlainGameDescriptor twineGames[] = {
|
||||
{ "lba", "Little Big Adventure" },
|
||||
{ "lbashow", "Little Big Adventure Freeware Slide Show" },
|
||||
@ -421,148 +408,9 @@ static const ADGameDescription twineGameDescriptions[] = {
|
||||
AD_TABLE_END_MARKER
|
||||
};
|
||||
|
||||
static const ADExtraGuiOptionsMap twineOptionsList[] = {
|
||||
{
|
||||
GAMEOPTION_WALL_COLLISION,
|
||||
{
|
||||
_s("Enable wall collisions"),
|
||||
_s("Enable the original wall collision damage"),
|
||||
"wallcollision",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
// this only changes the menu and doesn't change the autosave behaviour - as scummvm is handling this now
|
||||
GAMEOPTION_DISABLE_SAVE_MENU,
|
||||
{
|
||||
_s("Disable save menu"),
|
||||
_s("The original only had autosaves. This allows you to save whenever you want."),
|
||||
"useautosaving",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_DEBUG,
|
||||
{
|
||||
_s("Enable debug mode"),
|
||||
_s("Enable the debug mode"),
|
||||
"debug",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_AUDIO_CD,
|
||||
{
|
||||
_s("Enable audio CD"),
|
||||
_s("Enable the original audio cd track"),
|
||||
"usecd",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_SOUND,
|
||||
{
|
||||
_s("Enable sound"),
|
||||
_s("Enable the sound for the game"),
|
||||
"sound",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_VOICES,
|
||||
{
|
||||
_s("Enable voices"),
|
||||
_s("Enable the voices for the game"),
|
||||
"voice",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_TEXT,
|
||||
{
|
||||
_s("Enable text"),
|
||||
_s("Enable the text for the game"),
|
||||
"displaytext",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_MOVIES,
|
||||
{
|
||||
_s("Enable movies"),
|
||||
_s("Enable the cutscenes for the game"),
|
||||
"movie",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_MOUSE,
|
||||
{
|
||||
_s("Enable mouse"),
|
||||
_s("Enable the mouse for the UI"),
|
||||
"mouse",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_USA_VERSION,
|
||||
{
|
||||
_s("Use the USA version"),
|
||||
_s("Enable the USA specific version flags"),
|
||||
"version",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_HIGH_RESOLUTION,
|
||||
{
|
||||
_s("Enable high resolution"),
|
||||
_s("Enable a higher resolution for the game"),
|
||||
"usehighres",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
#ifdef USE_TTS
|
||||
{
|
||||
GAMEOPTION_TEXT_TO_SPEECH,
|
||||
{
|
||||
_s("TTS Narrator"),
|
||||
_s("Use TTS to read the descriptions (if TTS is available)"),
|
||||
"tts_narrator",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
#endif
|
||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||
};
|
||||
|
||||
class TwinEMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||
public:
|
||||
TwinEMetaEngineDetection() : AdvancedMetaEngineDetection(twineGameDescriptions, sizeof(ADGameDescription), twineGames, twineOptionsList) {
|
||||
TwinEMetaEngineDetection() : AdvancedMetaEngineDetection(twineGameDescriptions, sizeof(ADGameDescription), twineGames) {
|
||||
_guiOptions = GUIO12(GAMEOPTION_WALL_COLLISION, GAMEOPTION_DISABLE_SAVE_MENU, GAMEOPTION_DEBUG, GAMEOPTION_AUDIO_CD, GAMEOPTION_SOUND, GAMEOPTION_VOICES, GAMEOPTION_TEXT, GAMEOPTION_MOVIES, GAMEOPTION_MOUSE, GAMEOPTION_USA_VERSION, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_TEXT_TO_SPEECH);
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,19 @@ enum TwineFeatureFlags {
|
||||
TF_MOD = (1 << 6)
|
||||
};
|
||||
|
||||
#define GAMEOPTION_WALL_COLLISION GUIO_GAMEOPTIONS1
|
||||
#define GAMEOPTION_DISABLE_SAVE_MENU GUIO_GAMEOPTIONS2
|
||||
#define GAMEOPTION_DEBUG GUIO_GAMEOPTIONS3
|
||||
#define GAMEOPTION_AUDIO_CD GUIO_GAMEOPTIONS4
|
||||
#define GAMEOPTION_SOUND GUIO_GAMEOPTIONS5
|
||||
#define GAMEOPTION_VOICES GUIO_GAMEOPTIONS6
|
||||
#define GAMEOPTION_TEXT GUIO_GAMEOPTIONS7
|
||||
#define GAMEOPTION_MOVIES GUIO_GAMEOPTIONS8
|
||||
#define GAMEOPTION_MOUSE GUIO_GAMEOPTIONS9
|
||||
#define GAMEOPTION_USA_VERSION GUIO_GAMEOPTIONS10
|
||||
#define GAMEOPTION_HIGH_RESOLUTION GUIO_GAMEOPTIONS11
|
||||
#define GAMEOPTION_TEXT_TO_SPEECH GUIO_GAMEOPTIONS12
|
||||
|
||||
} // End of namespace TwinE
|
||||
|
||||
#endif // TWINE_DETECTION_H
|
||||
|
@ -37,12 +37,155 @@
|
||||
|
||||
namespace TwinE {
|
||||
|
||||
static const ADExtraGuiOptionsMap twineOptionsList[] = {
|
||||
{
|
||||
GAMEOPTION_WALL_COLLISION,
|
||||
{
|
||||
_s("Enable wall collisions"),
|
||||
_s("Enable the original wall collision damage"),
|
||||
"wallcollision",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
// this only changes the menu and doesn't change the autosave behaviour - as scummvm is handling this now
|
||||
GAMEOPTION_DISABLE_SAVE_MENU,
|
||||
{
|
||||
_s("Disable save menu"),
|
||||
_s("The original only had autosaves. This allows you to save whenever you want."),
|
||||
"useautosaving",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_DEBUG,
|
||||
{
|
||||
_s("Enable debug mode"),
|
||||
_s("Enable the debug mode"),
|
||||
"debug",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_AUDIO_CD,
|
||||
{
|
||||
_s("Enable audio CD"),
|
||||
_s("Enable the original audio cd track"),
|
||||
"usecd",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_SOUND,
|
||||
{
|
||||
_s("Enable sound"),
|
||||
_s("Enable the sound for the game"),
|
||||
"sound",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_VOICES,
|
||||
{
|
||||
_s("Enable voices"),
|
||||
_s("Enable the voices for the game"),
|
||||
"voice",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_TEXT,
|
||||
{
|
||||
_s("Enable text"),
|
||||
_s("Enable the text for the game"),
|
||||
"displaytext",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_MOVIES,
|
||||
{
|
||||
_s("Enable movies"),
|
||||
_s("Enable the cutscenes for the game"),
|
||||
"movie",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_MOUSE,
|
||||
{
|
||||
_s("Enable mouse"),
|
||||
_s("Enable the mouse for the UI"),
|
||||
"mouse",
|
||||
true,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_USA_VERSION,
|
||||
{
|
||||
_s("Use the USA version"),
|
||||
_s("Enable the USA specific version flags"),
|
||||
"version",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
{
|
||||
GAMEOPTION_HIGH_RESOLUTION,
|
||||
{
|
||||
_s("Enable high resolution"),
|
||||
_s("Enable a higher resolution for the game"),
|
||||
"usehighres",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
#ifdef USE_TTS
|
||||
{
|
||||
GAMEOPTION_TEXT_TO_SPEECH,
|
||||
{
|
||||
_s("TTS Narrator"),
|
||||
_s("Use TTS to read the descriptions (if TTS is available)"),
|
||||
"tts_narrator",
|
||||
false,
|
||||
0,
|
||||
0
|
||||
}
|
||||
},
|
||||
#endif
|
||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||
};
|
||||
|
||||
class TwinEMetaEngine : public AdvancedMetaEngine {
|
||||
public:
|
||||
const char *getName() const override {
|
||||
return "twine";
|
||||
}
|
||||
|
||||
const ADExtraGuiOptionsMap *getAdvancedExtraGuiOptions() const override {
|
||||
return twineOptionsList;
|
||||
}
|
||||
|
||||
int getMaximumSaveSlot() const override {
|
||||
return 6;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user