Public Member Functions | |
LastExpressEngine (OSystem *syst, const ADGameDescription *gd) | |
Common::RandomSource & | getRandom () |
ArchiveManager * | getArchiveManager () const |
GraphicsManager * | getGraphicsManager () const |
SubtitleManager * | getSubtitleManager () const |
MemoryManager * | getMemoryManager () const |
MessageManager * | getMessageManager () const |
NISManager * | getNISManager () const |
SoundManager * | getSoundManager () const |
LogicManager * | getLogicManager () const |
OtisManager * | getOtisManager () const |
SpriteManager * | getSpriteManager () const |
SaveManager * | getSaveManager () const |
VCR * | getVCR () const |
Menu * | getMenu () const |
Clock * | getClock () const |
bool | handleEvents () |
bool | isDemo () const |
bool | isGoldEdition () const |
bool | isCompressed () const |
Common::String | getTargetName () const |
void | startUp () |
void | shutDown () |
void | waitForTimer (int millis) |
void | initGameData () |
void | startNewGame () |
void | engineEventHandler (Event *event) |
int32 | getSoundFrameCounter () |
bool | getEventTickInternal () |
void | setEventTickInternal (bool flag) |
void | mouseSetLeftClicked (bool hasClicked) |
void | mouseSetRightClicked (bool hasClicked) |
bool | mouseHasLeftClicked () |
bool | mouseHasRightClicked () |
void | doBeetle () |
void | endBeetle () |
void | positionSprite (Sprite *sprite, Common::Point coord) |
void | doCredits () |
void | abortCredits () |
void | creditsMouse (Event *event) |
void | creditsTimer (Event *event) |
int32 | readTGAIntoMemory (const char *filename, TGAHeader *tgaHeader) |
void | constructPalette (TGAHeader *tgaHeader, uint16 *palette) |
bool | demoEnding (bool wonGame) |
void | demoEndingMouse (Event *event) |
void | demoEndingTimer (Event *event) |
void | engineEventHandlerWrapper (Event *event) |
void | nodeStepMouseWrapper (Event *event) |
void | nodeStepTimerWrapper (Event *event) |
void | eggMouseWrapper (Event *event) |
void | eggTimerWrapper (Event *event) |
void | nisMouseWrapper (Event *event) |
void | nisTimerWrapper (Event *event) |
void | creditsMouseWrapper (Event *event) |
void | creditsTimerWrapper (Event *event) |
void | demoEndingMouseWrapper (Event *event) |
void | demoEndingTimerWrapper (Event *event) |
void | fightMouseWrapper (Event *event) |
void | fightTimerWrapper (Event *event) |
void | emptyHandler (Event *event) |
int | doFight (int fightId) |
void | abortFight () |
void | showEngineInfo () |
![]() | |
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 int | getAutosaveSlot () const |
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 void | errorString (const char *buf_input, char *buf_output, int buf_output_size) |
virtual GUI::Debugger * | getDebugger () final |
void | setDebugger (GUI::Debugger *debugger) |
GUI::Debugger * | getOrCreateDebugger () |
bool | enhancementEnabled (int32 cls) |
virtual void | syncSoundSettings () |
virtual void | applyGameSettings () |
virtual void | flipMute () |
virtual Common::String | getSaveStateName (int slot) const |
virtual Common::Error | loadGameState (int slot) |
virtual Common::Error | loadGameStream (Common::SeekableReadStream *stream) |
void | setGameToLoadSlot (int slot) |
virtual bool | canLoadGameStateCurrently (Common::U32String *msg=nullptr) |
virtual Common::Error | saveGameState (int slot, const Common::String &desc, bool isAutosave=false) |
virtual Common::Error | saveGameStream (Common::WriteStream *stream, bool isAutosave=false) |
virtual bool | canSaveGameStateCurrently (Common::U32String *msg=nullptr) |
bool | saveGameDialog () |
bool | loadGameDialog () |
Static Public Member Functions | |
static void | soundTimerHandler (void *refCon) |
![]() | |
static void | quitGame () |
static bool | shouldQuit () |
static bool | warnUserAboutUnsupportedGame (Common::String msg=Common::String()) |
static bool | warnUserAboutUnsupportedAddOn (Common::String addOnName) |
static void | errorAddingAddOnWithoutBaseGame (Common::String addOnName, Common::String gameId) |
static void | errorUnsupportedGame (Common::String extraMsg) |
Public Attributes | |
int32 | _soundFrameCounter = 0 |
Common::Mutex * | _soundMutex |
const char * | _savegameFilename = nullptr |
const char * | _savegameTempNames [7] |
const char * | _savegameNames [6] |
CVCRFile * | _savegame = nullptr |
int32 | _currentGameFileColorId = -1 |
int32 | _gracePeriodTimer = 0 |
bool | _eventTickInternal = false |
bool | _doShowCredits = false |
int32 | _currentSavePoint = 0 |
int32 | _lastSavePointIdInFile = 0 |
int32 | _gameTimeOfLastSavePointInFile = 0 |
int32 | _gracePeriodIndex = 0 |
int32 | _fightSkipCounter = 0 |
bool | _navigationEngineIsRunning = false |
bool | _stopUpdatingCharacters = false |
bool | _charactersUpdateRecursionFlag = false |
bool | _mouseHasLeftClicked = false |
bool | _mouseHasRightClicked = false |
bool | _fastWalkJustDeactivated = false |
int32 | _cursorX = 320 |
int32 | _cursorY = 240 |
int32 | _cursorXOffscreenOffset = 0 |
int32 | _cursorYOffscreenOffset = 0 |
int | _cursorType = 0 |
bool | _systemEventLeftMouseDown = false |
bool | _systemEventRightMouseDown = false |
Common::Point | _systemEventLastMouseCoords |
bool | _pendingExitEvent = false |
bool | _exitFromMenuButton = false |
int32 | _lastForcedScreenUpdateTicks = 0 |
Seq * | _doorSeqs [8] = { nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr } |
Seq * | _clockHandsSeqs [2] = { nullptr, nullptr } |
int32 | _clockHandsValues [2] = { 0, 0 } |
int32 | _fudgePosition [41] |
byte * | _globalMemoryPool = nullptr |
byte * | _soundMemoryPool = nullptr |
byte * | _cursorsMemoryPool = nullptr |
Characters * | _characters = nullptr |
SVCRSavePointHeader * | _savePointHeaders = nullptr |
CBeetle * | _beetle = nullptr |
int | _savedFrameCounter = 0 |
int32 | _savedFrameInterval = 0 |
int | _doCredits = 0 |
void(LastExpressEngine::* | _savedTimerEventHandle )(Event *) = nullptr |
void(LastExpressEngine::* | _savedMouseEventHandle )(Event *) = nullptr |
CFight * | _fight = nullptr |
bool | _lockGracePeriod = false |
![]() | |
OSystem * | _system |
Audio::Mixer * | _mixer |
Protected Member Functions | |
Common::Error | run () override |
bool | hasFeature (EngineFeature f) const override |
![]() | |
virtual int | runDialog (GUI::Dialog &dialog) |
void | defaultSyncSoundSettings () |
virtual void | pauseEngineIntern (bool pause) |
Additional Inherited Members | |
![]() | |
enum | EngineFeature { kSupportsSubtitleOptions, kSupportsReturnToLauncher, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime, kSupportsChangingOptionsDuringRuntime, kSupportsArbitraryResolutions, kSupportsHelp, kSupportsQuitDialogOverride } |
![]() | |
Common::TimerManager * | _timer |
Common::EventManager * | _eventMan |
Common::SaveFileManager * | _saveFileMan |
GUI::Dialog * | _mainMenuDialog |
const Common::String | _targetName |
int32 | _activeEnhancements = kEnhGameBreakingBugFixes |
|
overrideprotectedvirtual |
Initialize the engine and start its main loop.
Implements Engine.
|
overrideprotectedvirtual |
Determine whether the engine supports the specified feature.
Reimplemented from Engine.
const char* LastExpress::LastExpressEngine::_savegameTempNames[7] |
const char* LastExpress::LastExpressEngine::_savegameNames[6] |
int32 LastExpress::LastExpressEngine::_fudgePosition[41] |