Open main menu

Difference between revisions of "Advanced Engine Features"

Fix syntax highlighting
(ZVision supports all advanced engine features)
(Fix syntax highlighting)
Line 18: Line 18:


'''Relevant Engine API'''
'''Relevant Engine API'''
<syntax type="C++">
<source lang="cpp">
virtual void pauseEngineIntern(bool pause);
virtual void pauseEngineIntern(bool pause);
void pauseEngine(bool pause);
void pauseEngine(bool pause);
bool isPaused() const;
bool isPaused() const;
</syntax>
</source>


'''Implemented by:'''
'''Implemented by:'''
Line 41: Line 41:


'''Relevant Engine API'''
'''Relevant Engine API'''
<syntax type="C++"> void quitGame();
<source lang="cpp">
void quitGame();
bool shouldQuit() const;
bool shouldQuit() const;


kSupportsRTL feature flag</syntax>
kSupportsRTL feature flag
</source>


'''Implemented by:'''
'''Implemented by:'''
Line 59: Line 61:


'''Relevant Engine API'''
'''Relevant Engine API'''
<syntax type="C++"> virtual void syncSoundSettings();</syntax>
<source lang="cpp">
virtual void syncSoundSettings();
</source>


'''Implemented by:'''
'''Implemented by:'''
Line 97: Line 101:
'''What is this about?'''<br>
'''What is this about?'''<br>
With this feature, it is possible to build a list of available save slots for a given game target. This can be used by the user to list all saveslots from the command line, as the following example illustrates:
With this feature, it is possible to build a list of available save slots for a given game target. This can be used by the user to list all saveslots from the command line, as the following example illustrates:
<syntax type="Bash">$ ./scummvm --list-saves=monkey2
<source type="sh">
$ ./scummvm --list-saves=monkey2
Saves for target 'monkey2':
Saves for target 'monkey2':
   Slot Description                                           
   Slot Description                                           
Line 104: Line 109:
   1    Start
   1    Start
   2    Quicksave 2
   2    Quicksave 2
$</syntax>
$
</source>
Furthermore, this is used by the load/save dialogs in the Launcher and the GMM to build the list of savestates they show visually to the user.
Furthermore, this is used by the load/save dialogs in the Launcher and the GMM to build the list of savestates they show visually to the user.


Line 117: Line 123:


'''Relevant MetaEngine API'''
'''Relevant MetaEngine API'''
<syntax type="C++"> virtual SaveStateList listSaves(const char *target) const;
<source lang="cpp">
virtual SaveStateList listSaves(const char *target) const;
virtual int getMaximumSaveSlot() const;
virtual int getMaximumSaveSlot() const;


kSupportsListSaves feature flag</syntax>
kSupportsListSaves feature flag
</source>


'''Implemented by:'''
'''Implemented by:'''
Line 136: Line 144:


'''Relevant MetaEngine API'''
'''Relevant MetaEngine API'''
<syntax type="C++"> save_slot ConfigMan setting
<source lang="cpp">
save_slot ConfigMan setting


kSupportsLoadingDuringStartup feature flag</syntax>
kSupportsLoadingDuringStartup feature flag
</source>


'''Implemented by:'''
'''Implemented by:'''
Line 157: Line 167:


'''Relevant MetaEngine API'''
'''Relevant MetaEngine API'''
<syntax type="C++"> void removeSaveState(const char *target, int slot) const;
<source lang="cpp">
void removeSaveState(const char *target, int slot) const;


kSupportsDeleteSave feature flag</syntax>
kSupportsDeleteSave feature flag
</source>


'''Implemented by:'''
'''Implemented by:'''
Line 177: Line 189:


'''Relevant MetaEngine API'''
'''Relevant MetaEngine API'''
<syntax type="C++"> virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const;
<source lang="cpp">
virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const;


kSavesSupportMetaInfo feature flag
kSavesSupportMetaInfo feature flag
kSavesSupportThumbnail feature flag
kSavesSupportThumbnail feature flag
kSavesSupportCreationDate feature flag
kSavesSupportCreationDate feature flag
kSavesSupportPlayTime feature flag</syntax>
kSavesSupportPlayTime feature flag
</source>


'''Implemented by:'''
'''Implemented by:'''
Line 203: Line 217:


'''Relevant Engine API'''
'''Relevant Engine API'''
<syntax type="C++"> virtual Common::Error loadGameState(int slot);
<source lang="cpp">
virtual Common::Error loadGameState(int slot);
virtual bool canLoadGameStateCurrently();
virtual bool canLoadGameStateCurrently();


kSupportsLoadingDuringRuntime feature flag</syntax>
kSupportsLoadingDuringRuntime feature flag
</source>


:'''Implemented by:''' [[AGI]], [[Avalanche]], [[Cine]], [[CGE]], [[Draci]], [[Dreamweb]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Pegasus]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Sword1]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]
:'''Implemented by:''' [[AGI]], [[Avalanche]], [[Cine]], [[CGE]], [[Draci]], [[Dreamweb]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Pegasus]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Sword1]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]
Line 212: Line 228:
:'''Not implemented by:''' [[AGOS]], [[Composer]], [[CruisE]], [[Drascula]], [[Fullpipe]], [[Gob]], [[Groovie]], [[Lastexpress]], [[Lure]], [[MADE]], [[Parallaction]], [[Queen]], [[Sword2]], [[Sword25]]
:'''Not implemented by:''' [[AGOS]], [[Composer]], [[CruisE]], [[Drascula]], [[Fullpipe]], [[Gob]], [[Groovie]], [[Lastexpress]], [[Lure]], [[MADE]], [[Parallaction]], [[Queen]], [[Sword2]], [[Sword25]]


<syntax type="C++"> virtual Common::Error saveGameState(int slot, const Common::String &desc);
<source lang="cpp">
virtual Common::Error saveGameState(int slot, const Common::String &desc);
virtual bool canSaveGameStateCurrently();
virtual bool canSaveGameStateCurrently();


kSupportsSavingDuringRuntime feature flag</syntax>
kSupportsSavingDuringRuntime feature flag
</source>


:'''Implemented by:''' [[AGI]], [[Avalanche]], [[Cine]], [[CGE]], [[Draci]], [[Dreamweb]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Pegasus]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Sword1]], [[TeenAgent]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]
:'''Implemented by:''' [[AGI]], [[Avalanche]], [[Cine]], [[CGE]], [[Draci]], [[Dreamweb]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Pegasus]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Sword1]], [[TeenAgent]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]
Line 233: Line 251:


'''Relevant Engine API'''
'''Relevant Engine API'''
<syntax type="C++"> virtual void errorString(const char *buf_input, char *buf_output, int buf_output_size);</syntax>
<source lang="cpp">
virtual void errorString(const char *buf_input, char *buf_output, int buf_output_size);
</source>


:'''Implemented by:''' [[SCUMM]]
:'''Implemented by:''' [[SCUMM]]
Line 239: Line 259:
:'''Not implemented by:''' [[AGI]], [[AGOS]], [[Avalanche]], [[Cine]], [[CGE]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Fullpipe]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[Sky]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]
:'''Not implemented by:''' [[AGI]], [[AGOS]], [[Avalanche]], [[Cine]], [[CGE]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Fullpipe]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[Sky]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]


<syntax type="C++"> virtual GUI::Debugger *getDebugger();</syntax>
<source lang="cpp">
virtual GUI::Debugger *getDebugger();
</source>


:'''Implemented by:''' [[AGI]], [[AGOS]], [[Avalanche]], [[Cine]], [[CGE]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Fullpipe]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Toon]], [[Tony]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]
:'''Implemented by:''' [[AGI]], [[AGOS]], [[Avalanche]], [[Cine]], [[CGE]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Fullpipe]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Toon]], [[Tony]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]


:'''Not implemented by:'''
:'''Not implemented by:'''
TrustedUser
2,147

edits