#include <metaengine.h>
Public Member Functions | |
virtual const char * | getName () const override=0 |
virtual const char * | getEngineName () const =0 |
virtual const char * | getOriginalCopyright () const =0 |
virtual PlainGameList | getSupportedGames () const =0 |
virtual PlainGameDescriptor | findGame (const char *gameId) const =0 |
virtual Common::Error | identifyGame (DetectedGame &game, const void **descriptor)=0 |
virtual DetectedGames | detectGames (const Common::FSList &fslist, uint32 skipADFlags=0, bool skipIncomplete=false)=0 |
virtual uint | getMD5Bytes () const =0 |
virtual int | getGameVariantCount () const |
virtual void | dumpDetectionEntries () const =0 |
virtual const DebugChannelDef * | getDebugChannels () const |
Static Public Attributes | |
static const char | GAME_NOT_IMPLEMENTED [] |
A meta engine factory for Engine instances with the added ability of listing and detecting supported games.
Every engine "plugin" provides a hook to get an instance of a MetaEngineDetection subclass for that "engine plugin". For example, SCUMM provides ScummMetaEngineDetection. This is then in turn used by the frontend code to detect games, and other useful functionality.
To instantiate actual Engine objects, see the class MetaEngine.
|
overridepure virtual |
Get the engine ID.
Implements PluginObject.
Implemented in UltimaMetaEngineDetection, AGSMetaEngineDetection, TwpMetaEngineDetection, M4MetaEngineDetection, TetraedgeMetaEngineDetection, DarkseedMetaEngineDetection, BagelMetaEngineDetection, CrabMetaEngineDetection, ImmortalMetaEngineDetection, and Hpl1MetaEngineDetection.
|
pure virtual |
Get the engine name.
Implemented in UltimaMetaEngineDetection, AGSMetaEngineDetection, TwpMetaEngineDetection, M4MetaEngineDetection, DarkseedMetaEngineDetection, BagelMetaEngineDetection, CrabMetaEngineDetection, TetraedgeMetaEngineDetection, ImmortalMetaEngineDetection, and Hpl1MetaEngineDetection.
|
pure virtual |
Return some copyright information about the original engine.
Implemented in UltimaMetaEngineDetection, AGSMetaEngineDetection, TwpMetaEngineDetection, M4MetaEngineDetection, DarkseedMetaEngineDetection, TetraedgeMetaEngineDetection, BagelMetaEngineDetection, CrabMetaEngineDetection, ImmortalMetaEngineDetection, and Hpl1MetaEngineDetection.
|
pure virtual |
Return a list of games supported by this engine.
Implemented in AdvancedMetaEngineDetectionBase.
|
pure virtual |
Query the engine for a PlainGameDescriptor for the specified gameid, if any.
Implemented in AdvancedMetaEngineDetectionBase.
|
pure virtual |
Identify the active game and check its data files.
Implemented in AdvancedMetaEngineDetection< Descriptor >, AdvancedMetaEngineDetection< ADGameDescription >, AdvancedMetaEngineDetection< Twp::TwpGameDescription >, AdvancedMetaEngineDetection< M4::M4GameDescription >, AdvancedMetaEngineDetection< Ultima::UltimaGameDescription >, AdvancedMetaEngineDetection< AGS::AGSGameDescription >, and AdvancedMetaEngineDetectionBase.
|
pure virtual |
Run the engine's game detector on the given list of files, and return a (possibly empty) list of games supported by the engine that were found among the given files.
Implemented in AdvancedMetaEngineDetectionBase, and AGSMetaEngineDetection.
|
pure virtual |
Returns the number of bytes used for MD5-based detection, or 0 if not supported.
Implemented in AdvancedMetaEngineDetectionBase.
|
inlinevirtual |
Returns the number of game variants or -1 if unknown
Reimplemented in AdvancedMetaEngineDetectionBase.
|
pure virtual |
Returns formatted data from game descriptor for dumping into a file
Implemented in AdvancedMetaEngineDetectionBase.
|
inlinevirtual |
Return a list of engine specified debug channels
If engine has no specified debug channels or not supported yet, then it will return NULL
Reimplemented in UltimaMetaEngineDetection, AGSMetaEngineDetection, TwpMetaEngineDetection, M4MetaEngineDetection, DarkseedMetaEngineDetection, TetraedgeMetaEngineDetection, BagelMetaEngineDetection, CrabMetaEngineDetection, and Hpl1MetaEngineDetection.
|
static |
This is the message to use in detection tables when the game logic is not implemented