ScummVM API documentation
AGSMetaEngine Class Reference
Inheritance diagram for AGSMetaEngine:
AdvancedMetaEngine< AGS::AGSGameDescription > AdvancedMetaEngineBase MetaEngine PluginObject

Public Member Functions

const char * getName () const override
 
Common::Error createInstance (OSystem *syst, Engine **engine, const AGS::AGSGameDescription *desc) const override
 
SaveStateList listSaves (const char *target) const override
 
int getAutosaveSlot () const override
 
int getMaximumSaveSlot () const override
 
Common::String getSavegameFile (int saveGameIdx, const char *target=nullptr) const override
 
GUI::OptionsContainerWidgetbuildEngineOptionsWidget (GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const override
 
bool hasFeature (MetaEngineFeature f) const override
 
SaveStateDescriptor querySaveMetaInfos (const char *target, int slot) const override
 
void removeSaveState (const char *target, int slot) const override
 
const Common::AchievementDescriptionListgetAchievementDescriptionList () const override
 
- Public Member Functions inherited from AdvancedMetaEngineBase
Common::Error createInstance (OSystem *syst, Engine **engine, const DetectedGame &gameDescriptor, const void *metaEngineDescriptor) override
 
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
SaveStateList listSaves (const char *target, bool saveMode) 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 Common::AchievementsPlatform getAchievementsPlatform (const Common::String &target) const
 
virtual const Common::AchievementsInfo getAchievementsInfo (const Common::String &target) 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)
 

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
}
 
- 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)
 
- Protected Member Functions inherited from AdvancedMetaEngine< AGS::AGSGameDescription >
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)
 

Member Function Documentation

◆ getName()

const char* AGSMetaEngine::getName ( ) const
overridevirtual

Return the name of the engine plugin based on the engineID.

The engineID must match the one from MetaEngine.

See also
MetaEngine::getName().

Implements AdvancedMetaEngineBase.

◆ listSaves()

SaveStateList AGSMetaEngine::listSaves ( const char *  target) const
overridevirtual

Return a list of all save states associated with the given target.

The returned list is guaranteed to be sorted by slot numbers. That means smaller slot numbers are always stored before bigger slot numbers.

The caller must ensure that this (Meta)Engine is responsible for the specified target. This is done by using findGame on it respectively on the associated gameid from the relevant ConfMan entry, if present.

The default implementation returns an empty list.

Note
MetaEngines must indicate that this function has been implemented via the kSupportsListSaves feature flag.
Parameters
targetName of a config manager target.
Returns
A list of save state descriptors.

Reimplemented from MetaEngine.

◆ getAutosaveSlot()

int AGSMetaEngine::getAutosaveSlot ( ) const
overridevirtual

Return the slot number that is used for autosaves, or -1 for engines that don't support autosave.

Note
This should match the engine getAutosaveSlot() method.

Reimplemented from MetaEngine.

◆ getMaximumSaveSlot()

int AGSMetaEngine::getMaximumSaveSlot ( ) const
inlineoverridevirtual

Return the maximum number of save slots that the engine supports.

Note
MetaEngines must indicate that this function has been implemented via the kSupportsListSaves feature flag.

The default implementation limits the save slots to zero (0).

Returns
Maximum save slot number supported.

Reimplemented from MetaEngine.

◆ getSavegameFile()

Common::String AGSMetaEngine::getSavegameFile ( int  saveGameIdx,
const char *  target = nullptr 
) const
overridevirtual

Return the name of the save file for the given slot and optional target, or a pattern for matching filenames against.

Parameters
saveGameIdxIndex of the save, or kSavegameFilePattern for returning a filename pattern.
targetGame target. If omitted, then the engine ID is used.

Reimplemented from MetaEngine.

◆ buildEngineOptionsWidget()

GUI::OptionsContainerWidget* AGSMetaEngine::buildEngineOptionsWidget ( GUI::GuiObject boss,
const Common::String name,
const Common::String target 
) const
overridevirtual

Return a GUI widget container for configuring the specified target options.

Engines can build custom option dialogs from here.

Engines that don't have an Engine tab in the Edit Game dialog, or that use ExtraGuiOptions in MetaEngineDetection can return nullptr.

Parameters
bossThe widget or dialog that the returned widget is a child of.
nameThe name that the returned widget must use.
targetName of a config manager target.

Reimplemented from MetaEngine.

◆ hasFeature()

bool AGSMetaEngine::hasFeature ( MetaEngineFeature  f) const
overridevirtual

Determine whether the engine supports the specified MetaEngine feature.

Used by e.g. the launcher to determine whether to enable the Load button.

Reimplemented from MetaEngine.

◆ querySaveMetaInfos()

SaveStateDescriptor AGSMetaEngine::querySaveMetaInfos ( const char *  target,
int  slot 
) const
overridevirtual

Return meta information from the specified save state.

Depending on the MetaEngineFeatures set, this can include thumbnails, save date and time, play time.

Parameters
targetName of a config manager target.
slotSlot number of the save state.

Reimplemented from MetaEngine.

◆ removeSaveState()

void AGSMetaEngine::removeSaveState ( const char *  target,
int  slot 
) const
overridevirtual

Remove the specified save state.

Parameters
targetName of a config manager target.
slotSlot number of the save state to be removed.

Reimplemented from MetaEngine.

◆ getAchievementDescriptionList()

const Common::AchievementDescriptionList* AGSMetaEngine::getAchievementDescriptionList ( ) const
overridevirtual

Return the achievement descriptions.

Note
The default implementation returns nullptr
Returns
a list of achievement descriptions for an engine.

Reimplemented from MetaEngine.


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