22 #ifndef ENGINES_ENGINE_H 23 #define ENGINES_ENGINE_H 25 #include "common/array.h" 26 #include "common/error.h" 27 #include "common/rect.h" 28 #include "common/scummsys.h" 29 #include "common/str.h" 30 #include "common/language.h" 31 #include "common/platform.h" 32 #include "common/queue.h" 33 #include "common/singleton.h" 34 #include "engines/enhancements.h" 47 class SaveFileManager;
50 class SeekableReadStream;
93 template<
class... TParam>
116 PauseToken(
const PauseToken &);
117 PauseToken(PauseToken &&);
123 void operator=(
const PauseToken &);
124 void operator=(PauseToken &&);
137 bool isActive()
const {
return _engine !=
nullptr; }
140 constexpr PauseToken(
Engine *engine) : _engine(engine) {}
188 int32 _activeEnhancements = kEnhGameBreakingBugFixes;
227 uint32 _pauseStartTime;
232 int _pauseScreenChangeID;
239 int32 _engineStartTime;
244 int _autosaveInterval;
249 int _lastAutosaveTime;
272 static bool _quitRequested;
384 virtual void errorString(
const char *buf_input,
char *buf_output,
int buf_output_size);
399 _debugger = debugger;
414 bool enhancementEnabled(int32 cls);
433 virtual void syncSoundSettings();
445 virtual void flipMute();
481 void setGameToLoadSlot(
int slot);
521 bool saveGameDialog();
526 bool loadGameDialog();
534 virtual void pauseEngineIntern(
bool pause);
552 virtual void drawHotspots();
564 virtual bool hotspotDirty()
const;
576 virtual void showHotspots(
bool show);
583 static void quitGame();
590 static bool shouldQuit();
631 bool warnBeforeOverwritingAutosave();
643 void openMainMenuDialog();
663 static bool warnUserAboutUnsupportedAddOn(
Common::String addOnName);
668 static void warnUserAboutTestingMode();
691 uint32 getTotalPlayTime()
const;
702 void setTotalPlayTime(uint32 time = 0);
721 bool existExtractedCDAudioFiles(uint track = 1);
726 bool isDataAndCDAudioReadFromSameCD();
730 void warnMissingExtractedCDAudio();
735 void handleAutoSave();
740 void saveAutosaveIfEnabled();
746 return canSaveGameStateCurrently();
762 virtual bool gameTypeHasAddOns()
const;
784 void defaultSyncSoundSettings();
817 bool empty() {
return _chainedGames.empty(); }
821 #define ChainedGamesMan ChainedGamesManager::instance()
virtual int getAutosaveSlot() const
Definition: engine.h:755
Common::TimerManager * getTimerManager()
Definition: engine.h:707
bool _hotspotPrevCursorVisible
Definition: engine.h:207
EngineFeature
Definition: engine.h:282
static String format(MSVC_PRINTF const char *fmt,...) GCC_PRINTF(1
bool _showHotspots
Definition: engine.h:193
bool isActive() const
Definition: engine.h:137
Definition: debugger.h:41
ErrorCode
Definition: error.h:47
bool empty()
Definition: engine.h:817
OSystem * _system
Definition: engine.h:154
Definition: printman.h:30
MetaEngine * getMetaEngine() const
Definition: engine.h:595
int FORCEINLINE GCC_PRINTF(2, 0) int vsprintf_s(T(&dst)[N]
void GUIErrorMessageFormatU32StringPtr(const Common::U32String *fmt,...)
virtual void applyGameSettings()
Definition: engine.h:440
Definition: algorithm.h:29
Definition: formatinfo.h:28
void GUIErrorMessageFormat(const Common::U32String &fmt, TParam... param)
Definition: engine.h:94
void GUIErrorMessageWithURL(const Common::U32String &msg, const char *url)
const Common::String _targetName
Definition: engine.h:186
Common::EventManager * getEventManager()
Definition: engine.h:711
Common::EventManager * _eventMan
Definition: engine.h:168
bool isPaused() const
Definition: engine.h:638
bool _hotspotForceRedraw
Definition: engine.h:200
void setDebugger(GUI::Debugger *debugger)
Definition: engine.h:397
GUI::Dialog * _mainMenuDialog
Definition: engine.h:177
void GUIErrorMessage(const Common::U32String &msg, const char *url=nullptr)
Definition: savefile.h:142
Common::TimerManager * _timer
Definition: engine.h:164
void setMetaEngine(MetaEngine *metaEngine)
Definition: engine.h:600
Common::SaveFileManager * getSaveFileManager()
Definition: engine.h:715
virtual GUI::Debugger * getDebugger() final
Definition: engine.h:389
virtual Common::String getSaveStateName(int slot) const
Definition: engine.h:450
Common::SaveFileManager * _saveFileMan
Definition: engine.h:172
virtual bool hasFeature(EngineFeature f) const
Definition: engine.h:412
Definition: singleton.h:42
virtual bool canSaveAutosaveCurrently()
Definition: engine.h:745
Audio::Mixer * _mixer
Definition: engine.h:158