ScummVM API documentation
Ultima::Ultima4::Ultima4Engine Class Reference
Inheritance diagram for Ultima::Ultima4::Ultima4Engine:
Engine

Public Member Functions

 Ultima4Engine (OSystem *syst, const Ultima::UltimaGameDescription *gameDesc)
 
bool hasFeature (EngineFeature f) const override
 
bool isEnhanced () const
 
uint getRandomNumber (uint maxVal)
 
bool canLoadGameStateCurrently (Common::U32String *msg=nullptr) override
 
bool canSaveGameStateCurrently (Common::U32String *msg=nullptr) override
 
Common::Error saveGameState (int slot, const Common::String &desc, bool isAutosave=false) override
 
Common::Error loadGameStream (Common::SeekableReadStream *stream) override
 
Common::Error saveGameStream (Common::WriteStream *stream, bool isAutosave=false) override
 
void setToJourneyOnwards ()
 
void quitGame ()
 
- Public Member Functions inherited from Engine
virtual void showHotspots (bool show)
 
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) const
 
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)
 
bool saveGameDialog ()
 
bool loadGameDialog ()
 

Public Attributes

Armors * _armors
 
Codex * _codex
 
Config * _config
 
Context * _context
 
Death * _death
 
DialogueLoaders * _dialogueLoaders
 
GameController * _game
 
Items * _items
 
MapLoaders * _mapLoaders
 
Moongates * _moongates
 
Music * _music
 
ResponseParts * _responseParts
 
SaveGame * _saveGame
 
Screen * _screen
 
Shrines * _shrines
 
SoundManager * _soundManager
 
Spells * _spells
 
TileMaps * _tileMaps
 
TileRules * _tileRules
 
TileSets * _tileSets
 
Weapons * _weapons
 
Common::Array< Common::String > _hawkwindText
 
- Public Attributes inherited from Engine
OSystem * _system
 
Audio::Mixer * _mixer
 

Protected Member Functions

Common::Error run () override
 
bool initialize ()
 
bool isDataRequired (Common::Path &folder, int &majorVersion, int &minorVersion)
 
- 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
 

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)
 
- 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
 

Member Function Documentation

◆ run()

Common::Error Ultima::Ultima4::Ultima4Engine::run ( )
overrideprotectedvirtual

Initialize the engine and start its main loop.

Returns
kNoError on success, otherwise an error code.

Implements Engine.

◆ isDataRequired()

bool Ultima::Ultima4::Ultima4Engine::isDataRequired ( Common::Path &  folder,
int &  majorVersion,
int &  minorVersion 
)
protected

Returns the data archive folder and version that's required

◆ hasFeature()

bool Ultima::Ultima4::Ultima4Engine::hasFeature ( EngineFeature  f) const
overridevirtual

Returns supported engine features

Reimplemented from Engine.

◆ isEnhanced()

bool Ultima::Ultima4::Ultima4Engine::isEnhanced ( ) const

Returns true if the game is running an enhanced version as compared to the original game

◆ getRandomNumber()

uint Ultima::Ultima4::Ultima4Engine::getRandomNumber ( uint  maxVal)
inline

Get a random number

◆ canLoadGameStateCurrently()

bool Ultima::Ultima4::Ultima4Engine::canLoadGameStateCurrently ( Common::U32String *  msg = nullptr)
overridevirtual

Returns true if a savegame can be loaded

Reimplemented from Engine.

◆ canSaveGameStateCurrently()

bool Ultima::Ultima4::Ultima4Engine::canSaveGameStateCurrently ( Common::U32String *  msg = nullptr)
overridevirtual

Returns true if the game can be saved

Reimplemented from Engine.

◆ saveGameState()

Common::Error Ultima::Ultima4::Ultima4Engine::saveGameState ( int  slot,
const Common::String &  desc,
bool  isAutosave = false 
)
overridevirtual

Save a game state.

Parameters
slotthe slot into which the savestate should be stored
desca description for the savestate, entered by the user
isAutosaveExpected to be true if an autosave is being created
Returns
returns kNoError on success, else an error code.

Reimplemented from Engine.

◆ loadGameStream()

Common::Error Ultima::Ultima4::Ultima4Engine::loadGameStream ( Common::SeekableReadStream *  stream)
overridevirtual

Load a game state.

Parameters
streamthe stream to load the savestate from
Returns
returns kNoError on success, else an error code.

Reimplemented from Engine.

◆ saveGameStream()

Common::Error Ultima::Ultima4::Ultima4Engine::saveGameStream ( Common::WriteStream *  stream,
bool  isAutosave = false 
)
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
returns kNoError on success, else an error code.

Reimplemented from Engine.

◆ setToJourneyOnwards()

void Ultima::Ultima4::Ultima4Engine::setToJourneyOnwards ( )

Specifies to load the previous save as the actual game starts. Used by the main menu when the Journey Onwards option is selected

◆ quitGame()

void Ultima::Ultima4::Ultima4Engine::quitGame ( )

Flags to quit the game


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