22 #ifndef ENGINES_ENGINE_H 23 #define ENGINES_ENGINE_H 25 #include "common/scummsys.h" 26 #include "common/str.h" 27 #include "common/language.h" 28 #include "common/platform.h" 29 #include "common/queue.h" 30 #include "common/singleton.h" 42 class SaveFileManager;
45 class SeekableReadStream;
85 template<
class... TParam>
109 #if __cplusplus >= 201103L 117 #if __cplusplus >= 201103L 131 bool isActive()
const {
return _engine !=
nullptr; }
200 uint32 _pauseStartTime;
207 int32 _engineStartTime;
212 int _autosaveInterval;
217 int _lastAutosaveTime;
240 static bool _quitRequested;
352 virtual void errorString(
const char *buf_input,
char *buf_output,
int buf_output_size);
367 _debugger = debugger;
399 virtual void syncSoundSettings();
411 virtual void flipMute();
447 void setGameToLoadSlot(
int slot);
487 bool saveGameDialog();
492 bool loadGameDialog();
500 virtual void pauseEngineIntern(
bool pause);
512 static void quitGame();
519 static bool shouldQuit();
565 bool warnBeforeOverwritingAutosave();
577 void openMainMenuDialog();
601 uint32 getTotalPlayTime()
const;
612 void setTotalPlayTime(uint32 time = 0);
631 bool existExtractedCDAudioFiles(uint track = 1);
636 bool isDataAndCDAudioReadFromSameCD();
640 void warnMissingExtractedCDAudio();
645 void handleAutoSave();
650 void saveAutosaveIfEnabled();
656 return canSaveGameStateCurrently();
673 void defaultSyncSoundSettings();
706 bool empty() {
return _chainedGames.empty(); }
710 #define ChainedGamesMan ChainedGamesManager::instance()
virtual int getAutosaveSlot() const
Definition: engine.h:665
Common::TimerManager * getTimerManager()
Definition: engine.h:617
EngineFeature
Definition: engine.h:250
static String format(MSVC_PRINTF const char *fmt,...) GCC_PRINTF(1
bool isActive() const
Definition: engine.h:131
Definition: debugger.h:41
bool empty()
Definition: engine.h:706
OSystem * _system
Definition: engine.h:148
MetaEngine * getMetaEngine() const
Definition: engine.h:529
int FORCEINLINE GCC_PRINTF(2, 0) int vsprintf_s(T(&dst)[N]
void GUIErrorMessageFormatU32StringPtr(const Common::U32String *fmt,...)
virtual void applyGameSettings()
Definition: engine.h:406
Definition: algorithm.h:29
void GUIErrorMessageFormat(const Common::U32String &fmt, TParam... param)
Definition: engine.h:86
void GUIErrorMessageWithURL(const Common::U32String &msg, const char *url)
const Common::String _targetName
Definition: engine.h:180
Common::EventManager * getEventManager()
Definition: engine.h:621
Common::EventManager * _eventMan
Definition: engine.h:162
bool isPaused() const
Definition: engine.h:572
void setDebugger(GUI::Debugger *debugger)
Definition: engine.h:365
GUI::Dialog * _mainMenuDialog
Definition: engine.h:171
void GUIErrorMessage(const Common::U32String &msg, const char *url=nullptr)
Definition: savefile.h:142
Common::TimerManager * _timer
Definition: engine.h:158
void setMetaEngine(MetaEngine *metaEngine)
Definition: engine.h:534
Common::SaveFileManager * getSaveFileManager()
Definition: engine.h:625
virtual GUI::Debugger * getDebugger() final
Definition: engine.h:357
virtual Common::String getSaveStateName(int slot) const
Definition: engine.h:416
Common::SaveFileManager * _saveFileMan
Definition: engine.h:166
virtual bool hasFeature(EngineFeature f) const
Definition: engine.h:380
Definition: singleton.h:42
virtual bool canSaveAutosaveCurrently()
Definition: engine.h:655
Audio::Mixer * _mixer
Definition: engine.h:152