ScummVM API documentation
Ultima::Ultima0::Ultima0Engine Class Reference
Inheritance diagram for Ultima::Ultima0::Ultima0Engine:
Engine Ultima::Ultima0::Events Ultima::Ultima0::UIElement

Public Member Functions

 Ultima0Engine (OSystem *syst, const Ultima::UltimaGameDescription *gameDesc)
 
bool shouldQuit () const override
 
bool hasFeature (EngineFeature f) const override
 
void setRandomSeed (uint seed)
 
uint getRandomNumber (uint maxVal=RND_MAX)
 
uint getRandomNumber (uint minVal, uint maxVal)
 
bool isEnhanced () const
 
bool canLoadGameStateCurrently (Common::U32String *msg=nullptr) override
 
bool canSaveGameStateCurrently (Common::U32String *msg=nullptr) override
 
Common::Error loadGameStream (Common::SeekableReadStream *stream) override
 
Common::Error saveGameStream (Common::WriteStream *stream, bool isAutosave=false) override
 
bool savegamesExist () const
 
void playMidi (const char *name)
 
void stopMidi ()
 
bool isMidiPlaying () const
 
- Public Member Functions inherited from Engine
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 void initializePath (const Common::FSNode &gamePath)
 
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 Member Functions inherited from Ultima::Ultima0::Events
void runGame ()
 
void replaceView (UIElement *ui, bool replaceAllViews=false)
 
void replaceView (const Common::String &name, bool replaceAllViews=false)
 
void addView (UIElement *ui)
 
void addView (const Common::String &name)
 
void clearViews ()
 
void popView ()
 
void redrawViews ()
 
UIElementfocusedView () const
 
UIElementpriorView () const
 
bool isPresent (const Common::String &name) const
 
bool isInCombat () const
 
Graphics::ScreengetScreen () const
 
void drawElements ()
 
void addKeypress (const Common::KeyCode kc)
 
void draw () override
 
bool tick () override
 
void close () override
 
- Public Member Functions inherited from Ultima::Ultima0::UIElement
 UIElement (const Common::String &name, UIElement *uiParent)
 
 UIElement (const Common::String &name)
 
bool needsRedraw () const
 
void redraw ()
 
void focus ()
 
bool isFocused () const
 
Common::String getName () const
 
void replaceView (UIElement *ui, bool replaceAllViews=false)
 
void replaceView (const Common::String &name, bool replaceAllViews=false)
 
void addView (UIElement *ui)
 
void addView (const Common::String &name)
 
void addView ()
 
void open ()
 
int getRandomNumber (int minNumber, int maxNumber)
 
int getRandomNumber (int maxNumber)
 
virtual void setBounds (const Common::Rect &r)
 
Common::Rect getBounds () const
 
Gfx::GfxSurface getSurface () const
 
virtual void clearSurface ()
 
virtual UIElementfindView (const Common::String &name)
 
bool send (const MouseMoveMessage &msg)
 
bool send (const Common::String &viewName, const FocusMessage &msg)
 
bool send (const FocusMessage &msg)
 
bool send (const Common::String &viewName, const UnfocusMessage &msg)
 
bool send (const UnfocusMessage &msg)
 
bool send (const Common::String &viewName, const MouseEnterMessage &msg)
 
bool send (const MouseEnterMessage &msg)
 
bool send (const Common::String &viewName, const MouseLeaveMessage &msg)
 
bool send (const MouseLeaveMessage &msg)
 
bool send (const Common::String &viewName, const KeypressMessage &msg)
 
bool send (const KeypressMessage &msg)
 
bool send (const Common::String &viewName, const MouseDownMessage &msg)
 
bool send (const MouseDownMessage &msg)
 
bool send (const Common::String &viewName, const MouseUpMessage &msg)
 
bool send (const MouseUpMessage &msg)
 
bool send (const Common::String &viewName, const ActionMessage &msg)
 
bool send (const ActionMessage &msg)
 
bool send (const Common::String &viewName, const GameMessage &msg)
 
bool send (const GameMessage &msg)
 
bool send (const Common::String &viewName, const ValueMessage &msg)
 
bool send (const ValueMessage &msg)
 

Public Attributes

Graphics::Palette _palette
 
PlayerInfo _player
 
WorldMapInfo _worldMap
 
DungeonMapInfo _dungeon
 
bool _showMinimap = false
 
MusicPlayer_music = nullptr
 
- Public Attributes inherited from Engine
OSystem_system
 
Audio::Mixer_mixer
 

Protected Member Functions

Common::Error run () override
 
- Protected Member Functions inherited from Engine
virtual int runDialog (GUI::Dialog &dialog)
 
void defaultSyncSoundSettings ()
 
virtual void pauseEngineIntern (bool pause)
 
- Protected Member Functions inherited from Ultima::Ultima0::Events
void processEvent (Common::Event &ev)
 
bool msgAction (const ActionMessage &e) override
 
bool msgFocus (const FocusMessage &e) override
 
bool msgUnfocus (const UnfocusMessage &e) override
 
bool msgMouseEnter (const MouseEnterMessage &e) override
 
bool msgMouseLeave (const MouseLeaveMessage &e) override
 
bool msgKeypress (const KeypressMessage &e) override
 
bool msgMouseDown (const MouseDownMessage &e) override
 
bool msgMouseUp (const MouseUpMessage &e) override
 
bool msgMouseMove (const MouseMoveMessage &e) override
 
- Protected Member Functions inherited from Ultima::Ultima0::UIElement
void delaySeconds (uint seconds)
 
void delayFrames (uint frames)
 
bool isDelayActive () const
 
void cancelDelay ()
 
virtual void timeout ()
 
virtual bool msgGame (const GameMessage &e)
 
virtual bool msgValue (const ValueMessage &e)
 

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 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
 
- Protected Attributes inherited from Ultima::Ultima0::UIElement
UIElement_parent
 
Common::Array< UIElement * > _children
 
Common::Rect _innerBounds
 
Bounds _bounds
 
bool _needsRedraw = true
 
Common::String _name
 

Member Function Documentation

◆ run()

Common::Error Ultima::Ultima0::Ultima0Engine::run ( )
overrideprotectedvirtual

Initialize the engine and start its main loop.

Returns
kNoError on success, otherwise an error code.

Implements Engine.

◆ shouldQuit()

bool Ultima::Ultima0::Ultima0Engine::shouldQuit ( ) const
inlineoverridevirtual

Returns true if the game should quit

Implements Ultima::Ultima0::Events.

◆ hasFeature()

bool Ultima::Ultima0::Ultima0Engine::hasFeature ( EngineFeature  f) const
overridevirtual

Returns supported engine features

Reimplemented from Engine.

◆ setRandomSeed()

void Ultima::Ultima0::Ultima0Engine::setRandomSeed ( uint  seed)
inline

Sets the random number seed

◆ getRandomNumber()

uint Ultima::Ultima0::Ultima0Engine::getRandomNumber ( uint  maxVal = RND_MAX)
inline

Get a random number

◆ isEnhanced()

bool Ultima::Ultima0::Ultima0Engine::isEnhanced ( ) const
inline

Returns true if enhancements are turned on

◆ canLoadGameStateCurrently()

bool Ultima::Ultima0::Ultima0Engine::canLoadGameStateCurrently ( Common::U32String msg = nullptr)
inlineoverridevirtual

Returns true if a savegame can be loaded

Reimplemented from Engine.

◆ canSaveGameStateCurrently()

bool Ultima::Ultima0::Ultima0Engine::canSaveGameStateCurrently ( Common::U32String msg = nullptr)
overridevirtual

Returns true if the game can be saved

Reimplemented from Engine.

◆ loadGameStream()

Common::Error Ultima::Ultima0::Ultima0Engine::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::Ultima0::Ultima0Engine::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.

◆ savegamesExist()

bool Ultima::Ultima0::Ultima0Engine::savegamesExist ( ) const

Returns true if any savegames exist


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