|
| SciEngine (OSystem *syst, const ADGameDescription *desc, SciGameId gameId) |
|
Common::Error | run () override |
|
bool | hasFeature (EngineFeature f) const override |
|
void | pauseEngineIntern (bool pause) override |
|
void | severeError () |
|
Console * | getSciDebugger () |
|
Common::Error | loadGameState (int slot) override |
|
Common::Error | saveGameState (int slot, const Common::String &desc, bool isAutosave=false) override |
|
bool | canLoadGameStateCurrently (Common::U32String *msg=nullptr) override |
|
bool | canSaveGameStateCurrently (Common::U32String *msg=nullptr) override |
|
void | syncSoundSettings () override |
| from ScummVM to the game
|
|
void | updateSoundMixerVolumes () |
|
uint32 | getTickCount () |
|
void | setTickCount (const uint32 ticks) |
|
void | errorString (const char *buf1, char *buf2, int size) override |
|
int | getAutosaveSlot () const override |
|
const SciGameId & | getGameId () const |
|
const char * | getGameIdStr () const |
|
Common::Language | getLanguage () const |
|
bool | isLanguageRTL () const |
|
Common::Platform | getPlatform () const |
|
bool | isDemo () const |
|
bool | isCD () const |
|
bool | useHiresGraphics () const |
|
bool | isBE () const |
|
bool | hasParser () const |
|
bool | hasMacFonts () const |
|
bool | hasMacIconBar () const |
|
bool | hasMacSaveRestoreDialogs () const |
|
ResourceManager * | getResMan () const |
|
ScriptPatcher * | getScriptPatcher () const |
|
Kernel * | getKernel () const |
|
EngineState * | getEngineState () const |
|
Vocabulary * | getVocabulary () const |
|
EventManager * | getEventManager () const |
|
reg_t | getGameObject () const |
|
Common::RandomSource & | getRNG () |
|
Common::String | getSavegameName (int nr) const |
|
Common::String | getSavegamePattern () const |
|
Common::String | getFilePrefix () const |
|
Common::String | wrapFilename (const Common::String &name) const |
|
Common::String | unwrapFilename (const Common::String &name) const |
|
const char * | getGameObjectName () |
|
int | inQfGImportRoom () const |
|
void | showQfgImportMessageBox () const |
|
void | sleep (uint32 msecs) |
|
void | scriptDebug () |
|
bool | checkExportBreakpoint (uint16 script, uint16 pubfunct) |
|
bool | checkSelectorBreakpoint (BreakpointType breakpointType, reg_t send_obj, int selector) |
|
bool | checkAddressBreakpoint (const reg_t &address) |
|
bool | checkKernelBreakpoint (const Common::String &name) |
|
Common::String | strSplitLanguage (const char *str, uint16 *splitLanguage, const char *sep="\---------\) |
|
Common::String | strSplit (const char *str, const char *sep="\---------\) |
|
kLanguage | getSciLanguage () |
|
void | setSciLanguage (kLanguage lang) |
|
void | setSciLanguage () |
|
Common::String | getSciLanguageString (const Common::String &str, kLanguage requestedLanguage, kLanguage *secondaryLanguage=nullptr, uint16 *languageSplitter=nullptr) const |
|
void | checkVocabularySwitch () |
|
void | initGraphics () |
|
void | suggestDownloadGK2SubTitlesPatch () |
|
Common::MacResManager * | getMacExecutable () |
|
MetaEngine * | getMetaEngine () const |
|
void | setMetaEngine (MetaEngine *metaEngine) |
|
PauseToken | pauseEngine () |
|
bool | isPaused () const |
|
void | openMainMenuDialog () |
|
uint32 | getTotalPlayTime () const |
|
void | setTotalPlayTime (uint32 time=0) |
|
Common::TimerManager * | getTimerManager () |
|
Common::EventManager * | getEventManager () |
|
Common::SaveFileManager * | getSaveFileManager () |
|
bool | existExtractedCDAudioFiles (uint track=1) |
|
bool | isDataAndCDAudioReadFromSameCD () |
|
void | warnMissingExtractedCDAudio () |
|
void | handleAutoSave () |
|
void | saveAutosaveIfEnabled () |
|
virtual bool | canSaveAutosaveCurrently () |
|
virtual bool | gameTypeHasAddOns () const |
|
virtual bool | dirCanBeGameAddOn (const Common::FSDirectory &dir) const |
|
virtual bool | dirMustBeGameAddOn (const Common::FSDirectory &dir) const |
|
Common::ErrorCode | updateAddOns (const MetaEngine *metaEngine) const |
|
| Engine (OSystem *syst) |
|
virtual | ~Engine () |
|
virtual void | initializePath (const Common::FSNode &gamePath) |
|
virtual GUI::Debugger * | getDebugger () final |
|
void | setDebugger (GUI::Debugger *debugger) |
|
GUI::Debugger * | getOrCreateDebugger () |
|
bool | enhancementEnabled (int32 cls) |
|
virtual void | applyGameSettings () |
|
virtual void | flipMute () |
|
virtual Common::String | getSaveStateName (int slot) const |
|
virtual Common::Error | loadGameStream (Common::SeekableReadStream *stream) |
|
void | setGameToLoadSlot (int slot) |
|
virtual Common::Error | saveGameStream (Common::WriteStream *stream, bool isAutosave=false) |
|
bool | saveGameDialog () |
|
bool | loadGameDialog () |
|
int Sci::SciEngine::getAutosaveSlot |
( |
| ) |
const |
|
inlineoverridevirtual |
Disable support for ScummVM autosaves.
A lot of SCI games already have an autosaving mechanism. Also, a lot of games have death screens when the player does something wrong, and autosaves could kick in when the death screen is shown, which makes them useless, since the player can only restore or restart.
Another place where autosaves could kick in is during screens with internal loops, e.g. the inventory screen, where the autosave created would be invalid, as the internal loop isn't persisted in saved games.
For now, we allow saving in places where the user has control via GuestAdditions::userHasControl(), but as mentioned above, these do not cover cases where the user does have control, but saving would either be useless (e.g. in death screens) or invalid saved would be created (e.g. while the inventory screen is open).
In the future, if we are able to detect all death screens, all internal loops and generally all places where saving shouldn't be allowed, we could re-enable this feature.
Reimplemented from Engine.