ScummVM API documentation
MADS::MADSEngine Class Referenceabstract
Inheritance diagram for MADS::MADSEngine:
Engine MADS::Dragonsphere::DragonsphereEngine MADS::Forest::ForestEngine MADS::Phantom::PhantomEngine MADS::RexNebular::RexNebularEngine

Public Member Functions

 MADSEngine (OSystem *syst, const MADSGameDescription *gameDesc)
 
void initializePath (const Common::FSNode &gamePath) override
 
uint32 getFeatures () const
 
Common::Language getLanguage () const
 
Common::Platform getPlatform () const
 
uint16 getVersion () const
 
uint32 getGameID () const
 
uint32 getGameFeatures () const
 
bool isDemo () const
 
bool isCDROM () const
 
void readConfigFile ()
 
int getRandomNumber (int maxNumber)
 
int getRandomNumber (int minNumber, int maxNumber)
 
Graphics::ScreengetScreen () const
 
bool hasPendingKey ()
 
int getKey ()
 
void flushKeys ()
 
int getMouseState (int &x, int &y)
 
uint32 getMillis ()
 
int main_cheating_key (int mykey) const
 
int main_normal_key (int mykey) const
 
virtual int main_copy_verify ()
 
bool canLoadGameStateCurrently (Common::U32String *msg) override
 
bool canSaveGameStateCurrently (Common::U32String *msg) override
 
Common::Error saveGameStream (Common::WriteStream *stream, bool isAutosave) override
 
Common::Error loadGameStream (Common::SeekableReadStream *stream) override
 
virtual void syncRoom (Common::Serializer &s)=0
 
SaveStateList listSaves () const
 
virtual void global_init_code ()=0
 
virtual void section_music (int section_num)=0
 
virtual void global_section_constructor ()=0
 
virtual void global_daemon_code ()=0
 
virtual void global_pre_parser_code ()=0
 
virtual void global_parser_code ()=0
 
virtual void global_error_code ()=0
 
virtual void global_room_init ()=0
 
virtual void global_sound_driver ()=0
 
virtual void global_game_main_loop ()
 
virtual void global_verb_filter ()
 
virtual void player_keep_walking ()
 
void playSpeech (Audio::AudioStream *stream)
 
void stopSpeech ()
 
bool isSpeechPlaying () const
 
void setTimerFunction (TimerFunction fn)
 
- Public Member Functions inherited from Engine
virtual void showHotspots (bool show)
 
MetaEnginegetMetaEngine () const
 
void setMetaEngine (MetaEngine *metaEngine)
 
PauseToken pauseEngine ()
 
bool isPaused () const
 
void openMainMenuDialog ()
 
uint32 getTotalPlayTime () const
 
void setTotalPlayTime (uint32 time=0)
 
Common::TimerManagergetTimerManager ()
 
Common::EventManagergetEventManager ()
 
Common::SaveFileManagergetSaveFileManager ()
 
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 Common::Error run ()=0
 
virtual void errorString (const char *buf_input, char *buf_output, int buf_output_size)
 
virtual GUI::DebuggergetDebugger () final
 
void setDebugger (GUI::Debugger *debugger)
 
GUI::DebuggergetOrCreateDebugger ()
 
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)
 
void setGameToLoadSlot (int slot)
 
virtual Common::Error saveGameState (int slot, const Common::String &desc, bool isAutosave=false)
 
bool saveGameDialog ()
 
bool loadGameDialog ()
 

Public Attributes

MADS::SoundManager_soundManager = nullptr
 
bool _musicFlag = true
 
bool _soundFlag = true
 
bool & _speechFlag = speech_on
 
- Public Attributes inherited from Engine
OSystem_system
 
Audio::Mixer_mixer
 

Protected Member Functions

bool hasFeature (EngineFeature f) const override
 
void pollEvents ()
 
void checkForTimerFunction ()
 
- Protected Member Functions inherited from Engine
virtual int runDialog (GUI::Dialog &dialog)
 
void defaultSyncSoundSettings ()
 
virtual void pauseEngineIntern (bool pause)
 
virtual void getHotspotPositions (Common::Array< Graphics::HotspotInfo > &hotspots)
 
virtual void drawHotspots ()
 
virtual bool hotspotDirty () const
 

Protected Attributes

const MADSGameDescription_gameDescription
 
Common::RandomSource _randomSource
 
Graphics::Screen_screen = nullptr
 
Common::Stack< Common::KeyState_keyEvents
 
uint32 _nextFrameTime = 0
 
Common::Point _mousePos
 
int _mouseButtons = 0
 
Audio::SoundHandle _speechHandle
 
TimerFunction _timerFunction = nullptr
 
uint32 _nextTimerTime = 0
 
- Protected Attributes inherited from Engine
Common::TimerManager_timer
 
Common::EventManager_eventMan
 
Common::SaveFileManager_saveFileMan
 
GUI::Dialog_mainMenuDialog
 
const Common::String _targetName
 
int32 _activeEnhancements = kEnhGameBreakingBugFixes
 
bool _showHotspots
 
bool _hotspotForceRedraw
 
bool _hotspotPrevCursorVisible
 

Additional Inherited Members

- Public Types inherited from Engine
enum  EngineFeature {
  kSupportsSubtitleOptions, kSupportsReturnToLauncher, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime,
  kSupportsChangingOptionsDuringRuntime, kSupportsArbitraryResolutions, kSupportsHelp, kSupportsQuitDialogOverride
}
 
- Static Public Member Functions inherited from Engine
static void quitGame ()
 
static bool shouldQuit ()
 
static bool warnUserAboutUnsupportedGame (Common::String msg=Common::String())
 
static bool warnUserAboutUnsupportedAddOn (Common::String addOnName)
 
static void warnUserAboutTestingMode ()
 
static void errorAddingAddOnWithoutBaseGame (Common::String addOnName, Common::String gameId)
 
static void errorUnsupportedGame (Common::String extraMsg)
 

Member Function Documentation

◆ hasFeature()

bool MADS::MADSEngine::hasFeature ( EngineFeature  f) const
overrideprotectedvirtual

Determine whether the engine supports the specified feature.

Reimplemented from Engine.

◆ initializePath()

void MADS::MADSEngine::initializePath ( const Common::FSNode gamePath)
overridevirtual

Initialize SearchMan according to the game path.

By default, this adds the directory in non-flat mode with a depth of 4 as priority 0 to SearchMan.

Parameters
gamePathThe base directory of the game data.

Reimplemented from Engine.

◆ getMillis()

uint32 MADS::MADSEngine::getMillis ( )

Get the elapsed time in milliseconds

◆ canLoadGameStateCurrently()

bool MADS::MADSEngine::canLoadGameStateCurrently ( Common::U32String msg)
overridevirtual

Indicate whether a game state can be loaded.

Parameters
msgOptional pointer to message explaining why it is disabled

Reimplemented from Engine.

◆ canSaveGameStateCurrently()

bool MADS::MADSEngine::canSaveGameStateCurrently ( Common::U32String msg)
inlineoverridevirtual

Indicate whether a game state can be saved.

Parameters
msgOptional pointer to message explaining why it is disabled

Reimplemented from Engine.

◆ saveGameStream()

Common::Error MADS::MADSEngine::saveGameStream ( Common::WriteStream stream,
bool  isAutosave 
)
overridevirtual

Save a game state.

Parameters
streamThe write stream to save the savegame data to.
isAutosaveExpected to be true if an autosave is being created.
Returns
kNoError on success, otherwise an error code.

Reimplemented from Engine.

◆ loadGameStream()

Common::Error MADS::MADSEngine::loadGameStream ( Common::SeekableReadStream stream)
overridevirtual

Load a game state.

Parameters
streamThe stream to load the save state from.
Returns
kNoError on success, otherwise an error code.

Reimplemented from Engine.

◆ setTimerFunction()

void MADS::MADSEngine::setTimerFunction ( TimerFunction  fn)
inline

Sets the timer function to call at 60Hz


The documentation for this class was generated from the following file: