PLUGINS: MetaEngineStatic -> MetaEngineDetection
This commit is contained in:
parent
7ea6781043
commit
7ff34bc9ec
96 changed files with 351 additions and 351 deletions
|
@ -820,7 +820,7 @@ static void listGames() {
|
||||||
|
|
||||||
const PluginList &plugins = EngineMan.getPlugins();
|
const PluginList &plugins = EngineMan.getPlugins();
|
||||||
for (PluginList::const_iterator iter = plugins.begin(); iter != plugins.end(); ++iter) {
|
for (PluginList::const_iterator iter = plugins.begin(); iter != plugins.end(); ++iter) {
|
||||||
const MetaEngineStatic &metaengine = (*iter)->get<MetaEngineStatic>();
|
const MetaEngineDetection &metaengine = (*iter)->get<MetaEngineDetection>();
|
||||||
|
|
||||||
PlainGameList list = metaengine.getSupportedGames();
|
PlainGameList list = metaengine.getSupportedGames();
|
||||||
for (PlainGameList::const_iterator v = list.begin(); v != list.end(); ++v) {
|
for (PlainGameList::const_iterator v = list.begin(); v != list.end(); ++v) {
|
||||||
|
@ -836,7 +836,7 @@ static void listEngines() {
|
||||||
|
|
||||||
const PluginList &plugins = EngineMan.getPlugins();
|
const PluginList &plugins = EngineMan.getPlugins();
|
||||||
for (PluginList::const_iterator iter = plugins.begin(); iter != plugins.end(); ++iter) {
|
for (PluginList::const_iterator iter = plugins.begin(); iter != plugins.end(); ++iter) {
|
||||||
const MetaEngineStatic &metaEngine = (*iter)->get<MetaEngineStatic>();
|
const MetaEngineDetection &metaEngine = (*iter)->get<MetaEngineDetection>();
|
||||||
printf("%-15s %s\n", metaEngine.getEngineId(), metaEngine.getName());
|
printf("%-15s %s\n", metaEngine.getEngineId(), metaEngine.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ static const Plugin *detectPlugin() {
|
||||||
|
|
||||||
// Query the plugin for the game descriptor
|
// Query the plugin for the game descriptor
|
||||||
printf(" Looking for a plugin supporting this target... %s\n", plugin->getName());
|
printf(" Looking for a plugin supporting this target... %s\n", plugin->getName());
|
||||||
PlainGameDescriptor game = plugin->get<MetaEngineStatic>().findGame(gameId.c_str());
|
PlainGameDescriptor game = plugin->get<MetaEngineDetection>().findGame(gameId.c_str());
|
||||||
if (!game.gameId) {
|
if (!game.gameId) {
|
||||||
warning("'%s' is an invalid game ID for the engine '%s'. Use the --list-games option to list supported game IDs", gameId.c_str(), engineId.c_str());
|
warning("'%s' is an invalid game ID for the engine '%s'. Use the --list-games option to list supported game IDs", gameId.c_str(), engineId.c_str());
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -182,7 +182,7 @@ static Common::Error runGame(const Plugin *plugin, OSystem &system, const Common
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the game's MetaEngine.
|
// Create the game's MetaEngine.
|
||||||
const MetaEngineStatic &metaEngine = plugin->get<MetaEngineStatic>();
|
const MetaEngineDetection &metaEngine = plugin->get<MetaEngineDetection>();
|
||||||
if (err.getCode() == Common::kNoError) {
|
if (err.getCode() == Common::kNoError) {
|
||||||
// Set default values for all of the custom engine options
|
// Set default values for all of the custom engine options
|
||||||
// Apparently some engines query them in their constructor, thus we
|
// Apparently some engines query them in their constructor, thus we
|
||||||
|
|
|
@ -636,7 +636,7 @@ QualifiedGameList EngineManager::findGamesMatching(const Common::String &engineI
|
||||||
// If we got an engine name, look for THE game only in that engine
|
// If we got an engine name, look for THE game only in that engine
|
||||||
const Plugin *p = EngineMan.findPlugin(engineId);
|
const Plugin *p = EngineMan.findPlugin(engineId);
|
||||||
if (p) {
|
if (p) {
|
||||||
const MetaEngineStatic &engine = p->get<MetaEngineStatic>();
|
const MetaEngineDetection &engine = p->get<MetaEngineDetection>();
|
||||||
|
|
||||||
PlainGameDescriptor pluginResult = engine.findGame(gameId.c_str());
|
PlainGameDescriptor pluginResult = engine.findGame(gameId.c_str());
|
||||||
if (pluginResult.gameId) {
|
if (pluginResult.gameId) {
|
||||||
|
@ -665,7 +665,7 @@ QualifiedGameList EngineManager::findGameInLoadedPlugins(const Common::String &g
|
||||||
PluginList::const_iterator iter;
|
PluginList::const_iterator iter;
|
||||||
|
|
||||||
for (iter = plugins.begin(); iter != plugins.end(); ++iter) {
|
for (iter = plugins.begin(); iter != plugins.end(); ++iter) {
|
||||||
const MetaEngineStatic &engine = (*iter)->get<MetaEngineStatic>();
|
const MetaEngineDetection &engine = (*iter)->get<MetaEngineDetection>();
|
||||||
PlainGameDescriptor pluginResult = engine.findGame(gameId.c_str());
|
PlainGameDescriptor pluginResult = engine.findGame(gameId.c_str());
|
||||||
|
|
||||||
if (pluginResult.gameId) {
|
if (pluginResult.gameId) {
|
||||||
|
@ -688,7 +688,7 @@ DetectionResults EngineManager::detectGames(const Common::FSList &fslist) const
|
||||||
// Iterate over all known games and for each check if it might be
|
// Iterate over all known games and for each check if it might be
|
||||||
// the game in the presented directory.
|
// the game in the presented directory.
|
||||||
for (iter = plugins.begin(); iter != plugins.end(); ++iter) {
|
for (iter = plugins.begin(); iter != plugins.end(); ++iter) {
|
||||||
const MetaEngineStatic &metaEngine = (*iter)->get<MetaEngineStatic>();
|
const MetaEngineDetection &metaEngine = (*iter)->get<MetaEngineDetection>();
|
||||||
DetectedGames engineCandidates = metaEngine.detectGames(fslist);
|
DetectedGames engineCandidates = metaEngine.detectGames(fslist);
|
||||||
|
|
||||||
for (uint i = 0; i < engineCandidates.size(); i++) {
|
for (uint i = 0; i < engineCandidates.size(); i++) {
|
||||||
|
@ -766,7 +766,7 @@ const Plugin *EngineManager::findLoadedPlugin(const Common::String &engineId) co
|
||||||
const PluginList &plugins = getPlugins();
|
const PluginList &plugins = getPlugins();
|
||||||
|
|
||||||
for (PluginList::const_iterator iter = plugins.begin(); iter != plugins.end(); iter++)
|
for (PluginList::const_iterator iter = plugins.begin(); iter != plugins.end(); iter++)
|
||||||
if (engineId == (*iter)->get<MetaEngineStatic>().getEngineId())
|
if (engineId == (*iter)->get<MetaEngineDetection>().getEngineId())
|
||||||
return *iter;
|
return *iter;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -818,7 +818,7 @@ QualifiedGameDescriptor EngineManager::findTarget(const Common::String &target,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure it does support the game ID
|
// Make sure it does support the game ID
|
||||||
const MetaEngineStatic &engine = foundPlugin->get<MetaEngineStatic>();
|
const MetaEngineDetection &engine = foundPlugin->get<MetaEngineDetection>();
|
||||||
PlainGameDescriptor desc = engine.findGame(domain->getVal("gameid").c_str());
|
PlainGameDescriptor desc = engine.findGame(domain->getVal("gameid").c_str());
|
||||||
if (!desc.gameId) {
|
if (!desc.gameId) {
|
||||||
return QualifiedGameDescriptor();
|
return QualifiedGameDescriptor();
|
||||||
|
@ -883,7 +883,7 @@ void EngineManager::upgradeTargetForEngineId(const Common::String &target) const
|
||||||
}
|
}
|
||||||
|
|
||||||
// Take the first detection entry
|
// Take the first detection entry
|
||||||
const MetaEngineStatic &metaEngine = plugin->get<MetaEngineStatic>();
|
const MetaEngineDetection &metaEngine = plugin->get<MetaEngineDetection>();
|
||||||
DetectedGames candidates = metaEngine.detectGames(files);
|
DetectedGames candidates = metaEngine.detectGames(files);
|
||||||
if (candidates.empty()) {
|
if (candidates.empty()) {
|
||||||
warning("No games supported by the engine '%s' were found in path '%s' when upgrading target '%s'",
|
warning("No games supported by the engine '%s' were found in path '%s' when upgrading target '%s'",
|
||||||
|
|
|
@ -32,9 +32,9 @@ static const PlainGameDescriptor AccessGames[] = {
|
||||||
|
|
||||||
#include "access/detection_tables.h"
|
#include "access/detection_tables.h"
|
||||||
|
|
||||||
class AccessMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class AccessMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
AccessMetaEngineStatic() : AdvancedMetaEngineStatic(Access::gameDescriptions, sizeof(Access::AccessGameDescription), AccessGames) {
|
AccessMetaEngineDetection() : AdvancedMetaEngineDetection(Access::gameDescriptions, sizeof(Access::AccessGameDescription), AccessGames) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,4 +52,4 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(ACCESS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, AccessMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(ACCESS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, AccessMetaEngineDetection);
|
||||||
|
|
|
@ -337,9 +337,9 @@ static const AdlGameDescription gameDiskDescriptions[] = {
|
||||||
{ AD_TABLE_END_MARKER, GAME_TYPE_NONE, GAME_VER_NONE }
|
{ AD_TABLE_END_MARKER, GAME_TYPE_NONE, GAME_VER_NONE }
|
||||||
};
|
};
|
||||||
|
|
||||||
class AdlMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class AdlMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
AdlMetaEngineStatic() : AdvancedMetaEngineStatic(gameFileDescriptions, sizeof(AdlGameDescription), adlGames, optionsList) { }
|
AdlMetaEngineDetection() : AdvancedMetaEngineDetection(gameFileDescriptions, sizeof(AdlGameDescription), adlGames, optionsList) { }
|
||||||
|
|
||||||
const char *getName() const override {
|
const char *getName() const override {
|
||||||
return "ADL";
|
return "ADL";
|
||||||
|
@ -358,7 +358,7 @@ public:
|
||||||
bool addFileProps(const FileMap &allFiles, Common::String fname, FilePropertiesMap &filePropsMap) const;
|
bool addFileProps(const FileMap &allFiles, Common::String fname, FilePropertiesMap &filePropsMap) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
bool AdlMetaEngineStatic::addFileProps(const FileMap &allFiles, Common::String fname, FilePropertiesMap &filePropsMap) const {
|
bool AdlMetaEngineDetection::addFileProps(const FileMap &allFiles, Common::String fname, FilePropertiesMap &filePropsMap) const {
|
||||||
if (filePropsMap.contains(fname))
|
if (filePropsMap.contains(fname))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@ -377,9 +377,9 @@ bool AdlMetaEngineStatic::addFileProps(const FileMap &allFiles, Common::String f
|
||||||
}
|
}
|
||||||
|
|
||||||
// Based on AdvancedMetaEngine::detectGame
|
// Based on AdvancedMetaEngine::detectGame
|
||||||
ADDetectedGames AdlMetaEngineStatic::detectGame(const Common::FSNode &parent, const FileMap &allFiles, Common::Language language, Common::Platform platform, const Common::String &extra) const {
|
ADDetectedGames AdlMetaEngineDetection::detectGame(const Common::FSNode &parent, const FileMap &allFiles, Common::Language language, Common::Platform platform, const Common::String &extra) const {
|
||||||
// We run the file-based detector first, if it finds a match we do not search for disk images
|
// We run the file-based detector first, if it finds a match we do not search for disk images
|
||||||
ADDetectedGames matched = AdvancedMetaEngineStatic::detectGame(parent, allFiles, language, platform, extra);
|
ADDetectedGames matched = AdvancedMetaEngineDetection::detectGame(parent, allFiles, language, platform, extra);
|
||||||
|
|
||||||
if (!matched.empty())
|
if (!matched.empty())
|
||||||
return matched;
|
return matched;
|
||||||
|
@ -474,4 +474,4 @@ ADDetectedGames AdlMetaEngineStatic::detectGame(const Common::FSNode &parent, co
|
||||||
|
|
||||||
} // End of namespace Adl
|
} // End of namespace Adl
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(ADL_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Adl::AdlMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(ADL_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Adl::AdlMetaEngineDetection);
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
*/
|
*/
|
||||||
class FileMapArchive : public Common::Archive {
|
class FileMapArchive : public Common::Archive {
|
||||||
public:
|
public:
|
||||||
FileMapArchive(const AdvancedMetaEngineStatic::FileMap &fileMap) : _fileMap(fileMap) {}
|
FileMapArchive(const AdvancedMetaEngineDetection::FileMap &fileMap) : _fileMap(fileMap) {}
|
||||||
|
|
||||||
bool hasFile(const Common::String &name) const override {
|
bool hasFile(const Common::String &name) const override {
|
||||||
return _fileMap.contains(name);
|
return _fileMap.contains(name);
|
||||||
|
@ -48,7 +48,7 @@ public:
|
||||||
|
|
||||||
int listMembers(Common::ArchiveMemberList &list) const override {
|
int listMembers(Common::ArchiveMemberList &list) const override {
|
||||||
int files = 0;
|
int files = 0;
|
||||||
for (AdvancedMetaEngineStatic::FileMap::const_iterator it = _fileMap.begin(); it != _fileMap.end(); ++it) {
|
for (AdvancedMetaEngineDetection::FileMap::const_iterator it = _fileMap.begin(); it != _fileMap.end(); ++it) {
|
||||||
list.push_back(Common::ArchiveMemberPtr(new Common::FSNode(it->_value)));
|
list.push_back(Common::ArchiveMemberPtr(new Common::FSNode(it->_value)));
|
||||||
++files;
|
++files;
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
const Common::ArchiveMemberPtr getMember(const Common::String &name) const override {
|
const Common::ArchiveMemberPtr getMember(const Common::String &name) const override {
|
||||||
AdvancedMetaEngineStatic::FileMap::const_iterator it = _fileMap.find(name);
|
AdvancedMetaEngineDetection::FileMap::const_iterator it = _fileMap.find(name);
|
||||||
if (it == _fileMap.end()) {
|
if (it == _fileMap.end()) {
|
||||||
return Common::ArchiveMemberPtr();
|
return Common::ArchiveMemberPtr();
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const AdvancedMetaEngineStatic::FileMap &_fileMap;
|
const AdvancedMetaEngineDetection::FileMap &_fileMap;
|
||||||
};
|
};
|
||||||
|
|
||||||
static Common::String sanitizeName(const char *name) {
|
static Common::String sanitizeName(const char *name) {
|
||||||
|
@ -124,7 +124,7 @@ static Common::String generatePreferredTarget(const ADGameDescription *desc) {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
DetectedGame AdvancedMetaEngineStatic::toDetectedGame(const ADDetectedGame &adGame) const {
|
DetectedGame AdvancedMetaEngineDetection::toDetectedGame(const ADDetectedGame &adGame) const {
|
||||||
const ADGameDescription *desc = adGame.desc;
|
const ADGameDescription *desc = adGame.desc;
|
||||||
|
|
||||||
const char *title;
|
const char *title;
|
||||||
|
@ -190,7 +190,7 @@ bool cleanupPirated(ADDetectedGames &matched) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DetectedGames AdvancedMetaEngineStatic::detectGames(const Common::FSList &fslist) const {
|
DetectedGames AdvancedMetaEngineDetection::detectGames(const Common::FSList &fslist) const {
|
||||||
FileMap allFiles;
|
FileMap allFiles;
|
||||||
|
|
||||||
if (fslist.empty())
|
if (fslist.empty())
|
||||||
|
@ -236,7 +236,7 @@ DetectedGames AdvancedMetaEngineStatic::detectGames(const Common::FSList &fslist
|
||||||
return detectedGames;
|
return detectedGames;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ExtraGuiOptions AdvancedMetaEngineStatic::getExtraGuiOptions(const Common::String &target) const {
|
const ExtraGuiOptions AdvancedMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
|
||||||
if (!_extraGuiOptions)
|
if (!_extraGuiOptions)
|
||||||
return ExtraGuiOptions();
|
return ExtraGuiOptions();
|
||||||
|
|
||||||
|
@ -264,7 +264,7 @@ const ExtraGuiOptions AdvancedMetaEngineStatic::getExtraGuiOptions(const Common:
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
Common::Error AdvancedMetaEngineStatic::createInstance(OSystem *syst, Engine **engine) const {
|
Common::Error AdvancedMetaEngineDetection::createInstance(OSystem *syst, Engine **engine) const {
|
||||||
assert(engine);
|
assert(engine);
|
||||||
|
|
||||||
Common::Language language = Common::UNK_LANG;
|
Common::Language language = Common::UNK_LANG;
|
||||||
|
@ -371,7 +371,7 @@ Common::Error AdvancedMetaEngineStatic::createInstance(OSystem *syst, Engine **e
|
||||||
return Common::Error(Common::kNoGameDataFoundError);
|
return Common::Error(Common::kNoGameDataFoundError);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdvancedMetaEngineStatic::composeFileHashMap(FileMap &allFiles, const Common::FSList &fslist, int depth, const Common::String &parentName) const {
|
void AdvancedMetaEngineDetection::composeFileHashMap(FileMap &allFiles, const Common::FSList &fslist, int depth, const Common::String &parentName) const {
|
||||||
if (depth <= 0)
|
if (depth <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -411,7 +411,7 @@ void AdvancedMetaEngineStatic::composeFileHashMap(FileMap &allFiles, const Commo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AdvancedMetaEngineStatic::getFileProperties(const FileMap &allFiles, const ADGameDescription &game, const Common::String fname, FileProperties &fileProps) const {
|
bool AdvancedMetaEngineDetection::getFileProperties(const FileMap &allFiles, const ADGameDescription &game, const Common::String fname, FileProperties &fileProps) const {
|
||||||
// FIXME/TODO: We don't handle the case that a file is listed as a regular
|
// FIXME/TODO: We don't handle the case that a file is listed as a regular
|
||||||
// file and as one with resource fork.
|
// file and as one with resource fork.
|
||||||
|
|
||||||
|
@ -475,7 +475,7 @@ bool AdvancedMetaEngine::getFilePropertiesExtern(uint md5Bytes, const FileMap &a
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ADDetectedGames AdvancedMetaEngineStatic::detectGame(const Common::FSNode &parent, const FileMap &allFiles, Common::Language language, Common::Platform platform, const Common::String &extra) const {
|
ADDetectedGames AdvancedMetaEngineDetection::detectGame(const Common::FSNode &parent, const FileMap &allFiles, Common::Language language, Common::Platform platform, const Common::String &extra) const {
|
||||||
FilePropertiesMap filesProps;
|
FilePropertiesMap filesProps;
|
||||||
ADDetectedGames matched;
|
ADDetectedGames matched;
|
||||||
|
|
||||||
|
@ -600,7 +600,7 @@ ADDetectedGames AdvancedMetaEngineStatic::detectGame(const Common::FSNode &paren
|
||||||
return matched;
|
return matched;
|
||||||
}
|
}
|
||||||
|
|
||||||
ADDetectedGame AdvancedMetaEngineStatic::detectGameFilebased(const FileMap &allFiles, const ADFileBasedFallback *fileBasedFallback) const {
|
ADDetectedGame AdvancedMetaEngineDetection::detectGameFilebased(const FileMap &allFiles, const ADFileBasedFallback *fileBasedFallback) const {
|
||||||
const ADFileBasedFallback *ptr;
|
const ADFileBasedFallback *ptr;
|
||||||
const char* const* filenames;
|
const char* const* filenames;
|
||||||
|
|
||||||
|
@ -648,11 +648,11 @@ ADDetectedGame AdvancedMetaEngineStatic::detectGameFilebased(const FileMap &allF
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlainGameList AdvancedMetaEngineStatic::getSupportedGames() const {
|
PlainGameList AdvancedMetaEngineDetection::getSupportedGames() const {
|
||||||
return PlainGameList(_gameIds);
|
return PlainGameList(_gameIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
PlainGameDescriptor AdvancedMetaEngineStatic::findGame(const char *gameId) const {
|
PlainGameDescriptor AdvancedMetaEngineDetection::findGame(const char *gameId) const {
|
||||||
// First search the list of supported gameids for a match.
|
// First search the list of supported gameids for a match.
|
||||||
const PlainGameDescriptor *g = findPlainGameDescriptor(gameId, _gameIds);
|
const PlainGameDescriptor *g = findPlainGameDescriptor(gameId, _gameIds);
|
||||||
if (g)
|
if (g)
|
||||||
|
@ -662,7 +662,7 @@ PlainGameDescriptor AdvancedMetaEngineStatic::findGame(const char *gameId) const
|
||||||
return PlainGameDescriptor::empty();
|
return PlainGameDescriptor::empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
AdvancedMetaEngineStatic::AdvancedMetaEngineStatic(const void *descs, uint descItemSize, const PlainGameDescriptor *gameIds, const ADExtraGuiOptionsMap *extraGuiOptions)
|
AdvancedMetaEngineDetection::AdvancedMetaEngineDetection(const void *descs, uint descItemSize, const PlainGameDescriptor *gameIds, const ADExtraGuiOptionsMap *extraGuiOptions)
|
||||||
: _gameDescriptors((const byte *)descs), _descItemSize(descItemSize), _gameIds(gameIds),
|
: _gameDescriptors((const byte *)descs), _descItemSize(descItemSize), _gameIds(gameIds),
|
||||||
_extraGuiOptions(extraGuiOptions) {
|
_extraGuiOptions(extraGuiOptions) {
|
||||||
|
|
||||||
|
@ -674,7 +674,7 @@ AdvancedMetaEngineStatic::AdvancedMetaEngineStatic(const void *descs, uint descI
|
||||||
_matchFullPaths = false;
|
_matchFullPaths = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdvancedMetaEngineStatic::initSubSystems(const ADGameDescription *gameDesc) const {
|
void AdvancedMetaEngineDetection::initSubSystems(const ADGameDescription *gameDesc) const {
|
||||||
#ifdef ENABLE_EVENTRECORDER
|
#ifdef ENABLE_EVENTRECORDER
|
||||||
if (gameDesc) {
|
if (gameDesc) {
|
||||||
g_eventRec.processGameDescription(gameDesc);
|
g_eventRec.processGameDescription(gameDesc);
|
||||||
|
@ -687,7 +687,7 @@ Common::Error AdvancedMetaEngine::createInstance(OSystem *syst, Engine **engine)
|
||||||
if (pl.size() == 1) {
|
if (pl.size() == 1) {
|
||||||
Plugin *metaEnginePlugin = PluginMan.getMetaEngineFromEngine(pl[0]);
|
Plugin *metaEnginePlugin = PluginMan.getMetaEngineFromEngine(pl[0]);
|
||||||
if (metaEnginePlugin) {
|
if (metaEnginePlugin) {
|
||||||
return metaEnginePlugin->get<AdvancedMetaEngineStatic>().createInstance(syst, engine);
|
return metaEnginePlugin->get<AdvancedMetaEngineDetection>().createInstance(syst, engine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -167,9 +167,9 @@ struct ADExtraGuiOptionsMap {
|
||||||
#define AD_EXTRA_GUI_OPTIONS_TERMINATOR { 0, { 0, 0, 0, 0 } }
|
#define AD_EXTRA_GUI_OPTIONS_TERMINATOR { 0, { 0, 0, 0, 0 } }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A MetaEngineStatic implementation based around the advanced detector code.
|
* A MetaEngineDetection implementation based around the advanced detector code.
|
||||||
*/
|
*/
|
||||||
class AdvancedMetaEngineStatic : public MetaEngineStatic {
|
class AdvancedMetaEngineDetection : public MetaEngineDetection {
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
* Pointer to an array of objects which are either ADGameDescription
|
* Pointer to an array of objects which are either ADGameDescription
|
||||||
|
@ -247,7 +247,7 @@ protected:
|
||||||
bool _matchFullPaths;
|
bool _matchFullPaths;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AdvancedMetaEngineStatic(const void *descs, uint descItemSize, const PlainGameDescriptor *gameIds, const ADExtraGuiOptionsMap *extraGuiOptions = 0);
|
AdvancedMetaEngineDetection(const void *descs, uint descItemSize, const PlainGameDescriptor *gameIds, const ADExtraGuiOptionsMap *extraGuiOptions = 0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns list of targets supported by the engine.
|
* Returns list of targets supported by the engine.
|
||||||
|
|
|
@ -131,12 +131,12 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
|
|
||||||
using namespace Agi;
|
using namespace Agi;
|
||||||
|
|
||||||
class AgiMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class AgiMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
mutable Common::String _gameid;
|
mutable Common::String _gameid;
|
||||||
mutable Common::String _extra;
|
mutable Common::String _extra;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AgiMetaEngineStatic() : AdvancedMetaEngineStatic(Agi::gameDescriptions, sizeof(Agi::AGIGameDescription), agiGames, optionsList) {
|
AgiMetaEngineDetection() : AdvancedMetaEngineDetection(Agi::gameDescriptions, sizeof(Agi::AGIGameDescription), agiGames, optionsList) {
|
||||||
_guiOptions = GUIO1(GUIO_NOSPEECH);
|
_guiOptions = GUIO1(GUIO_NOSPEECH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ public:
|
||||||
ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
|
ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
ADDetectedGame AgiMetaEngineStatic::fallbackDetect(const FileMap &allFilesXXX, const Common::FSList &fslist) const {
|
ADDetectedGame AgiMetaEngineDetection::fallbackDetect(const FileMap &allFilesXXX, const Common::FSList &fslist) const {
|
||||||
typedef Common::HashMap<Common::String, int32> IntMap;
|
typedef Common::HashMap<Common::String, int32> IntMap;
|
||||||
IntMap allFiles;
|
IntMap allFiles;
|
||||||
bool matchedUsingFilenames = false;
|
bool matchedUsingFilenames = false;
|
||||||
|
@ -323,4 +323,4 @@ ADDetectedGame AgiMetaEngineStatic::fallbackDetect(const FileMap &allFilesXXX, c
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(AGI_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, AgiMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(AGI_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, AgiMetaEngineDetection);
|
||||||
|
|
|
@ -65,9 +65,9 @@ static const char *const directoryGlobs[] = {
|
||||||
|
|
||||||
using namespace AGOS;
|
using namespace AGOS;
|
||||||
|
|
||||||
class AgosMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class AgosMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
AgosMetaEngineStatic() : AdvancedMetaEngineStatic(AGOS::gameDescriptions, sizeof(AGOS::AGOSGameDescription), agosGames) {
|
AgosMetaEngineDetection() : AdvancedMetaEngineDetection(AGOS::gameDescriptions, sizeof(AGOS::AGOSGameDescription), agosGames) {
|
||||||
_guiOptions = GUIO1(GUIO_NOLAUNCHLOAD);
|
_guiOptions = GUIO1(GUIO_NOLAUNCHLOAD);
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
|
@ -90,4 +90,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(AGOS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, AgosMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(AGOS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, AgosMetaEngineDetection);
|
||||||
|
|
|
@ -56,9 +56,9 @@ static const ADGameDescription gameDescriptions[] = {
|
||||||
AD_TABLE_END_MARKER
|
AD_TABLE_END_MARKER
|
||||||
};
|
};
|
||||||
|
|
||||||
class AvalancheMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class AvalancheMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
AvalancheMetaEngineStatic() : AdvancedMetaEngineStatic(gameDescriptions, sizeof(AvalancheGameDescription), avalancheGames) {
|
AvalancheMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(AvalancheGameDescription), avalancheGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -76,4 +76,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace Avalanche
|
} // End of namespace Avalanche
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(AVALANCHE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Avalanche::AvalancheMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(AVALANCHE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Avalanche::AvalancheMetaEngineDetection);
|
||||||
|
|
|
@ -83,9 +83,9 @@ static const char * const directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class BbvsMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class BbvsMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
BbvsMetaEngineStatic() : AdvancedMetaEngineStatic(Bbvs::gameDescriptions, sizeof(ADGameDescription), bbvsGames) {
|
BbvsMetaEngineDetection() : AdvancedMetaEngineDetection(Bbvs::gameDescriptions, sizeof(ADGameDescription), bbvsGames) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -103,4 +103,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(BBVS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, BbvsMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(BBVS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, BbvsMetaEngineDetection);
|
||||||
|
|
|
@ -92,32 +92,32 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
|
|
||||||
} // End of namespace BladeRunner
|
} // End of namespace BladeRunner
|
||||||
|
|
||||||
class BladeRunnerMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class BladeRunnerMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
BladeRunnerMetaEngineStatic();
|
BladeRunnerMetaEngineDetection();
|
||||||
|
|
||||||
const char *getEngineId() const override;
|
const char *getEngineId() const override;
|
||||||
const char *getName() const override;
|
const char *getName() const override;
|
||||||
const char *getOriginalCopyright() const override;
|
const char *getOriginalCopyright() const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
BladeRunnerMetaEngineStatic::BladeRunnerMetaEngineStatic()
|
BladeRunnerMetaEngineDetection::BladeRunnerMetaEngineDetection()
|
||||||
: AdvancedMetaEngineStatic(
|
: AdvancedMetaEngineDetection(
|
||||||
BladeRunner::gameDescriptions,
|
BladeRunner::gameDescriptions,
|
||||||
sizeof(BladeRunner::gameDescriptions[0]),
|
sizeof(BladeRunner::gameDescriptions[0]),
|
||||||
BladeRunner::bladeRunnerGames,
|
BladeRunner::bladeRunnerGames,
|
||||||
BladeRunner::optionsList) {}
|
BladeRunner::optionsList) {}
|
||||||
|
|
||||||
const char *BladeRunnerMetaEngineStatic::getEngineId() const {
|
const char *BladeRunnerMetaEngineDetection::getEngineId() const {
|
||||||
return "bladerunner";
|
return "bladerunner";
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *BladeRunnerMetaEngineStatic::getName() const {
|
const char *BladeRunnerMetaEngineDetection::getName() const {
|
||||||
return "Blade Runner";
|
return "Blade Runner";
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *BladeRunnerMetaEngineStatic::getOriginalCopyright() const {
|
const char *BladeRunnerMetaEngineDetection::getOriginalCopyright() const {
|
||||||
return "Blade Runner (C) 1997 Westwood Studios";
|
return "Blade Runner (C) 1997 Westwood Studios";
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(BLADERUNNER_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, BladeRunnerMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(BLADERUNNER_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, BladeRunnerMetaEngineDetection);
|
||||||
|
|
|
@ -120,9 +120,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class CGEMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class CGEMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
CGEMetaEngineStatic() : AdvancedMetaEngineStatic(CGE::gameDescriptions, sizeof(ADGameDescription), CGEGames, optionsList) {
|
CGEMetaEngineDetection() : AdvancedMetaEngineDetection(CGE::gameDescriptions, sizeof(ADGameDescription), CGEGames, optionsList) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -155,19 +155,19 @@ static const ADFileBasedFallback fileBasedFallback[] = {
|
||||||
{ 0, { 0 } }
|
{ 0, { 0 } }
|
||||||
};
|
};
|
||||||
|
|
||||||
ADDetectedGame CGEMetaEngineStatic::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
ADDetectedGame CGEMetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
||||||
ADDetectedGame game = detectGameFilebased(allFiles, CGE::fileBasedFallback);
|
ADDetectedGame game = detectGameFilebased(allFiles, CGE::fileBasedFallback);
|
||||||
|
|
||||||
if (!game.desc)
|
if (!game.desc)
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
|
|
||||||
SearchMan.addDirectory("CGEMetaEngineStatic::fallbackDetect", fslist.begin()->getParent());
|
SearchMan.addDirectory("CGEMetaEngineDetection::fallbackDetect", fslist.begin()->getParent());
|
||||||
ResourceManager *resman;
|
ResourceManager *resman;
|
||||||
resman = new ResourceManager();
|
resman = new ResourceManager();
|
||||||
bool sayFileFound = resman->exist("CGE.SAY");
|
bool sayFileFound = resman->exist("CGE.SAY");
|
||||||
delete resman;
|
delete resman;
|
||||||
|
|
||||||
SearchMan.remove("CGEMetaEngineStatic::fallbackDetect");
|
SearchMan.remove("CGEMetaEngineDetection::fallbackDetect");
|
||||||
|
|
||||||
if (!sayFileFound)
|
if (!sayFileFound)
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
|
@ -177,4 +177,4 @@ ADDetectedGame CGEMetaEngineStatic::fallbackDetect(const FileMap &allFiles, cons
|
||||||
|
|
||||||
} // End of namespace CGE
|
} // End of namespace CGE
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(CGE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CGE::CGEMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(CGE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CGE::CGEMetaEngineDetection);
|
||||||
|
|
|
@ -116,9 +116,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class CGE2MetaEngineStatic : public AdvancedMetaEngineStatic {
|
class CGE2MetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
CGE2MetaEngineStatic() : AdvancedMetaEngineStatic(gameDescriptions, sizeof(ADGameDescription), CGE2Games, optionsList) {
|
CGE2MetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(ADGameDescription), CGE2Games, optionsList) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -153,19 +153,19 @@ static const ADFileBasedFallback fileBasedFallback[] = {
|
||||||
|
|
||||||
// This fallback detection looks identical to the one used for CGE. In fact, the difference resides
|
// This fallback detection looks identical to the one used for CGE. In fact, the difference resides
|
||||||
// in the ResourceManager which handles a different archive format. The rest of the detection is identical.
|
// in the ResourceManager which handles a different archive format. The rest of the detection is identical.
|
||||||
ADDetectedGame CGE2MetaEngineStatic::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
ADDetectedGame CGE2MetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
||||||
ADDetectedGame game = detectGameFilebased(allFiles, CGE2::fileBasedFallback);
|
ADDetectedGame game = detectGameFilebased(allFiles, CGE2::fileBasedFallback);
|
||||||
|
|
||||||
if (!game.desc)
|
if (!game.desc)
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
|
|
||||||
SearchMan.addDirectory("CGE2MetaEngineStatic::fallbackDetect", fslist.begin()->getParent());
|
SearchMan.addDirectory("CGE2MetaEngineDetection::fallbackDetect", fslist.begin()->getParent());
|
||||||
ResourceManager *resman;
|
ResourceManager *resman;
|
||||||
resman = new ResourceManager();
|
resman = new ResourceManager();
|
||||||
bool sayFileFound = resman->exist("CGE.SAY");
|
bool sayFileFound = resman->exist("CGE.SAY");
|
||||||
delete resman;
|
delete resman;
|
||||||
|
|
||||||
SearchMan.remove("CGE2MetaEngineStatic::fallbackDetect");
|
SearchMan.remove("CGE2MetaEngineDetection::fallbackDetect");
|
||||||
|
|
||||||
if (!sayFileFound)
|
if (!sayFileFound)
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
|
@ -175,4 +175,4 @@ ADDetectedGame CGE2MetaEngineStatic::fallbackDetect(const FileMap &allFiles, con
|
||||||
|
|
||||||
} // End of namespace CGE2
|
} // End of namespace CGE2
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(CGE2_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CGE2::CGE2MetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(CGE2_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CGE2::CGE2MetaEngineDetection);
|
||||||
|
|
|
@ -90,9 +90,9 @@ static const ChewyGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace Chewy
|
} // End of namespace Chewy
|
||||||
|
|
||||||
class ChewyMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class ChewyMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
ChewyMetaEngineStatic() : AdvancedMetaEngineStatic(Chewy::gameDescriptions, sizeof(Chewy::ChewyGameDescription), chewyGames) {
|
ChewyMetaEngineDetection() : AdvancedMetaEngineDetection(Chewy::gameDescriptions, sizeof(Chewy::ChewyGameDescription), chewyGames) {
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -110,4 +110,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(CHEWY_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ChewyMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(CHEWY_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ChewyMetaEngineDetection);
|
||||||
|
|
|
@ -59,9 +59,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class CineMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class CineMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
CineMetaEngineStatic() : AdvancedMetaEngineStatic(Cine::gameDescriptions, sizeof(Cine::CINEGameDescription), cineGames, optionsList) {
|
CineMetaEngineDetection() : AdvancedMetaEngineDetection(Cine::gameDescriptions, sizeof(Cine::CINEGameDescription), cineGames, optionsList) {
|
||||||
_guiOptions = GUIO3(GUIO_NOSPEECH, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_TRANSPARENT_DIALOG_BOXES);
|
_guiOptions = GUIO3(GUIO_NOSPEECH, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_TRANSPARENT_DIALOG_BOXES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,4 +78,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(CINE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CineMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(CINE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CineMetaEngineDetection);
|
||||||
|
|
|
@ -52,9 +52,9 @@ static const char *directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class ComposerMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class ComposerMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
ComposerMetaEngineStatic() : AdvancedMetaEngineStatic(Composer::gameDescriptions, sizeof(Composer::ComposerGameDescription), composerGames) {
|
ComposerMetaEngineDetection() : AdvancedMetaEngineDetection(Composer::gameDescriptions, sizeof(Composer::ComposerGameDescription), composerGames) {
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -72,4 +72,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(COMPOSER_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ComposerMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(COMPOSER_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ComposerMetaEngineDetection);
|
||||||
|
|
|
@ -170,9 +170,9 @@ static const CRUISEGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class CruiseMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class CruiseMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
CruiseMetaEngineStatic() : AdvancedMetaEngineStatic(Cruise::gameDescriptions, sizeof(Cruise::CRUISEGameDescription), cruiseGames) {
|
CruiseMetaEngineDetection() : AdvancedMetaEngineDetection(Cruise::gameDescriptions, sizeof(Cruise::CRUISEGameDescription), cruiseGames) {
|
||||||
_guiOptions = GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI);
|
_guiOptions = GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,4 +189,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(CRUISE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CruiseMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(CRUISE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CruiseMetaEngineDetection);
|
||||||
|
|
|
@ -119,9 +119,9 @@ static const ADGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace Cryo
|
} // End of namespace Cryo
|
||||||
|
|
||||||
class CryoMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class CryoMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
CryoMetaEngineStatic() : AdvancedMetaEngineStatic(Cryo::gameDescriptions, sizeof(ADGameDescription), cryoGames) {
|
CryoMetaEngineDetection() : AdvancedMetaEngineDetection(Cryo::gameDescriptions, sizeof(ADGameDescription), cryoGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -137,4 +137,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(CRYO_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CryoMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(CRYO_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CryoMetaEngineDetection);
|
||||||
|
|
|
@ -46,9 +46,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class CryOmni3DMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class CryOmni3DMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
CryOmni3DMetaEngineStatic() : AdvancedMetaEngineStatic(CryOmni3D::gameDescriptions,
|
CryOmni3DMetaEngineDetection() : AdvancedMetaEngineDetection(CryOmni3D::gameDescriptions,
|
||||||
sizeof(CryOmni3DGameDescription), cryomni3DGames, optionsList) {
|
sizeof(CryOmni3DGameDescription), cryomni3DGames, optionsList) {
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
_maxScanDepth = 5;
|
_maxScanDepth = 5;
|
||||||
|
@ -74,4 +74,4 @@ public:
|
||||||
|
|
||||||
} // End of Namespace CryOmni3D
|
} // End of Namespace CryOmni3D
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(CRYOMNI3D_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CryOmni3D::CryOmni3DMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(CRYOMNI3D_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CryOmni3D::CryOmni3DMetaEngineDetection);
|
||||||
|
|
|
@ -174,9 +174,9 @@ static const char *directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class DirectorMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class DirectorMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
DirectorMetaEngineStatic() : AdvancedMetaEngineStatic(Director::gameDescriptions, sizeof(Director::DirectorGameDescription), directorGames) {
|
DirectorMetaEngineDetection() : AdvancedMetaEngineDetection(Director::gameDescriptions, sizeof(Director::DirectorGameDescription), directorGames) {
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -213,7 +213,7 @@ static Director::DirectorGameDescription s_fallbackDesc = {
|
||||||
static char s_fallbackFileNameBuffer[51];
|
static char s_fallbackFileNameBuffer[51];
|
||||||
static char s_fallbackExtraBuf[256];
|
static char s_fallbackExtraBuf[256];
|
||||||
|
|
||||||
ADDetectedGame DirectorMetaEngineStatic::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
ADDetectedGame DirectorMetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
||||||
// TODO: Handle Mac fallback
|
// TODO: Handle Mac fallback
|
||||||
|
|
||||||
// reset fallback description
|
// reset fallback description
|
||||||
|
@ -321,4 +321,4 @@ ADDetectedGame DirectorMetaEngineStatic::fallbackDetect(const FileMap &allFiles,
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(DIRECTOR_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DirectorMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(DIRECTOR_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DirectorMetaEngineDetection);
|
||||||
|
|
|
@ -92,9 +92,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class DMMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class DMMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
DMMetaEngineStatic() : AdvancedMetaEngineStatic(DM::gameDescriptions, sizeof(DMADGameDescription), DMGames, optionsList) {
|
DMMetaEngineDetection() : AdvancedMetaEngineDetection(DM::gameDescriptions, sizeof(DMADGameDescription), DMGames, optionsList) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -114,4 +114,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace DM
|
} // End of namespace DM
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(DM_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DM::DMMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(DM_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DM::DMMetaEngineDetection);
|
||||||
|
|
|
@ -78,9 +78,9 @@ const ADGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace Draci
|
} // End of namespace Draci
|
||||||
|
|
||||||
class DraciMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class DraciMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
DraciMetaEngineStatic() : AdvancedMetaEngineStatic(Draci::gameDescriptions, sizeof(ADGameDescription), draciGames) {
|
DraciMetaEngineDetection() : AdvancedMetaEngineDetection(Draci::gameDescriptions, sizeof(ADGameDescription), draciGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -96,4 +96,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(DRACI_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DraciMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(DRACI_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DraciMetaEngineDetection);
|
||||||
|
|
|
@ -123,9 +123,9 @@ static const char * const directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class DragonsMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class DragonsMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
DragonsMetaEngineStatic() : AdvancedMetaEngineStatic(Dragons::gameDescriptions, sizeof(Dragons::DragonsGameDescription), dragonsGames) {
|
DragonsMetaEngineDetection() : AdvancedMetaEngineDetection(Dragons::gameDescriptions, sizeof(Dragons::DragonsGameDescription), dragonsGames) {
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -143,4 +143,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(DRAGONS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DragonsMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(DRAGONS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DragonsMetaEngineDetection);
|
||||||
|
|
|
@ -302,9 +302,9 @@ static const ExtraGuiOption drasculaExtraGuiOption = {
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
|
|
||||||
class DrasculaMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class DrasculaMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
DrasculaMetaEngineStatic() : AdvancedMetaEngineStatic(Drascula::gameDescriptions, sizeof(Drascula::DrasculaGameDescription), drasculaGames) {
|
DrasculaMetaEngineDetection() : AdvancedMetaEngineDetection(Drascula::gameDescriptions, sizeof(Drascula::DrasculaGameDescription), drasculaGames) {
|
||||||
_guiOptions = GUIO1(GUIO_NOMIDI);
|
_guiOptions = GUIO1(GUIO_NOMIDI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -323,7 +323,7 @@ public:
|
||||||
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
const ExtraGuiOptions DrasculaMetaEngineStatic::getExtraGuiOptions(const Common::String &target) const {
|
const ExtraGuiOptions DrasculaMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
|
||||||
ExtraGuiOptions options;
|
ExtraGuiOptions options;
|
||||||
options.push_back(drasculaExtraGuiOption);
|
options.push_back(drasculaExtraGuiOption);
|
||||||
return options;
|
return options;
|
||||||
|
@ -331,4 +331,4 @@ const ExtraGuiOptions DrasculaMetaEngineStatic::getExtraGuiOptions(const Common:
|
||||||
|
|
||||||
} // End of namespace Drascula
|
} // End of namespace Drascula
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(DRASCULA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Drascula::DrasculaMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(DRASCULA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Drascula::DrasculaMetaEngineDetection);
|
||||||
|
|
|
@ -61,10 +61,10 @@ static const ADExtraGuiOptionsMap gameGuiOptions[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class DreamWebMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class DreamWebMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
DreamWebMetaEngineStatic():
|
DreamWebMetaEngineDetection():
|
||||||
AdvancedMetaEngineStatic(DreamWeb::gameDescriptions,
|
AdvancedMetaEngineDetection(DreamWeb::gameDescriptions,
|
||||||
sizeof(DreamWeb::DreamWebGameDescription), dreamWebGames,
|
sizeof(DreamWeb::DreamWebGameDescription), dreamWebGames,
|
||||||
gameGuiOptions) {
|
gameGuiOptions) {
|
||||||
_guiOptions = GUIO1(GUIO_NOMIDI);
|
_guiOptions = GUIO1(GUIO_NOMIDI);
|
||||||
|
@ -83,4 +83,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(DREAMWEB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DreamWebMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(DREAMWEB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, DreamWebMetaEngineDetection);
|
||||||
|
|
|
@ -873,10 +873,10 @@ EnginePlugin *Engine::getMetaEnginePlugin() const {
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MetaEngineStatic &Engine::getMetaEngineStatic() {
|
MetaEngineDetection &Engine::getMetaEngineDetection() {
|
||||||
const Plugin *plugin = EngineMan.findPlugin(ConfMan.get("engineid"));
|
const Plugin *plugin = EngineMan.findPlugin(ConfMan.get("engineid"));
|
||||||
assert(plugin);
|
assert(plugin);
|
||||||
return plugin->get<MetaEngineStatic>();
|
return plugin->get<MetaEngineDetection>();
|
||||||
}
|
}
|
||||||
|
|
||||||
MetaEngine &Engine::getMetaEngine() {
|
MetaEngine &Engine::getMetaEngine() {
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
#include "common/singleton.h"
|
#include "common/singleton.h"
|
||||||
|
|
||||||
class OSystem;
|
class OSystem;
|
||||||
class MetaEngineStatic;
|
class MetaEngineDetection;
|
||||||
class MetaEngine;
|
class MetaEngine;
|
||||||
|
|
||||||
namespace Audio {
|
namespace Audio {
|
||||||
|
@ -387,7 +387,7 @@ public:
|
||||||
*/
|
*/
|
||||||
static bool shouldQuit();
|
static bool shouldQuit();
|
||||||
|
|
||||||
static MetaEngineStatic &getMetaEngineStatic();
|
static MetaEngineDetection &getMetaEngineDetection();
|
||||||
static MetaEngine &getMetaEngine();
|
static MetaEngine &getMetaEngine();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -114,7 +114,7 @@ GlkDetectedGame::GlkDetectedGame(const char *id, const char *desc, const Common:
|
||||||
|
|
||||||
} // End of namespace Glk
|
} // End of namespace Glk
|
||||||
|
|
||||||
PlainGameList GlkMetaEngineStatic::getSupportedGames() const {
|
PlainGameList GlkMetaEngineDetection::getSupportedGames() const {
|
||||||
PlainGameList list;
|
PlainGameList list;
|
||||||
Glk::Adrift::AdriftMetaEngine::getSupportedGames(list);
|
Glk::Adrift::AdriftMetaEngine::getSupportedGames(list);
|
||||||
Glk::AdvSys::AdvSysMetaEngine::getSupportedGames(list);
|
Glk::AdvSys::AdvSysMetaEngine::getSupportedGames(list);
|
||||||
|
@ -142,7 +142,7 @@ PlainGameList GlkMetaEngineStatic::getSupportedGames() const {
|
||||||
Glk::GameDescriptor gd##SUBENGINE = Glk::SUBENGINE::SUBENGINE##MetaEngine::findGame(gameId); \
|
Glk::GameDescriptor gd##SUBENGINE = Glk::SUBENGINE::SUBENGINE##MetaEngine::findGame(gameId); \
|
||||||
if (gd##SUBENGINE._description) return gd##SUBENGINE
|
if (gd##SUBENGINE._description) return gd##SUBENGINE
|
||||||
|
|
||||||
PlainGameDescriptor GlkMetaEngineStatic::findGame(const char *gameId) const {
|
PlainGameDescriptor GlkMetaEngineDetection::findGame(const char *gameId) const {
|
||||||
FIND_GAME(Adrift);
|
FIND_GAME(Adrift);
|
||||||
FIND_GAME(AdvSys);
|
FIND_GAME(AdvSys);
|
||||||
FIND_GAME(Alan2);
|
FIND_GAME(Alan2);
|
||||||
|
@ -167,7 +167,7 @@ PlainGameDescriptor GlkMetaEngineStatic::findGame(const char *gameId) const {
|
||||||
|
|
||||||
#undef FIND_GAME
|
#undef FIND_GAME
|
||||||
|
|
||||||
DetectedGames GlkMetaEngineStatic::detectGames(const Common::FSList &fslist) const {
|
DetectedGames GlkMetaEngineDetection::detectGames(const Common::FSList &fslist) const {
|
||||||
#ifndef RELEASE_BUILD
|
#ifndef RELEASE_BUILD
|
||||||
// This is as good a place as any to detect multiple sub-engines using the same Ids
|
// This is as good a place as any to detect multiple sub-engines using the same Ids
|
||||||
detectClashes();
|
detectClashes();
|
||||||
|
@ -196,7 +196,7 @@ DetectedGames GlkMetaEngineStatic::detectGames(const Common::FSList &fslist) con
|
||||||
return detectedGames;
|
return detectedGames;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GlkMetaEngineStatic::detectClashes() const {
|
void GlkMetaEngineDetection::detectClashes() const {
|
||||||
Common::StringMap map;
|
Common::StringMap map;
|
||||||
Glk::Adrift::AdriftMetaEngine::detectClashes(map);
|
Glk::Adrift::AdriftMetaEngine::detectClashes(map);
|
||||||
Glk::AdvSys::AdvSysMetaEngine::detectClashes(map);
|
Glk::AdvSys::AdvSysMetaEngine::detectClashes(map);
|
||||||
|
@ -218,7 +218,7 @@ void GlkMetaEngineStatic::detectClashes() const {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
const ExtraGuiOptions GlkMetaEngineStatic::getExtraGuiOptions(const Common::String &) const {
|
const ExtraGuiOptions GlkMetaEngineDetection::getExtraGuiOptions(const Common::String &) const {
|
||||||
ExtraGuiOptions options;
|
ExtraGuiOptions options;
|
||||||
#if defined(USE_TTS)
|
#if defined(USE_TTS)
|
||||||
static const ExtraGuiOption ttsSpeakOptions = {
|
static const ExtraGuiOption ttsSpeakOptions = {
|
||||||
|
@ -239,4 +239,4 @@ const ExtraGuiOptions GlkMetaEngineStatic::getExtraGuiOptions(const Common::Stri
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(GLK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, GlkMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(GLK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, GlkMetaEngineDetection);
|
||||||
|
|
|
@ -29,9 +29,9 @@
|
||||||
/**
|
/**
|
||||||
* ScummVM Meta Engine interface
|
* ScummVM Meta Engine interface
|
||||||
*/
|
*/
|
||||||
class GlkMetaEngineStatic : public MetaEngineStatic {
|
class GlkMetaEngineDetection : public MetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
GlkMetaEngineStatic() : MetaEngineStatic() {}
|
GlkMetaEngineDetection() : MetaEngineDetection() {}
|
||||||
|
|
||||||
const char *getName() const override {
|
const char *getName() const override {
|
||||||
return "Glk";
|
return "Glk";
|
||||||
|
|
|
@ -145,7 +145,7 @@ Common::String GlkMetaEngine::findFileByGameId(const Common::String &gameId) con
|
||||||
folder.getChildren(fslist, Common::FSNode::kListFilesOnly);
|
folder.getChildren(fslist, Common::FSNode::kListFilesOnly);
|
||||||
|
|
||||||
// Get the matching MetaEngine for this Engine.
|
// Get the matching MetaEngine for this Engine.
|
||||||
const MetaEngineStatic &metaEngine = g_engine->getMetaEngineStatic();
|
const MetaEngineDetection &metaEngine = g_engine->getMetaEngineDetection();
|
||||||
|
|
||||||
// Iterate over the files
|
// Iterate over the files
|
||||||
for (Common::FSList::iterator i = fslist.begin(); i != fslist.end(); ++i) {
|
for (Common::FSList::iterator i = fslist.begin(); i != fslist.end(); ++i) {
|
||||||
|
|
|
@ -83,9 +83,9 @@ static const ADGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace Gnap
|
} // End of namespace Gnap
|
||||||
|
|
||||||
class GnapMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class GnapMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
GnapMetaEngineStatic() : AdvancedMetaEngineStatic(Gnap::gameDescriptions, sizeof(ADGameDescription), gnapGames) {
|
GnapMetaEngineDetection() : AdvancedMetaEngineDetection(Gnap::gameDescriptions, sizeof(ADGameDescription), gnapGames) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,4 +102,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(GNAP_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, GnapMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(GNAP_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, GnapMetaEngineDetection);
|
||||||
|
|
|
@ -27,9 +27,9 @@
|
||||||
#include "gob/detection/detection.h"
|
#include "gob/detection/detection.h"
|
||||||
#include "gob/detection/tables.h"
|
#include "gob/detection/tables.h"
|
||||||
|
|
||||||
class GobMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class GobMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
GobMetaEngineStatic();
|
GobMetaEngineDetection();
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
return "gob";
|
return "gob";
|
||||||
|
@ -47,13 +47,13 @@ private:
|
||||||
static const Gob::GOBGameDescription *detectOnceUponATime(const Common::FSList &fslist);
|
static const Gob::GOBGameDescription *detectOnceUponATime(const Common::FSList &fslist);
|
||||||
};
|
};
|
||||||
|
|
||||||
GobMetaEngineStatic::GobMetaEngineStatic() :
|
GobMetaEngineDetection::GobMetaEngineDetection() :
|
||||||
AdvancedMetaEngineStatic(Gob::gameDescriptions, sizeof(Gob::GOBGameDescription), gobGames) {
|
AdvancedMetaEngineDetection(Gob::gameDescriptions, sizeof(Gob::GOBGameDescription), gobGames) {
|
||||||
|
|
||||||
_guiOptions = GUIO1(GUIO_NOLAUNCHLOAD);
|
_guiOptions = GUIO1(GUIO_NOLAUNCHLOAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
ADDetectedGame GobMetaEngineStatic::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
ADDetectedGame GobMetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
||||||
ADDetectedGame detectedGame = detectGameFilebased(allFiles, Gob::fileBased);
|
ADDetectedGame detectedGame = detectGameFilebased(allFiles, Gob::fileBased);
|
||||||
if (!detectedGame.desc) {
|
if (!detectedGame.desc) {
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
|
@ -71,7 +71,7 @@ ADDetectedGame GobMetaEngineStatic::fallbackDetect(const FileMap &allFiles, cons
|
||||||
return detectedGame;
|
return detectedGame;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Gob::GOBGameDescription *GobMetaEngineStatic::detectOnceUponATime(const Common::FSList &fslist) {
|
const Gob::GOBGameDescription *GobMetaEngineDetection::detectOnceUponATime(const Common::FSList &fslist) {
|
||||||
// Add the game path to the search manager
|
// Add the game path to the search manager
|
||||||
SearchMan.clear();
|
SearchMan.clear();
|
||||||
SearchMan.addDirectory(fslist.begin()->getParent().getPath(), fslist.begin()->getParent());
|
SearchMan.addDirectory(fslist.begin()->getParent().getPath(), fslist.begin()->getParent());
|
||||||
|
@ -140,7 +140,7 @@ const Gob::GOBGameDescription *GobMetaEngineStatic::detectOnceUponATime(const Co
|
||||||
SearchMan.clear();
|
SearchMan.clear();
|
||||||
|
|
||||||
if ((gameType == Gob::kOnceUponATimeInvalid) || (platform == Gob::kOnceUponATimePlatformInvalid)) {
|
if ((gameType == Gob::kOnceUponATimeInvalid) || (platform == Gob::kOnceUponATimePlatformInvalid)) {
|
||||||
warning("GobMetaEngineStatic::detectOnceUponATime(): Detection failed (%d, %d)",
|
warning("GobMetaEngineDetection::detectOnceUponATime(): Detection failed (%d, %d)",
|
||||||
(int)gameType, (int)platform);
|
(int)gameType, (int)platform);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -148,12 +148,12 @@ const Gob::GOBGameDescription *GobMetaEngineStatic::detectOnceUponATime(const Co
|
||||||
return &Gob::fallbackOnceUpon[gameType][platform];
|
return &Gob::fallbackOnceUpon[gameType][platform];
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *GobMetaEngineStatic::getName() const {
|
const char *GobMetaEngineDetection::getName() const {
|
||||||
return "Gob";
|
return "Gob";
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *GobMetaEngineStatic::getOriginalCopyright() const {
|
const char *GobMetaEngineDetection::getOriginalCopyright() const {
|
||||||
return "Goblins Games (C) Coktel Vision";
|
return "Goblins Games (C) Coktel Vision";
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(GOB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, GobMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(GOB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, GobMetaEngineDetection);
|
||||||
|
|
|
@ -46,9 +46,9 @@ static const ADGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class GriffonMetaEngineStatic: public AdvancedMetaEngineStatic {
|
class GriffonMetaEngineDetection: public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
GriffonMetaEngineStatic() : AdvancedMetaEngineStatic(Griffon::gameDescriptions, sizeof(ADGameDescription), griffonGames) {
|
GriffonMetaEngineDetection() : AdvancedMetaEngineDetection(Griffon::gameDescriptions, sizeof(ADGameDescription), griffonGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -64,4 +64,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(GRIFFON_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, GriffonMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(GRIFFON_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, GriffonMetaEngineDetection);
|
||||||
|
|
|
@ -586,9 +586,9 @@ static const GrimGameDescription gameDescriptions[] = {
|
||||||
{ AD_TABLE_END_MARKER, GType_GRIM }
|
{ AD_TABLE_END_MARKER, GType_GRIM }
|
||||||
};
|
};
|
||||||
|
|
||||||
class GrimMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class GrimMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
GrimMetaEngineStatic() : AdvancedMetaEngineStatic(Grim::gameDescriptions, sizeof(Grim::GrimGameDescription), grimGames, gameGuiOptions) {
|
GrimMetaEngineDetection() : AdvancedMetaEngineDetection(Grim::gameDescriptions, sizeof(Grim::GrimGameDescription), grimGames, gameGuiOptions) {
|
||||||
_guiOptions = GUIO_NOMIDI;
|
_guiOptions = GUIO_NOMIDI;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -613,4 +613,4 @@ public:
|
||||||
} // End of namespace Grim
|
} // End of namespace Grim
|
||||||
|
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(GRIM_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Grim::GrimMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(GRIM_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Grim::GrimMetaEngineDetection);
|
||||||
|
|
|
@ -327,9 +327,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class GroovieMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class GroovieMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
GroovieMetaEngineStatic() : AdvancedMetaEngineStatic(gameDescriptions, sizeof(GroovieGameDescription), groovieGames, optionsList) {
|
GroovieMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(GroovieGameDescription), groovieGames, optionsList) {
|
||||||
// Use kADFlagUseExtraAsHint in order to distinguish the 11th hour from
|
// Use kADFlagUseExtraAsHint in order to distinguish the 11th hour from
|
||||||
// its "Making of" as well as the Clandestiny Trailer; they all share
|
// its "Making of" as well as the Clandestiny Trailer; they all share
|
||||||
// the same MD5.
|
// the same MD5.
|
||||||
|
@ -361,4 +361,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace Groovie
|
} // End of namespace Groovie
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(GROOVIE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Groovie::GroovieMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(GROOVIE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Groovie::GroovieMetaEngineDetection);
|
||||||
|
|
|
@ -131,9 +131,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class HDBMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class HDBMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
HDBMetaEngineStatic() : AdvancedMetaEngineStatic(HDB::gameDescriptions, sizeof(ADGameDescription), hdbGames, optionsList) {
|
HDBMetaEngineDetection() : AdvancedMetaEngineDetection(HDB::gameDescriptions, sizeof(ADGameDescription), hdbGames, optionsList) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -149,4 +149,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(HDB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, HDBMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(HDB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, HDBMetaEngineDetection);
|
||||||
|
|
|
@ -63,9 +63,9 @@ const static char *directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class HopkinsMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class HopkinsMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
HopkinsMetaEngineStatic() : AdvancedMetaEngineStatic(Hopkins::gameDescriptions, sizeof(Hopkins::HopkinsGameDescription), hopkinsGames, optionsList) {
|
HopkinsMetaEngineDetection() : AdvancedMetaEngineDetection(Hopkins::gameDescriptions, sizeof(Hopkins::HopkinsGameDescription), hopkinsGames, optionsList) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -84,4 +84,4 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(HOPKINS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, HopkinsMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(HOPKINS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, HopkinsMetaEngineDetection);
|
||||||
|
|
|
@ -113,9 +113,9 @@ static const HugoGameDescription gameDescriptions[] = {
|
||||||
{AD_TABLE_END_MARKER, kGameTypeNone}
|
{AD_TABLE_END_MARKER, kGameTypeNone}
|
||||||
};
|
};
|
||||||
|
|
||||||
class HugoMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class HugoMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
HugoMetaEngineStatic() : AdvancedMetaEngineStatic(gameDescriptions, sizeof(HugoGameDescription), hugoGames) {
|
HugoMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(HugoGameDescription), hugoGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -133,4 +133,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace Hugo
|
} // End of namespace Hugo
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(HUGO_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Hugo::HugoMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(HUGO_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Hugo::HugoMetaEngineDetection);
|
||||||
|
|
|
@ -63,9 +63,9 @@ static const ADGameDescription gameDescriptions[] = {
|
||||||
AD_TABLE_END_MARKER
|
AD_TABLE_END_MARKER
|
||||||
};
|
};
|
||||||
|
|
||||||
class IcbMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class IcbMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
IcbMetaEngineStatic() : AdvancedMetaEngineStatic(gameDescriptions, sizeof(ADGameDescription), icbGames) {
|
IcbMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(ADGameDescription), icbGames) {
|
||||||
_guiOptions = GUIO_NOMIDI;
|
_guiOptions = GUIO_NOMIDI;
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
|
@ -82,4 +82,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace ICB
|
} // End of namespace ICB
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(ICB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ICB::IcbMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(ICB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ICB::IcbMetaEngineDetection);
|
||||||
|
|
|
@ -110,9 +110,9 @@ static const char * const directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class IllusionsMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class IllusionsMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
IllusionsMetaEngineStatic() : AdvancedMetaEngineStatic(Illusions::gameDescriptions, sizeof(Illusions::IllusionsGameDescription), illusionsGames) {
|
IllusionsMetaEngineDetection() : AdvancedMetaEngineDetection(Illusions::gameDescriptions, sizeof(Illusions::IllusionsGameDescription), illusionsGames) {
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -130,4 +130,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(ILLUSIONS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, IllusionsMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(ILLUSIONS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, IllusionsMetaEngineDetection);
|
||||||
|
|
|
@ -72,9 +72,9 @@ static const ADGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace Kingdom
|
} // End of namespace Kingdom
|
||||||
|
|
||||||
class KingdomMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class KingdomMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
KingdomMetaEngineStatic() : AdvancedMetaEngineStatic(Kingdom::gameDescriptions, sizeof(ADGameDescription), kingdomGames) {
|
KingdomMetaEngineDetection() : AdvancedMetaEngineDetection(Kingdom::gameDescriptions, sizeof(ADGameDescription), kingdomGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -90,4 +90,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(KINGDOM_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, KingdomMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(KINGDOM_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, KingdomMetaEngineDetection);
|
||||||
|
|
|
@ -144,9 +144,9 @@ const ADExtraGuiOptionsMap gameGuiOptions[] = {
|
||||||
|
|
||||||
} // End of anonymous namespace
|
} // End of anonymous namespace
|
||||||
|
|
||||||
class KyraMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class KyraMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
KyraMetaEngineStatic() : AdvancedMetaEngineStatic(adGameDescs, sizeof(KYRAGameDescription), gameList, gameGuiOptions) {
|
KyraMetaEngineDetection() : AdvancedMetaEngineDetection(adGameDescs, sizeof(KYRAGameDescription), gameList, gameGuiOptions) {
|
||||||
_md5Bytes = 1024 * 1024;
|
_md5Bytes = 1024 * 1024;
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
|
@ -172,4 +172,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(KYRA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, KyraMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(KYRA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, KyraMetaEngineDetection);
|
||||||
|
|
|
@ -101,9 +101,9 @@ static const char *const directoryGlobs[] = {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class LabMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class LabMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
LabMetaEngineStatic() : AdvancedMetaEngineStatic(labDescriptions, sizeof(ADGameDescription), lab_setting) {
|
LabMetaEngineDetection() : AdvancedMetaEngineDetection(labDescriptions, sizeof(ADGameDescription), lab_setting) {
|
||||||
_maxScanDepth = 4;
|
_maxScanDepth = 4;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
_flags = kADFlagUseExtraAsHint;
|
_flags = kADFlagUseExtraAsHint;
|
||||||
|
@ -122,4 +122,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(LAB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, LabMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(LAB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, LabMetaEngineDetection);
|
||||||
|
|
|
@ -208,9 +208,9 @@ static const char *const directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class LastExpressMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class LastExpressMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
LastExpressMetaEngineStatic() : AdvancedMetaEngineStatic(gameDescriptions, sizeof(ADGameDescription), lastExpressGames) {
|
LastExpressMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(ADGameDescription), lastExpressGames) {
|
||||||
_guiOptions = GUIO2(GUIO_NOSUBTITLES, GUIO_NOSFX);
|
_guiOptions = GUIO2(GUIO_NOSUBTITLES, GUIO_NOSFX);
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
|
@ -231,4 +231,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace LastExpress
|
} // End of namespace LastExpress
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(LASTEXPRESS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, LastExpress::LastExpressMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(LASTEXPRESS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, LastExpress::LastExpressMetaEngineDetection);
|
||||||
|
|
|
@ -104,9 +104,9 @@ static const LilliputGameDescription gameDescriptions[] = {
|
||||||
{AD_TABLE_END_MARKER, kGameTypeNone}
|
{AD_TABLE_END_MARKER, kGameTypeNone}
|
||||||
};
|
};
|
||||||
|
|
||||||
class LilliputMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class LilliputMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
LilliputMetaEngineStatic() : AdvancedMetaEngineStatic(gameDescriptions, sizeof(LilliputGameDescription), lilliputGames) {
|
LilliputMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(LilliputGameDescription), lilliputGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -124,4 +124,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace Lilliput
|
} // End of namespace Lilliput
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(LILLIPUT_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Lilliput::LilliputMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(LILLIPUT_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Lilliput::LilliputMetaEngineDetection);
|
||||||
|
|
|
@ -202,9 +202,9 @@ static const LureGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace Lure
|
} // End of namespace Lure
|
||||||
|
|
||||||
class LureMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class LureMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
LureMetaEngineStatic() : AdvancedMetaEngineStatic(Lure::gameDescriptions, sizeof(Lure::LureGameDescription), lureGames
|
LureMetaEngineDetection() : AdvancedMetaEngineDetection(Lure::gameDescriptions, sizeof(Lure::LureGameDescription), lureGames
|
||||||
#ifdef USE_TTS
|
#ifdef USE_TTS
|
||||||
, optionsList
|
, optionsList
|
||||||
#endif
|
#endif
|
||||||
|
@ -230,4 +230,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(LURE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, LureMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(LURE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, LureMetaEngineDetection);
|
||||||
|
|
|
@ -50,9 +50,9 @@ namespace MacVenture {
|
||||||
|
|
||||||
SaveStateDescriptor loadMetaData(Common::SeekableReadStream *s, int slot, bool skipThumbnail = true);
|
SaveStateDescriptor loadMetaData(Common::SeekableReadStream *s, int slot, bool skipThumbnail = true);
|
||||||
|
|
||||||
class MacVentureMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class MacVentureMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
MacVentureMetaEngineStatic() : AdvancedMetaEngineStatic(MacVenture::gameDescriptions, sizeof(ADGameDescription), macventureGames) {
|
MacVentureMetaEngineDetection() : AdvancedMetaEngineDetection(MacVenture::gameDescriptions, sizeof(ADGameDescription), macventureGames) {
|
||||||
_guiOptions = GUIO1(GUIO_NOMIDI);
|
_guiOptions = GUIO1(GUIO_NOMIDI);
|
||||||
_md5Bytes = 5000000; // TODO: Upper limit, adjust it once all games are added
|
_md5Bytes = 5000000; // TODO: Upper limit, adjust it once all games are added
|
||||||
}
|
}
|
||||||
|
@ -72,4 +72,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace MacVenture
|
} // End of namespace MacVenture
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(MACVENTURE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MacVenture::MacVentureMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(MACVENTURE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MacVenture::MacVentureMetaEngineDetection);
|
||||||
|
|
|
@ -35,9 +35,9 @@ static const PlainGameDescriptor madeGames[] = {
|
||||||
|
|
||||||
#include "made/detection_tables.h"
|
#include "made/detection_tables.h"
|
||||||
|
|
||||||
class MadeMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class MadeMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
MadeMetaEngineStatic() : AdvancedMetaEngineStatic(Made::gameDescriptions, sizeof(Made::MadeGameDescription), madeGames) {
|
MadeMetaEngineDetection() : AdvancedMetaEngineDetection(Made::gameDescriptions, sizeof(Made::MadeGameDescription), madeGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -55,7 +55,7 @@ public:
|
||||||
ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
|
ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
ADDetectedGame MadeMetaEngineStatic::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
ADDetectedGame MadeMetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
||||||
// Set the default values for the fallback descriptor's ADGameDescription part.
|
// Set the default values for the fallback descriptor's ADGameDescription part.
|
||||||
Made::g_fallbackDesc.desc.language = Common::UNK_LANG;
|
Made::g_fallbackDesc.desc.language = Common::UNK_LANG;
|
||||||
Made::g_fallbackDesc.desc.platform = Common::kPlatformDOS;
|
Made::g_fallbackDesc.desc.platform = Common::kPlatformDOS;
|
||||||
|
@ -70,4 +70,4 @@ ADDetectedGame MadeMetaEngineStatic::fallbackDetect(const FileMap &allFiles, con
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(MADE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MadeMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(MADE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MadeMetaEngineDetection);
|
||||||
|
|
|
@ -114,9 +114,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class MADSMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class MADSMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
MADSMetaEngineStatic() : AdvancedMetaEngineStatic(MADS::gameDescriptions, sizeof(MADS::MADSGameDescription), MADSGames, optionsList) {
|
MADSMetaEngineDetection() : AdvancedMetaEngineDetection(MADS::gameDescriptions, sizeof(MADS::MADSGameDescription), MADSGames, optionsList) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,4 +133,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(MADS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MADSMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(MADS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MADSMetaEngineDetection);
|
||||||
|
|
|
@ -334,7 +334,7 @@ SaveStateList MetaEngine::listSaves(const char *target, bool saveMode) const {
|
||||||
return saveList;
|
return saveList;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MetaEngineStatic::registerDefaultSettings(const Common::String &) const {
|
void MetaEngineDetection::registerDefaultSettings(const Common::String &) const {
|
||||||
// Note that as we don't pass the target to getExtraGuiOptions
|
// Note that as we don't pass the target to getExtraGuiOptions
|
||||||
// we get all the options, even those not relevant for the current
|
// we get all the options, even those not relevant for the current
|
||||||
// game. This is necessary because some engines unconditionally
|
// game. This is necessary because some engines unconditionally
|
||||||
|
@ -345,7 +345,7 @@ void MetaEngineStatic::registerDefaultSettings(const Common::String &) const {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI::OptionsContainerWidget *MetaEngineStatic::buildEngineOptionsWidgetStatic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const {
|
GUI::OptionsContainerWidget *MetaEngineDetection::buildEngineOptionsWidgetStatic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const {
|
||||||
const ExtraGuiOptions engineOptions = getExtraGuiOptions(target);
|
const ExtraGuiOptions engineOptions = getExtraGuiOptions(target);
|
||||||
if (engineOptions.empty()) {
|
if (engineOptions.empty()) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -96,15 +96,15 @@ struct ExtendedSavegameHeader {
|
||||||
/**
|
/**
|
||||||
* A meta engine static is essentially a factory for Engine instances with the
|
* A meta engine static is essentially a factory for Engine instances with the
|
||||||
* added ability of listing and detecting supported games.
|
* added ability of listing and detecting supported games.
|
||||||
* Every engine "plugin" provides a hook to get an instance of a MetaEngineStatic
|
* Every engine "plugin" provides a hook to get an instance of a MetaEngineDetection
|
||||||
* subclass for that "engine plugin". E.g. SCUMM povides ScummMetaEngineStatic.
|
* subclass for that "engine plugin". E.g. SCUMM povides ScummMetaEngineDetection.
|
||||||
* This is then in turn used by the frontend code to detect games,
|
* This is then in turn used by the frontend code to detect games,
|
||||||
* and other useful functionality. To instantiate actual Engine objects,
|
* and other useful functionality. To instantiate actual Engine objects,
|
||||||
* See the class MetaEngine below.
|
* See the class MetaEngine below.
|
||||||
*/
|
*/
|
||||||
class MetaEngineStatic : public PluginObject {
|
class MetaEngineDetection : public PluginObject {
|
||||||
public:
|
public:
|
||||||
virtual ~MetaEngineStatic() {}
|
virtual ~MetaEngineDetection() {}
|
||||||
|
|
||||||
/** Get the engine ID */
|
/** Get the engine ID */
|
||||||
virtual const char *getEngineId() const = 0;
|
virtual const char *getEngineId() const = 0;
|
||||||
|
|
|
@ -76,9 +76,9 @@ static const char *directoryGlobs[] = {
|
||||||
nullptr
|
nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
class MohawkMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class MohawkMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
MohawkMetaEngineStatic() : AdvancedMetaEngineStatic(Mohawk::gameDescriptions, sizeof(Mohawk::MohawkGameDescription), mohawkGames) {
|
MohawkMetaEngineDetection() : AdvancedMetaEngineDetection(Mohawk::gameDescriptions, sizeof(Mohawk::MohawkGameDescription), mohawkGames) {
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -104,8 +104,8 @@ public:
|
||||||
void registerDefaultSettings(const Common::String &target) const override;
|
void registerDefaultSettings(const Common::String &target) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
DetectedGame MohawkMetaEngineStatic::toDetectedGame(const ADDetectedGame &adGame) const {
|
DetectedGame MohawkMetaEngineDetection::toDetectedGame(const ADDetectedGame &adGame) const {
|
||||||
DetectedGame game = AdvancedMetaEngineStatic::toDetectedGame(adGame);
|
DetectedGame game = AdvancedMetaEngineDetection::toDetectedGame(adGame);
|
||||||
|
|
||||||
// The AdvancedDetector model only allows specifying a single supported
|
// The AdvancedDetector model only allows specifying a single supported
|
||||||
// game language. The 25th anniversary edition Myst games are multilanguage.
|
// game language. The 25th anniversary edition Myst games are multilanguage.
|
||||||
|
@ -132,7 +132,7 @@ DetectedGame MohawkMetaEngineStatic::toDetectedGame(const ADDetectedGame &adGame
|
||||||
return game;
|
return game;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MohawkMetaEngineStatic::registerDefaultSettings(const Common::String &target) const {
|
void MohawkMetaEngineDetection::registerDefaultSettings(const Common::String &target) const {
|
||||||
Common::String gameId = ConfMan.get("gameid", target);
|
Common::String gameId = ConfMan.get("gameid", target);
|
||||||
|
|
||||||
if (gameId == "myst" || gameId == "makingofmyst") {
|
if (gameId == "myst" || gameId == "makingofmyst") {
|
||||||
|
@ -143,7 +143,7 @@ void MohawkMetaEngineStatic::registerDefaultSettings(const Common::String &targe
|
||||||
return Mohawk::MohawkMetaEngine_Riven::registerDefaultSettings();
|
return Mohawk::MohawkMetaEngine_Riven::registerDefaultSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
return AdvancedMetaEngineStatic::registerDefaultSettings(target);
|
return AdvancedMetaEngineDetection::registerDefaultSettings(target);
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(MOHAWK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MohawkMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(MOHAWK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MohawkMetaEngineDetection);
|
||||||
|
|
|
@ -32,9 +32,9 @@ static const PlainGameDescriptor MortevielleGame[] = {
|
||||||
|
|
||||||
#include "mortevielle/detection_tables.h"
|
#include "mortevielle/detection_tables.h"
|
||||||
|
|
||||||
class MortevielleMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class MortevielleMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
MortevielleMetaEngineStatic() : AdvancedMetaEngineStatic(Mortevielle::MortevielleGameDescriptions, sizeof(Mortevielle::MortevielleGameDescription),
|
MortevielleMetaEngineDetection() : AdvancedMetaEngineDetection(Mortevielle::MortevielleGameDescriptions, sizeof(Mortevielle::MortevielleGameDescription),
|
||||||
MortevielleGame) {
|
MortevielleGame) {
|
||||||
_md5Bytes = 512;
|
_md5Bytes = 512;
|
||||||
// Use kADFlagUseExtraAsHint to distinguish between original and improved versions
|
// Use kADFlagUseExtraAsHint to distinguish between original and improved versions
|
||||||
|
@ -56,4 +56,4 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(MORTEVIELLE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MortevielleMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(MORTEVIELLE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MortevielleMetaEngineDetection);
|
||||||
|
|
|
@ -79,9 +79,9 @@ static const char *const mutationofjbDirectoryGlobs[] = {
|
||||||
nullptr
|
nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
class MutationOfJBMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class MutationOfJBMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
MutationOfJBMetaEngineStatic() : AdvancedMetaEngineStatic(mutationofjbDescriptions, sizeof(ADGameDescription), mutationofjbGames) {
|
MutationOfJBMetaEngineDetection() : AdvancedMetaEngineDetection(mutationofjbDescriptions, sizeof(ADGameDescription), mutationofjbGames) {
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = mutationofjbDirectoryGlobs;
|
_directoryGlobs = mutationofjbDirectoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -99,4 +99,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(MUTATIONOFJB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MutationOfJBMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(MUTATIONOFJB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, MutationOfJBMetaEngineDetection);
|
||||||
|
|
|
@ -189,9 +189,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class Myst3MetaEngineStatic : public AdvancedMetaEngineStatic {
|
class Myst3MetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
Myst3MetaEngineStatic() : AdvancedMetaEngineStatic(gameDescriptions, sizeof(Myst3GameDescription), myst3Games, optionsList) {
|
Myst3MetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(Myst3GameDescription), myst3Games, optionsList) {
|
||||||
_guiOptions = GUIO5(GUIO_NOMIDI, GUIO_NOSFX, GUIO_NOSPEECH, GUIO_NOSUBTITLES, GAMEOPTION_WIDESCREEN_MOD);
|
_guiOptions = GUIO5(GUIO_NOMIDI, GUIO_NOSFX, GUIO_NOSPEECH, GUIO_NOSUBTITLES, GAMEOPTION_WIDESCREEN_MOD);
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
|
@ -212,4 +212,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace Myst3
|
} // End of namespace Myst3
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(MYST3_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Myst3::Myst3MetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(MYST3_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Myst3::Myst3MetaEngineDetection);
|
||||||
|
|
|
@ -130,9 +130,9 @@ static const ExtraGuiOption neverhoodExtraGuiOption3 = {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class NeverhoodMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class NeverhoodMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
NeverhoodMetaEngineStatic() : AdvancedMetaEngineStatic(Neverhood::gameDescriptions, sizeof(ADGameDescription), neverhoodGames) {
|
NeverhoodMetaEngineDetection() : AdvancedMetaEngineDetection(Neverhood::gameDescriptions, sizeof(ADGameDescription), neverhoodGames) {
|
||||||
_guiOptions = GUIO2(GUIO_NOSUBTITLES, GUIO_NOMIDI);
|
_guiOptions = GUIO2(GUIO_NOSUBTITLES, GUIO_NOMIDI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,7 +151,7 @@ public:
|
||||||
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
const ExtraGuiOptions NeverhoodMetaEngineStatic::getExtraGuiOptions(const Common::String &target) const {
|
const ExtraGuiOptions NeverhoodMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
|
||||||
ExtraGuiOptions options;
|
ExtraGuiOptions options;
|
||||||
options.push_back(neverhoodExtraGuiOption1);
|
options.push_back(neverhoodExtraGuiOption1);
|
||||||
options.push_back(neverhoodExtraGuiOption2);
|
options.push_back(neverhoodExtraGuiOption2);
|
||||||
|
@ -159,4 +159,4 @@ const ExtraGuiOptions NeverhoodMetaEngineStatic::getExtraGuiOptions(const Common
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(NEVERHOOD_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, NeverhoodMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(NEVERHOOD_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, NeverhoodMetaEngineDetection);
|
||||||
|
|
|
@ -141,9 +141,9 @@ static const NGIGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace NGI
|
} // End of namespace NGI
|
||||||
|
|
||||||
class NGIMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class NGIMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
NGIMetaEngineStatic() : AdvancedMetaEngineStatic(NGI::gameDescriptions, sizeof(NGI::NGIGameDescription), ngiGames) {
|
NGIMetaEngineDetection() : AdvancedMetaEngineDetection(NGI::gameDescriptions, sizeof(NGI::NGIGameDescription), ngiGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -159,4 +159,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(NGI_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, NGIMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(NGI_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, NGIMetaEngineDetection);
|
||||||
|
|
|
@ -201,9 +201,9 @@ static const PARALLACTIONGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ParallactionMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class ParallactionMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
ParallactionMetaEngineStatic() : AdvancedMetaEngineStatic(Parallaction::gameDescriptions, sizeof(Parallaction::PARALLACTIONGameDescription), parallactionGames) {
|
ParallactionMetaEngineDetection() : AdvancedMetaEngineDetection(Parallaction::gameDescriptions, sizeof(Parallaction::PARALLACTIONGameDescription), parallactionGames) {
|
||||||
_guiOptions = GUIO1(GUIO_NOLAUNCHLOAD);
|
_guiOptions = GUIO1(GUIO_NOLAUNCHLOAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,4 +220,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(PARALLACTION_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ParallactionMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(PARALLACTION_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ParallactionMetaEngineDetection);
|
||||||
|
|
|
@ -91,9 +91,9 @@ static const PegasusGameDescription gameDescriptions[] = {
|
||||||
} // End of namespace Pegasus
|
} // End of namespace Pegasus
|
||||||
|
|
||||||
|
|
||||||
class PegasusMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class PegasusMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
PegasusMetaEngineStatic() : AdvancedMetaEngineStatic(Pegasus::gameDescriptions, sizeof(Pegasus::PegasusGameDescription), pegasusGames) {
|
PegasusMetaEngineDetection() : AdvancedMetaEngineDetection(Pegasus::gameDescriptions, sizeof(Pegasus::PegasusGameDescription), pegasusGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -109,4 +109,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(PEGASUS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PegasusMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(PEGASUS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PegasusMetaEngineDetection);
|
||||||
|
|
|
@ -33,9 +33,9 @@ static const PlainGameDescriptor petkaGames[] = {
|
||||||
|
|
||||||
#include "petka/detection_tables.h"
|
#include "petka/detection_tables.h"
|
||||||
|
|
||||||
class PetkaMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class PetkaMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
PetkaMetaEngineStatic() : AdvancedMetaEngineStatic(Petka::gameDescriptions, sizeof(ADGameDescription), petkaGames) {
|
PetkaMetaEngineDetection() : AdvancedMetaEngineDetection(Petka::gameDescriptions, sizeof(ADGameDescription), petkaGames) {
|
||||||
_gameIds = petkaGames;
|
_gameIds = petkaGames;
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
}
|
}
|
||||||
|
@ -53,4 +53,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(PETKA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PetkaMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(PETKA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PetkaMetaEngineDetection);
|
||||||
|
|
|
@ -38,9 +38,9 @@ static const char *directoryGlobs[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class PinkMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class PinkMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
PinkMetaEngineStatic() : AdvancedMetaEngineStatic(Pink::gameDescriptions, sizeof(ADGameDescription), pinkGames) {
|
PinkMetaEngineDetection() : AdvancedMetaEngineDetection(Pink::gameDescriptions, sizeof(ADGameDescription), pinkGames) {
|
||||||
_gameIds = pinkGames;
|
_gameIds = pinkGames;
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
|
@ -59,4 +59,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(PINK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PinkMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(PINK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PinkMetaEngineDetection);
|
||||||
|
|
|
@ -62,9 +62,9 @@ static const ADGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace Plumbers
|
} // End of namespace Plumbers
|
||||||
|
|
||||||
class PlumbersMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class PlumbersMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
PlumbersMetaEngineStatic() : AdvancedMetaEngineStatic(Plumbers::gameDescriptions, sizeof(ADGameDescription), plumbersGames) {
|
PlumbersMetaEngineDetection() : AdvancedMetaEngineDetection(Plumbers::gameDescriptions, sizeof(ADGameDescription), plumbersGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -80,4 +80,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(PLUMBERS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PlumbersMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(PLUMBERS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PlumbersMetaEngineDetection);
|
||||||
|
|
|
@ -121,9 +121,9 @@ const static char *directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class PrinceMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class PrinceMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
PrinceMetaEngineStatic() : AdvancedMetaEngineStatic(Prince::gameDescriptions, sizeof(Prince::PrinceGameDescription), princeGames) {
|
PrinceMetaEngineDetection() : AdvancedMetaEngineDetection(Prince::gameDescriptions, sizeof(Prince::PrinceGameDescription), princeGames) {
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -141,4 +141,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(PRINCE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PrinceMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(PRINCE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, PrinceMetaEngineDetection);
|
||||||
|
|
|
@ -468,9 +468,9 @@ static const QueenGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace Queen
|
} // End of namespace Queen
|
||||||
|
|
||||||
class QueenMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class QueenMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
QueenMetaEngineStatic() : AdvancedMetaEngineStatic(Queen::gameDescriptions, sizeof(Queen::QueenGameDescription), queenGames, optionsList) {
|
QueenMetaEngineDetection() : AdvancedMetaEngineDetection(Queen::gameDescriptions, sizeof(Queen::QueenGameDescription), queenGames, optionsList) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -488,7 +488,7 @@ public:
|
||||||
ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
|
ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
ADDetectedGame QueenMetaEngineStatic::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
ADDetectedGame QueenMetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
||||||
static ADGameDescription desc;
|
static ADGameDescription desc;
|
||||||
|
|
||||||
// Iterate over all files in the given directory
|
// Iterate over all files in the given directory
|
||||||
|
@ -532,4 +532,4 @@ ADDetectedGame QueenMetaEngineStatic::fallbackDetect(const FileMap &allFiles, co
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(QUEEN_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, QueenMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(QUEEN_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, QueenMetaEngineDetection);
|
||||||
|
|
|
@ -37,9 +37,9 @@ static const PlainGameDescriptor sagaGames[] = {
|
||||||
|
|
||||||
#include "saga/detection_tables.h"
|
#include "saga/detection_tables.h"
|
||||||
|
|
||||||
class SagaMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class SagaMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
SagaMetaEngineStatic() : AdvancedMetaEngineStatic(Saga::gameDescriptions, sizeof(Saga::SAGAGameDescription), sagaGames) {
|
SagaMetaEngineDetection() : AdvancedMetaEngineDetection(Saga::gameDescriptions, sizeof(Saga::SAGAGameDescription), sagaGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -73,4 +73,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SAGA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SagaMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SAGA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SagaMetaEngineDetection);
|
||||||
|
|
|
@ -403,9 +403,9 @@ bool OptionsWidget::save() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
class SciMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class SciMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
SciMetaEngineStatic() : AdvancedMetaEngineStatic(Sci::SciGameDescriptions, sizeof(ADGameDescription), s_sciGameTitles, optionsList) {
|
SciMetaEngineDetection() : AdvancedMetaEngineDetection(Sci::SciGameDescriptions, sizeof(ADGameDescription), s_sciGameTitles, optionsList) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
_matchFullPaths = true;
|
_matchFullPaths = true;
|
||||||
|
@ -434,18 +434,18 @@ public:
|
||||||
GUI::OptionsContainerWidget *buildEngineOptionsWidgetStatic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const override;
|
GUI::OptionsContainerWidget *buildEngineOptionsWidgetStatic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
void SciMetaEngineStatic::registerDefaultSettings(const Common::String &target) const {
|
void SciMetaEngineDetection::registerDefaultSettings(const Common::String &target) const {
|
||||||
AdvancedMetaEngineStatic::registerDefaultSettings(target);
|
AdvancedMetaEngineDetection::registerDefaultSettings(target);
|
||||||
|
|
||||||
for (const PopUpOptionsMap *entry = popUpOptionsList; entry->guioFlag; ++entry)
|
for (const PopUpOptionsMap *entry = popUpOptionsList; entry->guioFlag; ++entry)
|
||||||
ConfMan.registerDefault(entry->configOption, entry->defaultState);
|
ConfMan.registerDefault(entry->configOption, entry->defaultState);
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI::OptionsContainerWidget *SciMetaEngineStatic::buildEngineOptionsWidgetStatic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const {
|
GUI::OptionsContainerWidget *SciMetaEngineDetection::buildEngineOptionsWidgetStatic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const {
|
||||||
return new OptionsWidget(boss, name, target);
|
return new OptionsWidget(boss, name, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
ADDetectedGame SciMetaEngineStatic::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
ADDetectedGame SciMetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
||||||
/**
|
/**
|
||||||
* Fallback detection for Sci heavily depends on engine resources, so it's not possible
|
* Fallback detection for Sci heavily depends on engine resources, so it's not possible
|
||||||
* to use them without the engine present in a clean way.
|
* to use them without the engine present in a clean way.
|
||||||
|
@ -478,4 +478,4 @@ ADDetectedGame SciMetaEngineStatic::fallbackDetect(const FileMap &allFiles, cons
|
||||||
|
|
||||||
} // End of namespace Sci
|
} // End of namespace Sci
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SCI_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Sci::SciMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SCI_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Sci::SciMetaEngineDetection);
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
|
|
||||||
using namespace Scumm;
|
using namespace Scumm;
|
||||||
|
|
||||||
class ScummMetaEngineStatic : public MetaEngineStatic {
|
class ScummMetaEngineDetection : public MetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
return "scumm";
|
return "scumm";
|
||||||
|
@ -70,11 +70,11 @@ public:
|
||||||
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
PlainGameList ScummMetaEngineStatic::getSupportedGames() const {
|
PlainGameList ScummMetaEngineDetection::getSupportedGames() const {
|
||||||
return PlainGameList(gameDescriptions);
|
return PlainGameList(gameDescriptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
PlainGameDescriptor ScummMetaEngineStatic::findGame(const char *gameid) const {
|
PlainGameDescriptor ScummMetaEngineDetection::findGame(const char *gameid) const {
|
||||||
return Engines::findGameID(gameid, gameDescriptions, obsoleteGameIDsTable);
|
return Engines::findGameID(gameid, gameDescriptions, obsoleteGameIDsTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ static Common::String generatePreferredTarget(const DetectorResult &x) {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
DetectedGames ScummMetaEngineStatic::detectGames(const Common::FSList &fslist) const {
|
DetectedGames ScummMetaEngineDetection::detectGames(const Common::FSList &fslist) const {
|
||||||
DetectedGames detectedGames;
|
DetectedGames detectedGames;
|
||||||
Common::List<DetectorResult> results;
|
Common::List<DetectorResult> results;
|
||||||
::detectGames(fslist, results, 0);
|
::detectGames(fslist, results, 0);
|
||||||
|
@ -129,7 +129,7 @@ DetectedGames ScummMetaEngineStatic::detectGames(const Common::FSList &fslist) c
|
||||||
return detectedGames;
|
return detectedGames;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *ScummMetaEngineStatic::getName() const {
|
const char *ScummMetaEngineDetection::getName() const {
|
||||||
return "SCUMM ["
|
return "SCUMM ["
|
||||||
|
|
||||||
#if defined(ENABLE_SCUMM_7_8) && defined(ENABLE_HE)
|
#if defined(ENABLE_SCUMM_7_8) && defined(ENABLE_HE)
|
||||||
|
@ -149,7 +149,7 @@ const char *ScummMetaEngineStatic::getName() const {
|
||||||
"]";
|
"]";
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *ScummMetaEngineStatic::getOriginalCopyright() const {
|
const char *ScummMetaEngineDetection::getOriginalCopyright() const {
|
||||||
return "LucasArts SCUMM Games (C) LucasArts\n"
|
return "LucasArts SCUMM Games (C) LucasArts\n"
|
||||||
"Humongous SCUMM Games (C) Humongous";
|
"Humongous SCUMM Games (C) Humongous";
|
||||||
}
|
}
|
||||||
|
@ -168,7 +168,7 @@ static const ExtraGuiOption mmnesObjectLabelsOption = {
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
|
|
||||||
const ExtraGuiOptions ScummMetaEngineStatic::getExtraGuiOptions(const Common::String &target) const {
|
const ExtraGuiOptions ScummMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
|
||||||
ExtraGuiOptions options;
|
ExtraGuiOptions options;
|
||||||
if (target.empty() || ConfMan.get("gameid", target) == "comi") {
|
if (target.empty() || ConfMan.get("gameid", target) == "comi") {
|
||||||
options.push_back(comiObjectLabelsOption);
|
options.push_back(comiObjectLabelsOption);
|
||||||
|
@ -179,4 +179,4 @@ const ExtraGuiOptions ScummMetaEngineStatic::getExtraGuiOptions(const Common::St
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SCUMM_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ScummMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SCUMM_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ScummMetaEngineDetection);
|
||||||
|
|
|
@ -121,9 +121,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
|
|
||||||
#include "sherlock/detection_tables.h"
|
#include "sherlock/detection_tables.h"
|
||||||
|
|
||||||
class SherlockMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class SherlockMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
SherlockMetaEngineStatic() : AdvancedMetaEngineStatic(Sherlock::gameDescriptions, sizeof(Sherlock::SherlockGameDescription),
|
SherlockMetaEngineDetection() : AdvancedMetaEngineDetection(Sherlock::gameDescriptions, sizeof(Sherlock::SherlockGameDescription),
|
||||||
sherlockGames, optionsList) {}
|
sherlockGames, optionsList) {}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -140,4 +140,4 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SHERLOCK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SherlockMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SHERLOCK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SherlockMetaEngineDetection);
|
||||||
|
|
|
@ -65,7 +65,7 @@ static const SkyVersion skyVersions[] = {
|
||||||
{ 0, 0, 0, 0, 0 }
|
{ 0, 0, 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
class SkyMetaEngineStatic : public MetaEngineStatic {
|
class SkyMetaEngineDetection : public MetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
const char *getName() const override;
|
const char *getName() const override;
|
||||||
const char *getOriginalCopyright() const override;
|
const char *getOriginalCopyright() const override;
|
||||||
|
@ -80,21 +80,21 @@ public:
|
||||||
DetectedGames detectGames(const Common::FSList &fslist) const override;
|
DetectedGames detectGames(const Common::FSList &fslist) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *SkyMetaEngineStatic::getName() const {
|
const char *SkyMetaEngineDetection::getName() const {
|
||||||
return "Beneath a Steel Sky";
|
return "Beneath a Steel Sky";
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *SkyMetaEngineStatic::getOriginalCopyright() const {
|
const char *SkyMetaEngineDetection::getOriginalCopyright() const {
|
||||||
return "Beneath a Steel Sky (C) Revolution";
|
return "Beneath a Steel Sky (C) Revolution";
|
||||||
}
|
}
|
||||||
|
|
||||||
PlainGameList SkyMetaEngineStatic::getSupportedGames() const {
|
PlainGameList SkyMetaEngineDetection::getSupportedGames() const {
|
||||||
PlainGameList games;
|
PlainGameList games;
|
||||||
games.push_back(skySetting);
|
games.push_back(skySetting);
|
||||||
return games;
|
return games;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ExtraGuiOptions SkyMetaEngineStatic::getExtraGuiOptions(const Common::String &target) const {
|
const ExtraGuiOptions SkyMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
|
||||||
Common::String guiOptions;
|
Common::String guiOptions;
|
||||||
ExtraGuiOptions options;
|
ExtraGuiOptions options;
|
||||||
|
|
||||||
|
@ -113,13 +113,13 @@ const ExtraGuiOptions SkyMetaEngineStatic::getExtraGuiOptions(const Common::Stri
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlainGameDescriptor SkyMetaEngineStatic::findGame(const char *gameid) const {
|
PlainGameDescriptor SkyMetaEngineDetection::findGame(const char *gameid) const {
|
||||||
if (0 == scumm_stricmp(gameid, skySetting.gameId))
|
if (0 == scumm_stricmp(gameid, skySetting.gameId))
|
||||||
return skySetting;
|
return skySetting;
|
||||||
return PlainGameDescriptor::empty();
|
return PlainGameDescriptor::empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
DetectedGames SkyMetaEngineStatic::detectGames(const Common::FSList &fslist) const {
|
DetectedGames SkyMetaEngineDetection::detectGames(const Common::FSList &fslist) const {
|
||||||
DetectedGames detectedGames;
|
DetectedGames detectedGames;
|
||||||
bool hasSkyDsk = false;
|
bool hasSkyDsk = false;
|
||||||
bool hasSkyDnr = false;
|
bool hasSkyDnr = false;
|
||||||
|
@ -175,4 +175,4 @@ DetectedGames SkyMetaEngineStatic::detectGames(const Common::FSList &fslist) con
|
||||||
return detectedGames;
|
return detectedGames;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SKY_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SkyMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SKY_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SkyMetaEngineDetection);
|
||||||
|
|
|
@ -65,9 +65,9 @@ static Sludge::SludgeGameDescription s_fallbackDesc =
|
||||||
|
|
||||||
static char s_fallbackFileNameBuffer[51];
|
static char s_fallbackFileNameBuffer[51];
|
||||||
|
|
||||||
class SludgeMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class SludgeMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
SludgeMetaEngineStatic() : AdvancedMetaEngineStatic(Sludge::gameDescriptions, sizeof(Sludge::SludgeGameDescription), sludgeGames) {
|
SludgeMetaEngineDetection() : AdvancedMetaEngineDetection(Sludge::gameDescriptions, sizeof(Sludge::SludgeGameDescription), sludgeGames) {
|
||||||
_maxScanDepth = 1;
|
_maxScanDepth = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ public:
|
||||||
ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
|
ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
ADDetectedGame SludgeMetaEngineStatic::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
ADDetectedGame SludgeMetaEngineDetection::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
|
||||||
// reset fallback description
|
// reset fallback description
|
||||||
s_fallbackDesc.desc.gameId = "sludge";
|
s_fallbackDesc.desc.gameId = "sludge";
|
||||||
s_fallbackDesc.desc.extra = "";
|
s_fallbackDesc.desc.extra = "";
|
||||||
|
@ -146,4 +146,4 @@ ADDetectedGame SludgeMetaEngineStatic::fallbackDetect(const FileMap &allFiles, c
|
||||||
return ADDetectedGame();
|
return ADDetectedGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SLUDGE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SludgeMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SLUDGE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SludgeMetaEngineDetection);
|
||||||
|
|
|
@ -365,9 +365,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class StarkMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class StarkMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
StarkMetaEngineStatic() : AdvancedMetaEngineStatic(gameDescriptions, sizeof(ADGameDescription), starkGames, optionsList) {
|
StarkMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(ADGameDescription), starkGames, optionsList) {
|
||||||
_guiOptions = GUIO4(GUIO_NOMIDI, GAMEOPTION_ASSETS_MOD, GAMEOPTION_LINEAR_FILTERING, GAMEOPTION_FONT_ANTIALIASING);
|
_guiOptions = GUIO4(GUIO_NOMIDI, GAMEOPTION_ASSETS_MOD, GAMEOPTION_LINEAR_FILTERING, GAMEOPTION_FONT_ANTIALIASING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -386,4 +386,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace Stark
|
} // End of namespace Stark
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(STARK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Stark::StarkMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(STARK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Stark::StarkMetaEngineDetection);
|
||||||
|
|
|
@ -287,9 +287,9 @@ static const StarTrekGameDescription gameDescriptions[] = {
|
||||||
|
|
||||||
} // End of namespace StarTrek
|
} // End of namespace StarTrek
|
||||||
|
|
||||||
class StarTrekMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class StarTrekMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
StarTrekMetaEngineStatic() : AdvancedMetaEngineStatic(StarTrek::gameDescriptions, sizeof(StarTrek::StarTrekGameDescription), starTrekGames) {
|
StarTrekMetaEngineDetection() : AdvancedMetaEngineDetection(StarTrek::gameDescriptions, sizeof(StarTrek::StarTrekGameDescription), starTrekGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -307,4 +307,4 @@ public:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(STARTREK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, StarTrekMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(STARTREK_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, StarTrekMetaEngineDetection);
|
||||||
|
|
|
@ -101,9 +101,9 @@ static const ADGameDescription gameDescriptions[] = {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
class SupernovaMetaEngineStatic: public AdvancedMetaEngineStatic {
|
class SupernovaMetaEngineDetection: public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
SupernovaMetaEngineStatic() : AdvancedMetaEngineStatic(Supernova::gameDescriptions, sizeof(ADGameDescription), supernovaGames, optionsList) {
|
SupernovaMetaEngineDetection() : AdvancedMetaEngineDetection(Supernova::gameDescriptions, sizeof(ADGameDescription), supernovaGames, optionsList) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -120,4 +120,4 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SUPERNOVA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SupernovaMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SUPERNOVA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SupernovaMetaEngineDetection);
|
||||||
|
|
|
@ -71,7 +71,7 @@ static const char *const g_filesToCheck[NUM_FILES_TO_CHECK] = { // these files h
|
||||||
// the engine needs several more files to work, but checking these should be sufficient
|
// the engine needs several more files to work, but checking these should be sufficient
|
||||||
};
|
};
|
||||||
|
|
||||||
class SwordMetaEngineStatic : public MetaEngineStatic {
|
class SwordMetaEngineDetection : public MetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
return "sword1";
|
return "sword1";
|
||||||
|
@ -89,7 +89,7 @@ public:
|
||||||
DetectedGames detectGames(const Common::FSList &fslist) const override;
|
DetectedGames detectGames(const Common::FSList &fslist) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
PlainGameList SwordMetaEngineStatic::getSupportedGames() const {
|
PlainGameList SwordMetaEngineDetection::getSupportedGames() const {
|
||||||
PlainGameList games;
|
PlainGameList games;
|
||||||
games.push_back(sword1FullSettings);
|
games.push_back(sword1FullSettings);
|
||||||
games.push_back(sword1DemoSettings);
|
games.push_back(sword1DemoSettings);
|
||||||
|
@ -100,7 +100,7 @@ PlainGameList SwordMetaEngineStatic::getSupportedGames() const {
|
||||||
return games;
|
return games;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlainGameDescriptor SwordMetaEngineStatic::findGame(const char *gameId) const {
|
PlainGameDescriptor SwordMetaEngineDetection::findGame(const char *gameId) const {
|
||||||
if (0 == scumm_stricmp(gameId, sword1FullSettings.gameId))
|
if (0 == scumm_stricmp(gameId, sword1FullSettings.gameId))
|
||||||
return sword1FullSettings;
|
return sword1FullSettings;
|
||||||
if (0 == scumm_stricmp(gameId, sword1DemoSettings.gameId))
|
if (0 == scumm_stricmp(gameId, sword1DemoSettings.gameId))
|
||||||
|
@ -133,7 +133,7 @@ void Sword1CheckDirectory(const Common::FSList &fslist, bool *filesFound) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DetectedGames SwordMetaEngineStatic::detectGames(const Common::FSList &fslist) const {
|
DetectedGames SwordMetaEngineDetection::detectGames(const Common::FSList &fslist) const {
|
||||||
int i, j;
|
int i, j;
|
||||||
DetectedGames detectedGames;
|
DetectedGames detectedGames;
|
||||||
bool filesFound[NUM_FILES_TO_CHECK];
|
bool filesFound[NUM_FILES_TO_CHECK];
|
||||||
|
@ -217,4 +217,4 @@ DetectedGames SwordMetaEngineStatic::detectGames(const Common::FSList &fslist) c
|
||||||
return detectedGames;
|
return detectedGames;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SWORD1_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SwordMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SWORD1_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, SwordMetaEngineDetection);
|
||||||
|
|
|
@ -36,7 +36,7 @@ static const ExtraGuiOption sword2ExtraGuiOption = {
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
|
|
||||||
class Sword2MetaEngineStatic : public MetaEngineStatic {
|
class Sword2MetaEngineDetection : public MetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
return "sword2";
|
return "sword2";
|
||||||
|
@ -55,7 +55,7 @@ public:
|
||||||
DetectedGames detectGames(const Common::FSList &fslist) const override;
|
DetectedGames detectGames(const Common::FSList &fslist) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
PlainGameList Sword2MetaEngineStatic::getSupportedGames() const {
|
PlainGameList Sword2MetaEngineDetection::getSupportedGames() const {
|
||||||
const Sword2::GameSettings *g = Sword2::sword2_settings;
|
const Sword2::GameSettings *g = Sword2::sword2_settings;
|
||||||
PlainGameList games;
|
PlainGameList games;
|
||||||
while (g->gameid) {
|
while (g->gameid) {
|
||||||
|
@ -65,13 +65,13 @@ PlainGameList Sword2MetaEngineStatic::getSupportedGames() const {
|
||||||
return games;
|
return games;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ExtraGuiOptions Sword2MetaEngineStatic::getExtraGuiOptions(const Common::String &target) const {
|
const ExtraGuiOptions Sword2MetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
|
||||||
ExtraGuiOptions options;
|
ExtraGuiOptions options;
|
||||||
options.push_back(sword2ExtraGuiOption);
|
options.push_back(sword2ExtraGuiOption);
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlainGameDescriptor Sword2MetaEngineStatic::findGame(const char *gameid) const {
|
PlainGameDescriptor Sword2MetaEngineDetection::findGame(const char *gameid) const {
|
||||||
const Sword2::GameSettings *g = Sword2::sword2_settings;
|
const Sword2::GameSettings *g = Sword2::sword2_settings;
|
||||||
while (g->gameid) {
|
while (g->gameid) {
|
||||||
if (0 == scumm_stricmp(gameid, g->gameid))
|
if (0 == scumm_stricmp(gameid, g->gameid))
|
||||||
|
@ -81,7 +81,7 @@ PlainGameDescriptor Sword2MetaEngineStatic::findGame(const char *gameid) const {
|
||||||
return PlainGameDescriptor::of(g->gameid, g->description);
|
return PlainGameDescriptor::of(g->gameid, g->description);
|
||||||
}
|
}
|
||||||
|
|
||||||
DetectedGames Sword2MetaEngineStatic::detectGames(const Common::FSList &fslist) const {
|
DetectedGames Sword2MetaEngineDetection::detectGames(const Common::FSList &fslist) const {
|
||||||
// The required game data files can be located in the game directory, or in
|
// The required game data files can be located in the game directory, or in
|
||||||
// a subdirectory called "clusters". In the latter case, we don't want to
|
// a subdirectory called "clusters". In the latter case, we don't want to
|
||||||
// detect the game in that subdirectory, as this will detect the game twice
|
// detect the game in that subdirectory, as this will detect the game twice
|
||||||
|
@ -101,4 +101,4 @@ DetectedGames Sword2MetaEngineStatic::detectGames(const Common::FSList &fslist)
|
||||||
return detectGamesImpl(fslist);
|
return detectGamesImpl(fslist);
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SWORD2_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Sword2MetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SWORD2_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Sword2MetaEngineDetection);
|
||||||
|
|
|
@ -44,9 +44,9 @@ static const ExtraGuiOption sword25ExtraGuiOption = {
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
|
|
||||||
class Sword25MetaEngineStatic : public AdvancedMetaEngineStatic {
|
class Sword25MetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
Sword25MetaEngineStatic() : AdvancedMetaEngineStatic(Sword25::gameDescriptions, sizeof(ADGameDescription), sword25Game) {
|
Sword25MetaEngineDetection() : AdvancedMetaEngineDetection(Sword25::gameDescriptions, sizeof(ADGameDescription), sword25Game) {
|
||||||
_guiOptions = GUIO1(GUIO_NOMIDI);
|
_guiOptions = GUIO1(GUIO_NOMIDI);
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
|
@ -67,10 +67,10 @@ public:
|
||||||
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
const ExtraGuiOptions Sword25MetaEngineStatic::getExtraGuiOptions(const Common::String &target) const {
|
const ExtraGuiOptions Sword25MetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
|
||||||
ExtraGuiOptions options;
|
ExtraGuiOptions options;
|
||||||
options.push_back(sword25ExtraGuiOption);
|
options.push_back(sword25ExtraGuiOption);
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(SWORD25_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Sword25MetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(SWORD25_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Sword25MetaEngineDetection);
|
||||||
|
|
|
@ -78,9 +78,9 @@ static const ADGameDescription teenAgentGameDescriptions[] = {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TeenAgentMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class TeenAgentMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
TeenAgentMetaEngineStatic() : AdvancedMetaEngineStatic(teenAgentGameDescriptions, sizeof(ADGameDescription), teenAgentGames) {
|
TeenAgentMetaEngineDetection() : AdvancedMetaEngineDetection(teenAgentGameDescriptions, sizeof(ADGameDescription), teenAgentGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -96,4 +96,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TEENAGENT_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TeenAgentMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TEENAGENT_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TeenAgentMetaEngineDetection);
|
||||||
|
|
|
@ -42,9 +42,9 @@ static const ADGameDescription testbedDescriptions[] = {
|
||||||
AD_TABLE_END_MARKER
|
AD_TABLE_END_MARKER
|
||||||
};
|
};
|
||||||
|
|
||||||
class TestbedMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class TestbedMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
TestbedMetaEngineStatic() : AdvancedMetaEngineStatic(testbedDescriptions, sizeof(ADGameDescription), testbed_setting) {
|
TestbedMetaEngineDetection() : AdvancedMetaEngineDetection(testbedDescriptions, sizeof(ADGameDescription), testbed_setting) {
|
||||||
_md5Bytes = 512;
|
_md5Bytes = 512;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,4 +61,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TESTBED_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TestbedMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TESTBED_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TestbedMetaEngineDetection);
|
||||||
|
|
|
@ -36,9 +36,9 @@ static const PlainGameDescriptor tinselGames[] = {
|
||||||
|
|
||||||
#include "tinsel/detection_tables.h"
|
#include "tinsel/detection_tables.h"
|
||||||
|
|
||||||
class TinselMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class TinselMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
TinselMetaEngineStatic() : AdvancedMetaEngineStatic(Tinsel::gameDescriptions, sizeof(Tinsel::TinselGameDescription), tinselGames) {
|
TinselMetaEngineDetection() : AdvancedMetaEngineDetection(Tinsel::gameDescriptions, sizeof(Tinsel::TinselGameDescription), tinselGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override{
|
const char *getEngineId() const override{
|
||||||
|
@ -68,7 +68,7 @@ typedef Common::Array<const ADGameDescription *> ADGameDescList;
|
||||||
* Fallback detection scans the list of Discworld 2 targets to see if it can detect an installation
|
* Fallback detection scans the list of Discworld 2 targets to see if it can detect an installation
|
||||||
* where the files haven't been renamed (i.e. don't have the '1' just before the extension)
|
* where the files haven't been renamed (i.e. don't have the '1' just before the extension)
|
||||||
*/
|
*/
|
||||||
ADDetectedGame TinselMetaEngineStatic::fallbackDetect(const FileMap &allFilesXXX, const Common::FSList &fslist) const {
|
ADDetectedGame TinselMetaEngineDetection::fallbackDetect(const FileMap &allFilesXXX, const Common::FSList &fslist) const {
|
||||||
Common::String extra;
|
Common::String extra;
|
||||||
FileMap allFiles;
|
FileMap allFiles;
|
||||||
SizeMD5Map filesSizeMD5;
|
SizeMD5Map filesSizeMD5;
|
||||||
|
@ -204,4 +204,4 @@ ADDetectedGame TinselMetaEngineStatic::fallbackDetect(const FileMap &allFilesXXX
|
||||||
return matched;
|
return matched;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TINSEL_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TinselMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TINSEL_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TinselMetaEngineDetection);
|
||||||
|
|
|
@ -34,9 +34,9 @@ static const PlainGameDescriptor TitanicGames[] = {
|
||||||
|
|
||||||
#include "titanic/detection_tables.h"
|
#include "titanic/detection_tables.h"
|
||||||
|
|
||||||
class TitanicMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class TitanicMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
TitanicMetaEngineStatic() : AdvancedMetaEngineStatic(Titanic::gameDescriptions, sizeof(Titanic::TitanicGameDescription), TitanicGames) {
|
TitanicMetaEngineDetection() : AdvancedMetaEngineDetection(Titanic::gameDescriptions, sizeof(Titanic::TitanicGameDescription), TitanicGames) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,4 +53,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TITANIC_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TitanicMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TITANIC_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TitanicMetaEngineDetection);
|
||||||
|
|
|
@ -216,9 +216,9 @@ static const ExtraGuiOption toltecsExtraGuiOption = {
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
|
|
||||||
class ToltecsMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class ToltecsMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
ToltecsMetaEngineStatic() : AdvancedMetaEngineStatic(Toltecs::gameDescriptions, sizeof(Toltecs::ToltecsGameDescription), toltecsGames) {
|
ToltecsMetaEngineDetection() : AdvancedMetaEngineDetection(Toltecs::gameDescriptions, sizeof(Toltecs::ToltecsGameDescription), toltecsGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -236,10 +236,10 @@ public:
|
||||||
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
const ExtraGuiOptions ToltecsMetaEngineStatic::getExtraGuiOptions(const Common::String &target) const {
|
const ExtraGuiOptions ToltecsMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {
|
||||||
ExtraGuiOptions options;
|
ExtraGuiOptions options;
|
||||||
options.push_back(toltecsExtraGuiOption);
|
options.push_back(toltecsExtraGuiOption);
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TOLTECS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ToltecsMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TOLTECS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ToltecsMetaEngineDetection);
|
||||||
|
|
|
@ -33,9 +33,9 @@ static const PlainGameDescriptor tonyGames[] = {
|
||||||
|
|
||||||
#include "tony/detection_tables.h"
|
#include "tony/detection_tables.h"
|
||||||
|
|
||||||
class TonyMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class TonyMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
TonyMetaEngineStatic() : AdvancedMetaEngineStatic(Tony::gameDescriptions, sizeof(Tony::TonyGameDescription), tonyGames) {
|
TonyMetaEngineDetection() : AdvancedMetaEngineDetection(Tony::gameDescriptions, sizeof(Tony::TonyGameDescription), tonyGames) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -51,4 +51,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TONY_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TonyMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TONY_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TonyMetaEngineDetection);
|
||||||
|
|
|
@ -130,9 +130,9 @@ static const char * const directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class ToonMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class ToonMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
ToonMetaEngineStatic() : AdvancedMetaEngineStatic(Toon::gameDescriptions, sizeof(ADGameDescription), toonGames) {
|
ToonMetaEngineDetection() : AdvancedMetaEngineDetection(Toon::gameDescriptions, sizeof(ADGameDescription), toonGames) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -154,4 +154,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TOON_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ToonMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TOON_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ToonMetaEngineDetection);
|
||||||
|
|
|
@ -119,9 +119,9 @@ static const char *directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class ToucheMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class ToucheMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
ToucheMetaEngineStatic() : AdvancedMetaEngineStatic(Touche::gameDescriptions, sizeof(ADGameDescription), toucheGames) {
|
ToucheMetaEngineDetection() : AdvancedMetaEngineDetection(Touche::gameDescriptions, sizeof(ADGameDescription), toucheGames) {
|
||||||
_md5Bytes = 4096;
|
_md5Bytes = 4096;
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = directoryGlobs;
|
_directoryGlobs = directoryGlobs;
|
||||||
|
@ -144,4 +144,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TOUCHE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ToucheMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TOUCHE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ToucheMetaEngineDetection);
|
||||||
|
|
|
@ -36,9 +36,9 @@ static const PlainGameDescriptor tSageGameTitles[] = {
|
||||||
|
|
||||||
#include "tsage/detection_tables.h"
|
#include "tsage/detection_tables.h"
|
||||||
|
|
||||||
class TSageMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class TSageMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
TSageMetaEngineStatic() : AdvancedMetaEngineStatic(TsAGE::gameDescriptions, sizeof(TsAGE::tSageGameDescription), tSageGameTitles) {
|
TSageMetaEngineDetection() : AdvancedMetaEngineDetection(TsAGE::gameDescriptions, sizeof(TsAGE::tSageGameDescription), tSageGameTitles) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
|
@ -54,4 +54,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TSAGE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TSageMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TSAGE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TSageMetaEngineDetection);
|
||||||
|
|
|
@ -116,9 +116,9 @@ static const ADGameDescription tuckerDemoGameDescription = {
|
||||||
GUIO1(GUIO_NOMIDI)
|
GUIO1(GUIO_NOMIDI)
|
||||||
};
|
};
|
||||||
|
|
||||||
class TuckerMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class TuckerMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
TuckerMetaEngineStatic() : AdvancedMetaEngineStatic(tuckerGameDescriptions, sizeof(ADGameDescription), tuckerGames) {
|
TuckerMetaEngineDetection() : AdvancedMetaEngineDetection(tuckerGameDescriptions, sizeof(ADGameDescription), tuckerGames) {
|
||||||
_md5Bytes = 512;
|
_md5Bytes = 512;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,4 +151,4 @@ public:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(TUCKER_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TuckerMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(TUCKER_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TuckerMetaEngineDetection);
|
||||||
|
|
|
@ -49,11 +49,11 @@ static const PlainGameDescriptor ULTIMA_GAMES[] = {
|
||||||
|
|
||||||
#include "ultima/detection_tables.h"
|
#include "ultima/detection_tables.h"
|
||||||
|
|
||||||
UltimaMetaEngineStatic::UltimaMetaEngineStatic() : AdvancedMetaEngineStatic(Ultima::GAME_DESCRIPTIONS,
|
UltimaMetaEngineDetection::UltimaMetaEngineDetection() : AdvancedMetaEngineDetection(Ultima::GAME_DESCRIPTIONS,
|
||||||
sizeof(Ultima::UltimaGameDescription), Ultima::ULTIMA_GAMES) {
|
sizeof(Ultima::UltimaGameDescription), Ultima::ULTIMA_GAMES) {
|
||||||
static const char *const DIRECTORY_GLOBS[2] = { "usecode", 0 };
|
static const char *const DIRECTORY_GLOBS[2] = { "usecode", 0 };
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = DIRECTORY_GLOBS;
|
_directoryGlobs = DIRECTORY_GLOBS;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(ULTIMA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, UltimaMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(ULTIMA_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, UltimaMetaEngineDetection);
|
||||||
|
|
|
@ -58,10 +58,10 @@ struct UltimaGameDescription {
|
||||||
|
|
||||||
} // End of namespace Ultima
|
} // End of namespace Ultima
|
||||||
|
|
||||||
class UltimaMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class UltimaMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
UltimaMetaEngineStatic();
|
UltimaMetaEngineDetection();
|
||||||
~UltimaMetaEngineStatic() override {}
|
~UltimaMetaEngineDetection() override {}
|
||||||
|
|
||||||
const char *getEngineId() const override {
|
const char *getEngineId() const override {
|
||||||
return "ultima";
|
return "ultima";
|
||||||
|
|
|
@ -34,9 +34,9 @@ static const PlainGameDescriptor voyeurGames[] = {
|
||||||
|
|
||||||
#include "voyeur/detection_tables.h"
|
#include "voyeur/detection_tables.h"
|
||||||
|
|
||||||
class VoyeurMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class VoyeurMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
VoyeurMetaEngineStatic() : AdvancedMetaEngineStatic(Voyeur::gameDescriptions, sizeof(Voyeur::VoyeurGameDescription), voyeurGames) {
|
VoyeurMetaEngineDetection() : AdvancedMetaEngineDetection(Voyeur::gameDescriptions, sizeof(Voyeur::VoyeurGameDescription), voyeurGames) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,4 +53,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(VOYEUR_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, VoyeurMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(VOYEUR_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, VoyeurMetaEngineDetection);
|
||||||
|
|
|
@ -39,9 +39,9 @@ static const PlainGameDescriptor wageGames[] = {
|
||||||
|
|
||||||
#include "wage/detection_tables.h"
|
#include "wage/detection_tables.h"
|
||||||
|
|
||||||
class WageMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class WageMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
WageMetaEngineStatic() : AdvancedMetaEngineStatic(Wage::gameDescriptions, sizeof(ADGameDescription), wageGames) {
|
WageMetaEngineDetection() : AdvancedMetaEngineDetection(Wage::gameDescriptions, sizeof(ADGameDescription), wageGames) {
|
||||||
_md5Bytes = 2 * 1024 * 1024;
|
_md5Bytes = 2 * 1024 * 1024;
|
||||||
_guiOptions = GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI);
|
_guiOptions = GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI);
|
||||||
}
|
}
|
||||||
|
@ -59,4 +59,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(WAGE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, WageMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(WAGE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, WageMetaEngineDetection);
|
||||||
|
|
|
@ -66,9 +66,9 @@ static const char *directoryGlobs[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
class WintermuteMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class WintermuteMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
WintermuteMetaEngineStatic() : AdvancedMetaEngineStatic(Wintermute::gameDescriptions, sizeof(WMEGameDescription), Wintermute::wintermuteGames, gameGuiOptions) {
|
WintermuteMetaEngineDetection() : AdvancedMetaEngineDetection(Wintermute::gameDescriptions, sizeof(WMEGameDescription), Wintermute::wintermuteGames, gameGuiOptions) {
|
||||||
// Use kADFlagUseExtraAsHint to distinguish between SD and HD versions
|
// Use kADFlagUseExtraAsHint to distinguish between SD and HD versions
|
||||||
// of J.U.L.I.A. when their datafiles sit in the same directory (e.g. in Steam distribution).
|
// of J.U.L.I.A. when their datafiles sit in the same directory (e.g. in Steam distribution).
|
||||||
_flags = kADFlagUseExtraAsHint;
|
_flags = kADFlagUseExtraAsHint;
|
||||||
|
@ -123,4 +123,4 @@ public:
|
||||||
|
|
||||||
} // End of namespace Wintermute
|
} // End of namespace Wintermute
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(WINTERMUTE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Wintermute::WintermuteMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(WINTERMUTE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, Wintermute::WintermuteMetaEngineDetection);
|
||||||
|
|
|
@ -64,9 +64,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
|
||||||
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
AD_EXTRA_GUI_OPTIONS_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
class XeenMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class XeenMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
XeenMetaEngineStatic() : AdvancedMetaEngineStatic(Xeen::gameDescriptions, sizeof(Xeen::XeenGameDescription),
|
XeenMetaEngineDetection() : AdvancedMetaEngineDetection(Xeen::gameDescriptions, sizeof(Xeen::XeenGameDescription),
|
||||||
XeenGames, optionsList) {
|
XeenGames, optionsList) {
|
||||||
_maxScanDepth = 3;
|
_maxScanDepth = 3;
|
||||||
}
|
}
|
||||||
|
@ -84,4 +84,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(XEEN_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, XeenMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(XEEN_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, XeenMetaEngineDetection);
|
||||||
|
|
|
@ -32,9 +32,9 @@
|
||||||
#include "zvision/detection.h"
|
#include "zvision/detection.h"
|
||||||
#include "zvision/detection_tables.h"
|
#include "zvision/detection_tables.h"
|
||||||
|
|
||||||
class ZVisionMetaEngineStatic : public AdvancedMetaEngineStatic {
|
class ZVisionMetaEngineDetection : public AdvancedMetaEngineDetection {
|
||||||
public:
|
public:
|
||||||
ZVisionMetaEngineStatic() : AdvancedMetaEngineStatic(ZVision::gameDescriptions, sizeof(ZVision::ZVisionGameDescription), ZVision::zVisionGames, ZVision::optionsList) {
|
ZVisionMetaEngineDetection() : AdvancedMetaEngineDetection(ZVision::gameDescriptions, sizeof(ZVision::ZVisionGameDescription), ZVision::zVisionGames, ZVision::optionsList) {
|
||||||
_maxScanDepth = 2;
|
_maxScanDepth = 2;
|
||||||
_directoryGlobs = ZVision::directoryGlobs;
|
_directoryGlobs = ZVision::directoryGlobs;
|
||||||
}
|
}
|
||||||
|
@ -52,4 +52,4 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_PLUGIN_STATIC(ZVISION_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ZVisionMetaEngineStatic);
|
REGISTER_PLUGIN_STATIC(ZVISION_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ZVisionMetaEngineDetection);
|
||||||
|
|
|
@ -127,7 +127,7 @@ AboutDialog::AboutDialog()
|
||||||
addLine(str);
|
addLine(str);
|
||||||
|
|
||||||
str = "C2";
|
str = "C2";
|
||||||
str += (*iter)->get<MetaEngineStatic>().getOriginalCopyright();
|
str += (*iter)->get<MetaEngineDetection>().getOriginalCopyright();
|
||||||
addLine(str);
|
addLine(str);
|
||||||
|
|
||||||
//addLine("");
|
//addLine("");
|
||||||
|
|
|
@ -185,7 +185,7 @@ EditGameDialog::EditGameDialog(const String &domain)
|
||||||
if (metaEnginePlugin) {
|
if (metaEnginePlugin) {
|
||||||
int tabId = tab->addTab(_("Engine"), "GameOptions_Engine");
|
int tabId = tab->addTab(_("Engine"), "GameOptions_Engine");
|
||||||
|
|
||||||
const MetaEngineStatic &metaEngine = metaEnginePlugin->get<MetaEngineStatic>();
|
const MetaEngineDetection &metaEngine = metaEnginePlugin->get<MetaEngineDetection>();
|
||||||
metaEngine.registerDefaultSettings(_domain);
|
metaEngine.registerDefaultSettings(_domain);
|
||||||
_engineOptions = metaEngine.buildEngineOptionsWidgetStatic(tab, "GameOptions_Engine.Container", _domain);
|
_engineOptions = metaEngine.buildEngineOptionsWidgetStatic(tab, "GameOptions_Engine.Container", _domain);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue