ScummVM API documentation
AdvancedMetaEngine< Descriptor > Class Template Referenceabstract
Inheritance diagram for AdvancedMetaEngine< Descriptor >:
AdvancedMetaEngineBase MetaEngine PluginObject

Protected Member Functions

virtual Common::Error createInstance (OSystem *syst, Engine **engine, const Descriptor *desc) const =0
 
Common::Error createInstance (OSystem *syst, Engine **engine, const void *desc) const override final
 
void deleteInstance (Engine *engine, const DetectedGame &gameDescriptor, const void *meDescriptor) override
 
- Protected Member Functions inherited from AdvancedMetaEngineBase
const ExtraGuiOptions getExtraGuiOptions (const Common::String &target) const override final
 
virtual const ADExtraGuiOptionsMapgetAdvancedExtraGuiOptions () const
 
bool checkExtendedSaves (MetaEngineFeature f) const
 
- Protected Member Functions inherited from MetaEngine
virtual void getSavegameThumbnail (Graphics::Surface &thumb)
 
int findEmptySaveSlot (const char *target)
 

Additional Inherited Members

- Public Types inherited from AdvancedMetaEngineBase
typedef Common::HashMap< Common::Path, Common::FSNode, Common::Path::IgnoreCase_Hash, Common::Path::IgnoreCase_EqualToFileMap
 
- Public Types inherited from MetaEngine
enum  MetaEngineFeature {
  kSupportsListSaves, kSupportsLoadingDuringStartup, kSupportsDeleteSave, kSavesSupportMetaInfo,
  kSavesSupportThumbnail, kSavesSupportCreationDate, kSavesSupportPlayTime, kSimpleSavesNames,
  kSavesUseExtendedFormat
}
 
- Public Member Functions inherited from AdvancedMetaEngineBase
Common::Error createInstance (OSystem *syst, Engine **engine, const DetectedGame &gameDescriptor, const void *metaEngineDescriptor) override
 
const char * getName () const override=0
 
virtual ADDetectedGame fallbackDetectExtern (uint md5Bytes, const FileMap &allFiles, const Common::FSList &fslist, ADDetectedGameExtraInfo **extra=nullptr) const
 
bool getFilePropertiesExtern (uint md5Bytes, const FileMap &allFiles, MD5Properties md5prop, const Common::Path &fname, FileProperties &fileProps) const
 
- Public Member Functions inherited from MetaEngine
virtual SaveStateList listSaves (const char *target) const
 
SaveStateList listSaves (const char *target, bool saveMode) const
 
virtual int getAutosaveSlot () const
 
virtual int getMaximumSaveSlot () const
 
virtual bool removeSaveState (const char *target, int slot) const
 
virtual SaveStateDescriptor querySaveMetaInfos (const char *target, int slot) const
 
virtual Common::String getSavegameFile (int saveGameIdx, const char *target=nullptr) const
 
Common::String getSavegameFilePattern (const char *target=nullptr) const
 
virtual Common::Array< Common::Keymap * > initKeymaps (const char *target) const
 
virtual void registerDefaultSettings (const Common::String &target) const
 
virtual GUI::OptionsContainerWidgetbuildEngineOptionsWidget (GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const
 
virtual Common::AchievementsPlatform getAchievementsPlatform (const Common::String &target) const
 
virtual const Common::AchievementsInfo getAchievementsInfo (const Common::String &target) const
 
virtual const Common::AchievementDescriptionListgetAchievementDescriptionList () const
 
virtual bool hasFeature (MetaEngineFeature f) const
 
void appendExtendedSave (Common::OutSaveFile *saveFile, uint32 playtime, Common::String desc, bool isAutosave)
 
void appendExtendedSaveToStream (Common::WriteStream *saveFile, uint32 playtime, Common::String desc, bool isAutosave, uint32 offset=0)
 
bool copySaveFileToFreeSlot (const char *target, int slot)
 
- Static Public Member Functions inherited from MetaEngine
static void parseSavegameHeader (ExtendedSavegameHeader *header, SaveStateDescriptor *desc)
 
static void fillDummyHeader (ExtendedSavegameHeader *header)
 
static void decodeSavegameDate (const ExtendedSavegameHeader *header, uint16 &outYear, uint8 &outMonth, uint8 &outDay)
 
static void decodeSavegameTime (const ExtendedSavegameHeader *header, uint8 &outHour, uint8 &outMinute)
 
static WARN_UNUSED_RESULT bool readSavegameHeader (Common::InSaveFile *in, ExtendedSavegameHeader *header, bool skipThumbnail=true)
 

Member Function Documentation

◆ createInstance()

template<class Descriptor>
Common::Error AdvancedMetaEngine< Descriptor >::createInstance ( OSystem syst,
Engine **  engine,
const void *  desc 
) const
inlinefinaloverrideprotectedvirtual

A createInstance implementation for subclasses. To be called after the base createInstance function above is called.

Implements AdvancedMetaEngineBase.

◆ deleteInstance()

template<class Descriptor>
void AdvancedMetaEngine< Descriptor >::deleteInstance ( Engine engine,
const DetectedGame gameDescriptor,
const void *  meDescriptor 
)
inlineoverrideprotectedvirtual

Deinstantiate an engine instance. The default implementation merely deletes the engine.

The MetaEngine queries the ConfMan singleton for data like the target, gameid, path etc.

Parameters
enginePointer to the Engine that MetaEngine created.
gameDescriptorDetected game as returned by MetaEngineDetection::identifyGame
meDescriptorPointer to a meta engine specific descriptor as returned by MetaEngineDetection::identifyGame

Reimplemented from MetaEngine.


The documentation for this class was generated from the following file: