ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

#include <myst3.h>

Inheritance diagram for Myst3::Myst3Engine:
Collaboration diagram for Myst3::Myst3Engine:

List of all members.

Public Member Functions

 Myst3Engine (OSystem *syst, const Myst3GameDescription *version)
virtual ~Myst3Engine ()
bool hasFeature (EngineFeature f) const override
 Determine whether the engine supports the specified feature.
Common::Platform getPlatform () const
Common::Language getGameLanguage () const
uint32 getGameLocalizationType () const
bool isTextLanguageEnglish () const
bool isWideScreenModEnabled () const
bool canSaveGameStateCurrently () override
 Indicates whether a game state can be saved.
bool canLoadGameStateCurrently () override
 Indicates whether a game state can be loaded.
void tryAutoSaving ()
Common::Error loadGameState (int slot) override
 Load a game state.
Common::Error saveGameState (int slot, const Common::String &desc) override
 Save a game state.
Common::Error loadGameState (Common::String fileName, TransitionType transition)
const DirectorySubEntrygetFileDescription (const Common::String &room, uint32 index, uint16 face, DirectorySubEntry::ResourceType type)
DirectorySubEntryList listFilesMatching (const Common::String &room, uint32 index, uint16 face, DirectorySubEntry::ResourceType type)
Graphics::SurfaceloadTexture (uint16 id)
void goToNode (uint16 nodeID, TransitionType transition)
void loadNode (uint16 nodeID, uint32 roomID=0, uint32 ageID=0)
void unloadNode ()
void loadNodeCubeFaces (uint16 nodeID)
void loadNodeFrame (uint16 nodeID)
void loadNodeMenu (uint16 nodeID)
void setupTransition ()
void drawTransition (TransitionType transitionType)
void dragItem (uint16 statusVar, uint16 movie, uint16 frame, uint16 hoverFrame, uint16 itemVar)
void dragSymbol (uint16 var, uint16 id)
int16 openDialog (uint16 id)
void runNodeInitScripts ()
void runNodeBackgroundScripts ()
void runScriptsFromNode (uint16 nodeID, uint32 roomID=0, uint32 ageID=0)
void runBackgroundSoundScriptsFromNode (uint16 nodeID, uint32 roomID=0, uint32 ageID=0)
void runAmbientScripts (uint32 node)
void loadMovie (uint16 id, uint16 condition, bool resetCond, bool loop)
void playMovieGoToNode (uint16 movie, uint16 node)
void playMovieFullFrame (uint16 movie)
void playSimpleMovie (uint16 id, bool fullframe=false, bool refreshAmbientSounds=false)
void removeMovie (uint16 id)
void setMovieLooping (uint16 id, bool loop)
void addSpotItem (uint16 id, int16 condition, bool fade)
SpotItemFaceaddMenuSpotItem (uint16 id, int16 condition, const Common::Rect &rect)
void loadNodeSubtitles (uint32 id)
void addSunSpot (uint16 pitch, uint16 heading, uint16 intensity, uint16 color, uint16 var, bool varControlledIntensity, uint16 radius)
SunSpot computeSunspotsIntensity (float pitch, float heading)
void setMenuAction (uint16 action)
void animateDirectionChange (float pitch, float heading, uint16 scriptTicks)
void getMovieLookAt (uint16 id, bool start, float &pitch, float &heading)
void drawFrame (bool noSwap=false)
void processInput (bool interactive)
void processEventForKeyboardState (const Common::Event &event)
void processEventForGamepad (const Common::Event &event)
void updateInputState ()
bool inputValidatePressed ()
bool inputEscapePressed ()
bool inputSpacePressed ()
bool inputTilePressed ()
void settingsInitDefaults ()
void settingsLoadToVars ()
void settingsApplyFromVars ()

Static Public Member Functions

static Graphics::SurfacedecodeJpeg (const DirectorySubEntry *jpegDesc)

Public Attributes

GameState_state
Scene_scene
Cursor_cursor
Inventory_inventory
Renderer_gfx
Menu_menu
Database_db
Sound_sound
Ambient_ambient
Common::RandomSource_rnd
Graphics::Surface_projectorBackground

Protected Member Functions

virtual Common::Error run () override
 Init the engine and start its main loop.
virtual void syncSoundSettings () override
 Notify the engine that the sound settings in the config manager may have changed and that it hence should adjust any internal volume etc.
virtual GUI::DebuggergetDebugger () override
 Return the engine's debugger instance, if any.
virtual void pauseEngineIntern (bool pause) override
 Actual implementation of pauseEngine by subclasses.

Private Member Functions

HotSpotgetHoveredHotspot (NodePtr nodeData, uint16 var=0)
void updateCursor ()
bool checkDatafiles ()
bool addArchive (const Common::String &file, bool mandatory)
void openArchives ()
void closeArchives ()
bool isInventoryVisible ()
void interactWithHoveredElement ()

Private Attributes

OSystem_system
Console_console
const Myst3GameDescription_gameDescription
Node_node
Common::Array< Archive * > _archivesCommon
Archive_archiveNode
Script_scriptEngine
Common::Array< ScriptedMovie * > _movies
Common::Array< SunSpot * > _sunspots
Common::Array< Drawable * > _drawables
uint16 _menuAction
ShakeEffect_shakeEffect
RotationEffect_rotationEffect
FrameLimiter_frameLimiter
Transition_transition
bool _inputSpacePressed
bool _inputEnterPressed
bool _inputEscapePressed
bool _inputEscapePressedNotConsumed
bool _inputTildePressed
bool _interactive
uint32 _lastSaveTime
uint32 _backgroundSoundScriptLastRoomId
uint32 _backgroundSoundScriptLastAgeId
bool _inventoryManualHide
 When the widescreen mode is active, the user can manually hide the inventory by clicking on an unused inventory space.

Friends

class Console

Detailed Description

Definition at line 88 of file myst3.h.


Constructor & Destructor Documentation

Myst3::Myst3Engine::Myst3Engine ( OSystem syst,
const Myst3GameDescription version 
)

Definition at line 65 of file myst3.cpp.

Myst3::Myst3Engine::~Myst3Engine (  )  [virtual]

Definition at line 113 of file myst3.cpp.


Member Function Documentation

bool Myst3::Myst3Engine::addArchive ( const Common::String file,
bool  mandatory 
) [private]

Definition at line 228 of file myst3.cpp.

SpotItemFace * Myst3::Myst3Engine::addMenuSpotItem ( uint16  id,
int16  condition,
const Common::Rect rect 
)

Definition at line 1311 of file myst3.cpp.

void Myst3::Myst3Engine::addSpotItem ( uint16  id,
int16  condition,
bool  fade 
)

Definition at line 1305 of file myst3.cpp.

void Myst3::Myst3Engine::addSunSpot ( uint16  pitch,
uint16  heading,
uint16  intensity,
uint16  color,
uint16  var,
bool  varControlledIntensity,
uint16  radius 
)

Definition at line 1801 of file myst3.cpp.

void Myst3::Myst3Engine::animateDirectionChange ( float  pitch,
float  heading,
uint16  scriptTicks 
)

Definition at line 1640 of file myst3.cpp.

bool Myst3::Myst3Engine::canLoadGameStateCurrently (  )  [override, virtual]

Indicates whether a game state can be loaded.

Reimplemented from Engine.

Definition at line 1533 of file myst3.cpp.

bool Myst3::Myst3Engine::canSaveGameStateCurrently (  )  [override, virtual]

Indicates whether a game state can be saved.

Reimplemented from Engine.

Definition at line 1528 of file myst3.cpp.

bool Myst3::Myst3Engine::checkDatafiles (  )  [private]

Definition at line 356 of file myst3.cpp.

void Myst3::Myst3Engine::closeArchives (  )  [private]

Definition at line 349 of file myst3.cpp.

SunSpot Myst3::Myst3Engine::computeSunspotsIntensity ( float  pitch,
float  heading 
)

Definition at line 1822 of file myst3.cpp.

Graphics::Surface * Myst3::Myst3Engine::decodeJpeg ( const DirectorySubEntry jpegDesc  )  [static]

Definition at line 1402 of file myst3.cpp.

void Myst3::Myst3Engine::dragItem ( uint16  statusVar,
uint16  movie,
uint16  frame,
uint16  hoverFrame,
uint16  itemVar 
)

Definition at line 1495 of file myst3.cpp.

void Myst3::Myst3Engine::dragSymbol ( uint16  var,
uint16  id 
)

Definition at line 1465 of file myst3.cpp.

void Myst3::Myst3Engine::drawFrame ( bool  noSwap = false  ) 

Definition at line 687 of file myst3.cpp.

void Myst3::Myst3Engine::drawTransition ( TransitionType  transitionType  ) 

Definition at line 802 of file myst3.cpp.

virtual GUI::Debugger* Myst3::Myst3Engine::getDebugger (  )  [inline, override, protected, virtual]

Return the engine's debugger instance, if any.

Used by error() to invoke the debugger when a severe error is reported.

Reimplemented from Engine.

Definition at line 94 of file myst3.h.

const DirectorySubEntry * Myst3::Myst3Engine::getFileDescription ( const Common::String room,
uint32  index,
uint16  face,
DirectorySubEntry::ResourceType  type 
)

Definition at line 1327 of file myst3.cpp.

Common::Language Myst3::Myst3Engine::getGameLanguage (  )  const

Definition at line 318 of file myst3/detection.cpp.

uint32 Myst3::Myst3Engine::getGameLocalizationType (  )  const

Definition at line 322 of file myst3/detection.cpp.

HotSpot * Myst3::Myst3Engine::getHoveredHotspot ( NodePtr  nodeData,
uint16  var = 0 
) [private]

Definition at line 372 of file myst3.cpp.

void Myst3::Myst3Engine::getMovieLookAt ( uint16  id,
bool  start,
float &  pitch,
float &  heading 
)

Definition at line 1706 of file myst3.cpp.

Common::Platform Myst3::Myst3Engine::getPlatform (  )  const

Definition at line 314 of file myst3/detection.cpp.

void Myst3::Myst3Engine::goToNode ( uint16  nodeID,
TransitionType  transition 
)

Definition at line 811 of file myst3.cpp.

bool Myst3::Myst3Engine::hasFeature ( EngineFeature  f  )  const [override, virtual]

Determine whether the engine supports the specified feature.

Reimplemented from Engine.

Definition at line 134 of file myst3.cpp.

bool Myst3::Myst3Engine::inputEscapePressed (  ) 

Definition at line 1789 of file myst3.cpp.

bool Myst3::Myst3Engine::inputSpacePressed (  ) 

Definition at line 1793 of file myst3.cpp.

bool Myst3::Myst3Engine::inputTilePressed (  ) 

Definition at line 1797 of file myst3.cpp.

bool Myst3::Myst3Engine::inputValidatePressed (  ) 

Definition at line 1783 of file myst3.cpp.

void Myst3::Myst3Engine::interactWithHoveredElement (  )  [private]

Definition at line 662 of file myst3.cpp.

bool Myst3::Myst3Engine::isInventoryVisible (  )  [private]

Definition at line 778 of file myst3.cpp.

bool Myst3::Myst3Engine::isTextLanguageEnglish (  )  const

Definition at line 341 of file myst3.cpp.

bool Myst3::Myst3Engine::isWideScreenModEnabled (  )  const

Definition at line 1935 of file myst3.cpp.

DirectorySubEntryList Myst3::Myst3Engine::listFilesMatching ( const Common::String room,
uint32  index,
uint16  face,
DirectorySubEntry::ResourceType  type 
)

Definition at line 1350 of file myst3.cpp.

Common::Error Myst3::Myst3Engine::loadGameState ( int  slot  )  [override, virtual]

Load a game state.

Parameters:
slot the slot from which a savestate should be loaded
Returns:
returns kNoError on success, else an error code.

Reimplemented from Engine.

Definition at line 1558 of file myst3.cpp.

Common::Error Myst3::Myst3Engine::loadGameState ( Common::String  fileName,
TransitionType  transition 
)

Definition at line 1563 of file myst3.cpp.

void Myst3::Myst3Engine::loadMovie ( uint16  id,
uint16  condition,
bool  resetCond,
bool  loop 
)

Definition at line 1078 of file myst3.cpp.

void Myst3::Myst3Engine::loadNode ( uint16  nodeID,
uint32  roomID = 0,
uint32  ageID = 0 
)

Definition at line 843 of file myst3.cpp.

void Myst3::Myst3Engine::loadNodeCubeFaces ( uint16  nodeID  ) 

Definition at line 964 of file myst3.cpp.

void Myst3::Myst3Engine::loadNodeFrame ( uint16  nodeID  ) 

Definition at line 973 of file myst3.cpp.

void Myst3::Myst3Engine::loadNodeMenu ( uint16  nodeID  ) 

Definition at line 982 of file myst3.cpp.

void Myst3::Myst3Engine::loadNodeSubtitles ( uint32  id  ) 

Definition at line 1321 of file myst3.cpp.

Graphics::Surface * Myst3::Myst3Engine::loadTexture ( uint16  id  ) 

Definition at line 1367 of file myst3.cpp.

void Myst3::Myst3Engine::openArchives (  )  [private]

Definition at line 243 of file myst3.cpp.

int16 Myst3::Myst3Engine::openDialog ( uint16  id  ) 

Definition at line 1440 of file myst3.cpp.

void Myst3::Myst3Engine::pauseEngineIntern ( bool  pause  )  [override, protected, virtual]

Actual implementation of pauseEngine by subclasses.

See there for details.

Reimplemented from Engine.

Definition at line 1939 of file myst3.cpp.

void Myst3::Myst3Engine::playMovieFullFrame ( uint16  movie  ) 

Definition at line 1764 of file myst3.cpp.

void Myst3::Myst3Engine::playMovieGoToNode ( uint16  movie,
uint16  node 
)

Definition at line 1732 of file myst3.cpp.

void Myst3::Myst3Engine::playSimpleMovie ( uint16  id,
bool  fullframe = false,
bool  refreshAmbientSounds = false 
)

Definition at line 1206 of file myst3.cpp.

void Myst3::Myst3Engine::processEventForGamepad ( const Common::Event event  ) 

Definition at line 609 of file myst3.cpp.

void Myst3::Myst3Engine::processEventForKeyboardState ( const Common::Event event  ) 

Definition at line 561 of file myst3.cpp.

void Myst3::Myst3Engine::processInput ( bool  interactive  ) 

Definition at line 433 of file myst3.cpp.

void Myst3::Myst3Engine::removeMovie ( uint16  id  ) 

Definition at line 1277 of file myst3.cpp.

Common::Error Myst3::Myst3Engine::run (  )  [override, protected, virtual]

Init the engine and start its main loop.

Returns:
returns kNoError on success, else an error code.

Implements Engine.

Definition at line 148 of file myst3.cpp.

void Myst3::Myst3Engine::runAmbientScripts ( uint32  node  ) 

Definition at line 1059 of file myst3.cpp.

void Myst3::Myst3Engine::runBackgroundSoundScriptsFromNode ( uint16  nodeID,
uint32  roomID = 0,
uint32  ageID = 0 
)

Definition at line 1008 of file myst3.cpp.

void Myst3::Myst3Engine::runNodeBackgroundScripts (  ) 

Definition at line 942 of file myst3.cpp.

void Myst3::Myst3Engine::runNodeInitScripts (  ) 

Definition at line 912 of file myst3.cpp.

void Myst3::Myst3Engine::runScriptsFromNode ( uint16  nodeID,
uint32  roomID = 0,
uint32  ageID = 0 
)

Definition at line 991 of file myst3.cpp.

Common::Error Myst3::Myst3Engine::saveGameState ( int  slot,
const Common::String desc 
) [override, virtual]

Save a game state.

Parameters:
slot the slot into which the savestate should be stored
desc a description for the savestate, entered by the user
Returns:
returns kNoError on success, else an error code.

Reimplemented from Engine.

Definition at line 1607 of file myst3.cpp.

void Myst3::Myst3Engine::setMenuAction ( uint16  action  )  [inline]

Definition at line 173 of file myst3.h.

void Myst3::Myst3Engine::setMovieLooping ( uint16  id,
bool  loop 
)

Definition at line 1294 of file myst3.cpp.

void Myst3::Myst3Engine::settingsApplyFromVars (  ) 

Definition at line 1894 of file myst3.cpp.

void Myst3::Myst3Engine::settingsInitDefaults (  ) 

Definition at line 1853 of file myst3.cpp.

void Myst3::Myst3Engine::settingsLoadToVars (  ) 

Definition at line 1876 of file myst3.cpp.

void Myst3::Myst3Engine::setupTransition (  ) 

Definition at line 797 of file myst3.cpp.

void Myst3::Myst3Engine::syncSoundSettings (  )  [override, protected, virtual]

Notify the engine that the sound settings in the config manager may have changed and that it hence should adjust any internal volume etc.

values accordingly. The default implementation sets the volume levels of all mixer sound types according to the config entries of the active domain. When overwriting, call the default implementation first, then adjust the volumes further (if required).

Note:
When setting volume levels, respect the "mute" config entry.
The volume for the plain sound type is reset to the maximum volume. If the engine can associate its own value for this type, it needs to overwrite this member and set it accordingly.
Todo:
find a better name for this

Reimplemented from Engine.

Definition at line 1925 of file myst3.cpp.

void Myst3::Myst3Engine::tryAutoSaving (  ) 

Definition at line 1541 of file myst3.cpp.

void Myst3::Myst3Engine::unloadNode (  ) 

Definition at line 888 of file myst3.cpp.

void Myst3::Myst3Engine::updateCursor (  )  [private]

Definition at line 410 of file myst3.cpp.

void Myst3::Myst3Engine::updateInputState (  ) 

Definition at line 655 of file myst3.cpp.


Friends And Related Function Documentation

friend class Console [friend]

Definition at line 254 of file myst3.h.


Member Data Documentation

Definition at line 106 of file myst3.h.

Definition at line 202 of file myst3.h.

Definition at line 201 of file myst3.h.

Definition at line 196 of file myst3.h.

Definition at line 100 of file myst3.h.

Definition at line 104 of file myst3.h.

Definition at line 208 of file myst3.h.

Definition at line 217 of file myst3.h.

Definition at line 197 of file myst3.h.

Definition at line 102 of file myst3.h.

Definition at line 221 of file myst3.h.

Definition at line 222 of file myst3.h.

Definition at line 223 of file myst3.h.

Definition at line 220 of file myst3.h.

Definition at line 224 of file myst3.h.

Definition at line 226 of file myst3.h.

Definition at line 101 of file myst3.h.

When the widescreen mode is active, the user can manually hide the inventory by clicking on an unused inventory space.

This allows interacting with the scene portion that is below the inventory.

Definition at line 239 of file myst3.h.

Definition at line 228 of file myst3.h.

Definition at line 103 of file myst3.h.

Definition at line 210 of file myst3.h.

Definition at line 206 of file myst3.h.

Definition at line 199 of file myst3.h.

Definition at line 215 of file myst3.h.

Definition at line 99 of file myst3.h.

Definition at line 204 of file myst3.h.

Definition at line 213 of file myst3.h.

Definition at line 105 of file myst3.h.

Definition at line 98 of file myst3.h.

Definition at line 207 of file myst3.h.

Reimplemented from Engine.

Definition at line 195 of file myst3.h.

Definition at line 218 of file myst3.h.


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


Generated on Sat Jan 12 2019 05:04:54 for ResidualVM by doxygen 1.7.1
curved edge   curved edge