ScummVM
Lab::LabEngine Class Reference

#include <lab.h>

Inheritance diagram for Lab::LabEngine:
Collaboration diagram for Lab::LabEngine:

Public Member Functions

GUI::DebuggergetDebugger ()
 Return the engine's debugger instance, if any. More...
 
 LabEngine (OSystem *syst, const ADGameDescription *gameDesc)
 
 ~LabEngine ()
 
virtual Common::Error run ()
 Init the engine and start its main loop. More...
 
void go ()
 
Common::Platform getPlatform () const
 
uint32 getFeatures () const
 
bool hasFeature (EngineFeature f) const
 Determine whether the engine supports the specified feature. More...
 
Common::String generateSaveFileName (uint slot)
 
void changeVolume (int delta)
 
uint16 getDirection ()
 
Common::String getPictName (bool useClose)
 Returns the current picture name. More...
 
uint16 getQuarters ()
 
void setQuarters (uint16 quarters)
 
void updateEvents ()
 
void waitTOF ()
 
Common::Error loadGameState (int slot)
 Load a game state. More...
 
Common::Error saveGameState (int slot, const Common::String &desc)
 Save a game state. More...
 
bool canLoadGameStateCurrently ()
 Indicates whether a game state can be loaded. More...
 
bool canSaveGameStateCurrently ()
 Indicates whether a game state can be saved. More...
 
bool isMainDisplay () const
 
- Public Member Functions inherited from Engine
void pauseEngine (bool pause)
 Pause or resume the engine. More...
 
bool isPaused () const
 Return whether the engine is currently paused or not. More...
 
void openMainMenuDialog ()
 Run the Global Main Menu Dialog. More...
 
uint32 getTotalPlayTime () const
 Get the total play time. More...
 
void setTotalPlayTime (uint32 time=0)
 Set the game time counter to the specified time. More...
 
Common::TimerManagergetTimerManager ()
 
Common::EventManagergetEventManager ()
 
Common::SaveFileManagergetSaveFileManager ()
 
void checkCD ()
 On some systems, check if the game appears to be run from CD. More...
 
 Engine (OSystem *syst)
 
virtual ~Engine ()
 
virtual void initializePath (const Common::FSNode &gamePath)
 Init SearchMan according to the game path. More...
 
virtual void errorString (const char *buf_input, char *buf_output, int buf_output_size)
 Prepare an error string, which is printed by the error() function. More...
 
virtual void syncSoundSettings ()
 Notify the engine that the sound settings in the config manager may have changed and that it hence should adjust any internal volume etc. More...
 
virtual void initKeymap ()
 
virtual void deinitKeymap ()
 
virtual void flipMute ()
 Flip mute all sound option. More...
 
void setGameToLoadSlot (int slot)
 Sets the game slot for a savegame to be loaded after global main menu execution. More...
 

Public Attributes

bool _alternate
 
bool _droppingCrumbs
 
bool _followingCrumbs
 
bool _followCrumbsFast
 
bool _isCrumbTurning
 
bool _isHiRes
 
int _roomNum
 
uint16 _highestCondition
 
uint16 _manyRooms
 
uint16 _numCrumbs
 
uint16 _numInv
 
uint32 _crumbTimestamp
 
Common::String _curFileName
 
Anim_anim
 
CrumbData _breadCrumbs [MAX_CRUMBS]
 
DisplayMan_graphics
 
EventManager_event
 
Interface_interface
 
ButtonList _invButtonList
 
ButtonList _moveButtonList
 
Image_invImages [10]
 
Image_moveImages [20]
 
LargeSet_conditions
 
LargeSet_roomsFound
 
Music_music
 
Resource_resource
 
RoomData_rooms
 
TextFont_msgFont
 
SpecialLocks_specialLocks
 
Utils_utils
 
Console_console
 
const ADGameDescription_gameDescription
 
- Public Attributes inherited from Engine
OSystem_system
 
Audio::Mixer_mixer
 

Private Member Functions

bool checkConditions (const Common::Array< int16 > &cond)
 Checks whether all the conditions in a condition list are met. More...
 
void decIncInv (uint16 *CurInv, bool dec)
 Decrements the current inventory number. More...
 
void doActions (const ActionList &actionList)
 Processes the action list. More...
 
bool doActionRule (Common::Point pos, int16 action, int16 roomNum)
 Goes through the rules if an action is taken. More...
 
bool doActionRuleSub (int16 action, int16 roomNum, const CloseData *closePtr, bool allowDefaults)
 Does the work for doActionRule. More...
 
void handleMonitorCloseup ()
 Handles monitor closeups. More...
 
bool doGoForward ()
 Goes through the rules if the user tries to go forward. More...
 
void doJournal ()
 Does the journal processing. More...
 
bool doMainView ()
 Goes through the rules if the user tries to go to the main view. More...
 
void doMap ()
 Does the map processing. More...
 
void doMonitor (const Common::String background, const Common::String textfile, bool isinteractive, Common::Rect textRect)
 Does what's necessary for the monitor. More...
 
void doNotes ()
 Does the things to properly set up the detective notes. More...
 
bool doOperateRuleSub (int16 itemNum, int16 roomNum, const CloseData *closePtr, bool allowDefaults)
 Does the work for doActionRule. More...
 
bool doOperateRule (Common::Point pos, int16 ItemNum)
 Goes through the rules if the user tries to operate an item on an object. More...
 
bool doTurn (uint16 from, uint16 to)
 Goes through the rules if the user tries to turn. More...
 
bool doUse (uint16 curInv)
 If the user hits the "Use" button; things that can get used on themselves. More...
 
void doWestPaper ()
 Does the things to properly set up the old west newspaper. More...
 
void drawDirection (const CloseData *closePtr)
 Draws the current direction to the screen. More...
 
void drawJournal (uint16 wipenum, bool needFade)
 Draws the journal from page x. More...
 
void drawJournalText ()
 Draws the text to the back journal screen to the appropriate Page number. More...
 
void drawMap (uint16 curRoom, uint16 curMsg, uint16 floorNum, bool fadeIn)
 Draws the map. More...
 
void drawMonText (const char *text, TextFont *monitorFont, Common::Rect textRect, bool isinteractive)
 Draws the text for the monitor. More...
 
void drawRoomMap (uint16 curRoom, bool drawMarkFl)
 Draws a room map. More...
 
void drawRoomMessage (uint16 curInv, const CloseData *closePtr)
 Draws the message for the room. More...
 
void drawStaticMessage (byte index)
 
void eatMessages ()
 Eats all the available messages. More...
 
const CloseDatafindClosePtrMatch (const CloseData *closePtr, const CloseDataList &list)
 Goes through the list of closeups to find a match. More...
 
bool floorVisited (uint16 floorNum)
 Checks if a floor has been visited. More...
 
MainButton followCrumbs ()
 New code to allow quick(er) return navigation in game. More...
 
void freeMapData ()
 
void freeScreens ()
 
bool processEvent (MessageClass tmpClass, uint16 code, uint16 qualifier, Common::Point tmpPos, uint16 &curInv, IntuiMessage *curMsg, bool &forceDraw, uint16 buttonId, uint16 &actionMode)
 
Common::String getInvName (uint16 curInv)
 Gets the current inventory name. More...
 
uint16 getLowerFloor (uint16 floorNum)
 Returns the floor to show when the down arrow is pressed. More...
 
const CloseDatagetObject (Common::Point pos, const CloseData *closePtr)
 Gets an object, if any, from the user's click on the screen. More...
 
uint16 getUpperFloor (uint16 floorNum)
 Returns the floor to show when the up arrow is pressed. More...
 
ViewDatagetViewData (uint16 roomNum, uint16 direction)
 Gets the current ViewDataPointer. More...
 
void interfaceOff ()
 Turns the interface off. More...
 
void interfaceOn ()
 Turns the interface on. More...
 
void loadJournalData ()
 Loads in the data for the journal. More...
 
void loadMapData ()
 Loads in the map data. More...
 
void mainGameLoop ()
 The main game loop. More...
 
void showLab2Teaser ()
 
void perFlipButton (uint16 buttonId)
 Permanently flips the imagery of a button. More...
 
uint16 processArrow (uint16 curDirection, uint16 arrow)
 process a arrow button movement. More...
 
void processJournal ()
 Processes user input. More...
 
void processMap (uint16 curRoom)
 Processes the map. More...
 
void processMonitor (const Common::String &ntext, TextFont *monitorFont, bool isInteractive, Common::Rect textRect)
 Processes user input. More...
 
Common::Rect roomCoords (uint16 curRoom)
 Figures out what a room's coordinates should be. More...
 
bool saveRestoreGame ()
 
void setCurrentClose (Common::Point pos, const CloseData **closePtrList, bool useAbsoluteCoords, bool next=false)
 Sets the current close up data. More...
 
bool takeItem (Common::Point pos)
 Takes the currently selected item. More...
 
void turnPage (bool fromLeft)
 Does the turn page wipe. More...
 
bool processKey (IntuiMessage *curMsg, uint32 msgClass, uint16 &qualifier, Common::Point &curPos, uint16 &curInv, bool &forceDraw, uint16 code)
 
void processMainButton (uint16 &curInv, uint16 &lastInv, uint16 &oldDirection, bool &forceDraw, uint16 buttonId, uint16 &actionMode)
 
void processAltButton (uint16 &curInv, uint16 &lastInv, uint16 buttonId, uint16 &actionMode)
 
void performAction (uint16 actionMode, Common::Point curPos, uint16 &curInv)
 
bool saveGame (int slot, const Common::String desc)
 Writes the game out to disk. More...
 
bool loadGame (int slot)
 Reads the game from disk. More...
 
void writeSaveGameHeader (Common::OutSaveFile *out, const Common::String &saveName)
 
void handleTrialWarning ()
 

Private Attributes

bool _isCrumbWaiting
 
bool _lastTooLong
 
bool _lastPage
 
bool _mainDisplay
 
bool _noUpdateDiff
 
bool _quitLab
 
byte_blankJournal
 
int _lastWaitTOFTicks
 
uint16 _direction
 
uint16 _highPalette [20]
 
uint16 _journalPage
 
uint16 _maxRooms
 
uint16 _monitorPage
 
uint16 _monitorButtonHeight
 
uint32 _extraGameFeatures
 
Common::String _journalText
 
Common::String _journalTextTitle
 
Common::String _nextFileName
 
Common::String _newFileName
 
Common::String _monitorTextFilename
 
const CloseData_closeDataPtr
 
ButtonList _journalButtonList
 
ButtonList _mapButtonList
 
Image_imgMap
 
Image_imgRoom
 
Image_imgUpArrowRoom
 
Image_imgDownArrowRoom
 
Image_imgBridge
 
Image_imgHRoom
 
Image_imgVRoom
 
Image_imgMaze
 
Image_imgHugeMaze
 
Image_imgPath
 
Image_imgMapX [4]
 
InventoryData_inventory
 
MapData_maps
 
Image_monitorButton
 
Image_journalBackImage
 
TextFont_journalFont
 
bool _introPlaying
 

Friends

class Console
 

Additional Inherited Members

- Public Types inherited from Engine
enum  EngineFeature {
  kSupportsSubtitleOptions, kSupportsRTL, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime,
  kSupportsJoystick
}
 A feature in this context means an ability of the engine which can be either available or not. More...
 
- Static Public Member Functions inherited from Engine
static void quitGame ()
 Request the engine to quit. More...
 
static bool shouldQuit ()
 Return whether the ENGINE should quit respectively should return to the launcher. More...
 
static bool warnUserAboutUnsupportedGame ()
 Display a warning to the user that the game is not fully supported. More...
 
- Protected Member Functions inherited from Engine
virtual int runDialog (GUI::Dialog &dialog)
 
bool shouldPerformAutoSave (int lastSaveTime)
 Indicate whether an autosave should be performed. More...
 
virtual void pauseEngineIntern (bool pause)
 Actual implementation of pauseEngine by subclasses. More...
 
- Protected Attributes inherited from Engine
Common::TimerManager_timer
 
Common::EventManager_eventMan
 
Common::SaveFileManager_saveFileMan
 
GUI::Dialog_mainMenuDialog
 
const Common::String _targetName
 

Detailed Description

Definition at line 124 of file lab.h.

Constructor & Destructor Documentation

◆ LabEngine()

Lab::LabEngine::LabEngine ( OSystem syst,
const ADGameDescription gameDesc 
)

Definition at line 53 of file lab.cpp.

◆ ~LabEngine()

Lab::LabEngine::~LabEngine ( )

Definition at line 139 of file lab.cpp.

Member Function Documentation

◆ canLoadGameStateCurrently()

bool Lab::LabEngine::canLoadGameStateCurrently ( )
virtual

Indicates whether a game state can be loaded.

Reimplemented from Engine.

Definition at line 226 of file lab.cpp.

◆ canSaveGameStateCurrently()

bool Lab::LabEngine::canSaveGameStateCurrently ( )
virtual

Indicates whether a game state can be saved.

Reimplemented from Engine.

Definition at line 230 of file lab.cpp.

◆ changeVolume()

void Lab::LabEngine::changeVolume ( int  delta)

Definition at line 191 of file lab.cpp.

◆ checkConditions()

bool Lab::LabEngine::checkConditions ( const Common::Array< int16 > &  cond)
private

Checks whether all the conditions in a condition list are met.

Definition at line 47 of file processroom.cpp.

◆ decIncInv()

void Lab::LabEngine::decIncInv ( uint16 CurInv,
bool  dec 
)
private

Decrements the current inventory number.

Definition at line 371 of file engine.cpp.

◆ doActionRule()

bool Lab::LabEngine::doActionRule ( Common::Point  pos,
int16  action,
int16  roomNum 
)
private

Goes through the rules if an action is taken.

Definition at line 507 of file processroom.cpp.

◆ doActionRuleSub()

bool Lab::LabEngine::doActionRuleSub ( int16  action,
int16  roomNum,
const CloseData closePtr,
bool  allowDefaults 
)
private

Does the work for doActionRule.

Definition at line 478 of file processroom.cpp.

◆ doActions()

void Lab::LabEngine::doActions ( const ActionList actionList)
private

Processes the action list.

Definition at line 237 of file processroom.cpp.

◆ doGoForward()

bool Lab::LabEngine::doGoForward ( )
private

Goes through the rules if the user tries to go forward.

Definition at line 580 of file processroom.cpp.

◆ doJournal()

void Lab::LabEngine::doJournal ( )
private

Does the journal processing.

Definition at line 264 of file special.cpp.

◆ doMainView()

bool Lab::LabEngine::doMainView ( )
private

Goes through the rules if the user tries to go to the main view.

Definition at line 615 of file processroom.cpp.

◆ doMap()

void Lab::LabEngine::doMap ( )
private

Does the map processing.

Definition at line 529 of file map.cpp.

◆ doMonitor()

void Lab::LabEngine::doMonitor ( const Common::String  background,
const Common::String  textfile,
bool  isinteractive,
Common::Rect  textRect 
)
private

Does what's necessary for the monitor.

Definition at line 442 of file special.cpp.

◆ doNotes()

void Lab::LabEngine::doNotes ( )
private

Does the things to properly set up the detective notes.

Definition at line 48 of file special.cpp.

◆ doOperateRule()

bool Lab::LabEngine::doOperateRule ( Common::Point  pos,
int16  ItemNum 
)
private

Goes through the rules if the user tries to operate an item on an object.

Definition at line 552 of file processroom.cpp.

◆ doOperateRuleSub()

bool Lab::LabEngine::doOperateRuleSub ( int16  itemNum,
int16  roomNum,
const CloseData closePtr,
bool  allowDefaults 
)
private

Does the work for doActionRule.

Definition at line 527 of file processroom.cpp.

◆ doTurn()

bool Lab::LabEngine::doTurn ( uint16  from,
uint16  to 
)
private

Goes through the rules if the user tries to turn.

Definition at line 595 of file processroom.cpp.

◆ doUse()

bool Lab::LabEngine::doUse ( uint16  curInv)
private

If the user hits the "Use" button; things that can get used on themselves.

Definition at line 305 of file engine.cpp.

◆ doWestPaper()

void Lab::LabEngine::doWestPaper ( )
private

Does the things to properly set up the old west newspaper.

Assumes that OpenHiRes already called.

Definition at line 58 of file special.cpp.

◆ drawDirection()

void Lab::LabEngine::drawDirection ( const CloseData closePtr)
private

Draws the current direction to the screen.

Definition at line 120 of file processroom.cpp.

◆ drawJournal()

void Lab::LabEngine::drawJournal ( uint16  wipenum,
bool  needFade 
)
private

Draws the journal from page x.

Definition at line 201 of file special.cpp.

◆ drawJournalText()

void Lab::LabEngine::drawJournalText ( )
private

Draws the text to the back journal screen to the appropriate Page number.

Definition at line 149 of file special.cpp.

◆ drawMap()

void Lab::LabEngine::drawMap ( uint16  curRoom,
uint16  curMsg,
uint16  floorNum,
bool  fadeIn 
)
private

Draws the map.

Definition at line 333 of file map.cpp.

◆ drawMonText()

void Lab::LabEngine::drawMonText ( const char *  text,
TextFont monitorFont,
Common::Rect  textRect,
bool  isinteractive 
)
private

Draws the text for the monitor.

Definition at line 293 of file special.cpp.

◆ drawRoomMap()

void Lab::LabEngine::drawRoomMap ( uint16  curRoom,
bool  drawMarkFl 
)
private

Draws a room map.

Definition at line 171 of file map.cpp.

◆ drawRoomMessage()

void Lab::LabEngine::drawRoomMessage ( uint16  curInv,
const CloseData closePtr 
)
private

Draws the message for the room.

Definition at line 146 of file engine.cpp.

◆ drawStaticMessage()

void Lab::LabEngine::drawStaticMessage ( byte  index)
private

Definition at line 187 of file lab.cpp.

◆ eatMessages()

void Lab::LabEngine::eatMessages ( )
private

Eats all the available messages.

Definition at line 207 of file engine.cpp.

◆ findClosePtrMatch()

const CloseData * Lab::LabEngine::findClosePtrMatch ( const CloseData closePtr,
const CloseDataList list 
)
private

Goes through the list of closeups to find a match.

Note
Known bug here. If there are two objects that have closeups, and some of the closeups have the same hit boxes, then this returns the first occurrence of the object with the same hit box.

Definition at line 89 of file processroom.cpp.

◆ floorVisited()

bool Lab::LabEngine::floorVisited ( uint16  floorNum)
private

Checks if a floor has been visited.

Definition at line 302 of file map.cpp.

◆ followCrumbs()

MainButton Lab::LabEngine::followCrumbs ( )
private

New code to allow quick(er) return navigation in game.

Definition at line 1067 of file engine.cpp.

◆ freeMapData()

void Lab::LabEngine::freeMapData ( )
private

Definition at line 103 of file map.cpp.

◆ freeScreens()

void Lab::LabEngine::freeScreens ( )
private

Definition at line 169 of file engine.cpp.

◆ generateSaveFileName()

Common::String Lab::LabEngine::generateSaveFileName ( uint  slot)

Definition at line 183 of file lab.cpp.

◆ getDebugger()

GUI::Debugger* Lab::LabEngine::getDebugger ( )
inlinevirtual

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 203 of file lab.h.

◆ getDirection()

uint16 Lab::LabEngine::getDirection ( )
inline

Definition at line 220 of file lab.h.

◆ getFeatures()

uint32 Lab::LabEngine::getFeatures ( ) const

Definition at line 109 of file detection.cpp.

◆ getInvName()

Common::String Lab::LabEngine::getInvName ( uint16  curInv)
private

Gets the current inventory name.

Definition at line 262 of file engine.cpp.

◆ getLowerFloor()

uint16 Lab::LabEngine::getLowerFloor ( uint16  floorNum)
private

Returns the floor to show when the down arrow is pressed.

Note
The original did not show all the visited floors, but we do

Definition at line 322 of file map.cpp.

◆ getObject()

const CloseData * Lab::LabEngine::getObject ( Common::Point  pos,
const CloseData closePtr 
)
private

Gets an object, if any, from the user's click on the screen.

Definition at line 70 of file processroom.cpp.

◆ getPictName()

Common::String Lab::LabEngine::getPictName ( bool  useClose)

Returns the current picture name.

Definition at line 107 of file processroom.cpp.

◆ getPlatform()

Common::Platform Lab::LabEngine::getPlatform ( ) const

Definition at line 105 of file detection.cpp.

◆ getQuarters()

uint16 Lab::LabEngine::getQuarters ( )

Definition at line 138 of file engine.cpp.

◆ getUpperFloor()

uint16 Lab::LabEngine::getUpperFloor ( uint16  floorNum)
private

Returns the floor to show when the up arrow is pressed.

Note
The original did not show all the visited floors, but we do

Definition at line 311 of file map.cpp.

◆ getViewData()

ViewData * Lab::LabEngine::getViewData ( uint16  roomNum,
uint16  direction 
)
private

Gets the current ViewDataPointer.

Definition at line 55 of file processroom.cpp.

◆ go()

void Lab::LabEngine::go ( )

Definition at line 1030 of file engine.cpp.

◆ handleMonitorCloseup()

void Lab::LabEngine::handleMonitorCloseup ( )
private

Handles monitor closeups.

Definition at line 215 of file engine.cpp.

◆ handleTrialWarning()

void Lab::LabEngine::handleTrialWarning ( )
private

Definition at line 104 of file engine.cpp.

◆ hasFeature()

bool Lab::LabEngine::hasFeature ( EngineFeature  f) const
virtual

Determine whether the engine supports the specified feature.

Reimplemented from Engine.

Definition at line 160 of file detection.cpp.

◆ interfaceOff()

void Lab::LabEngine::interfaceOff ( )
private

Turns the interface off.

Definition at line 289 of file engine.cpp.

◆ interfaceOn()

void Lab::LabEngine::interfaceOn ( )
private

Turns the interface on.

Definition at line 294 of file engine.cpp.

◆ isMainDisplay()

bool Lab::LabEngine::isMainDisplay ( ) const
inline

Definition at line 236 of file lab.h.

◆ loadGame()

bool Lab::LabEngine::loadGame ( int  slot)
private

Reads the game from disk.

Definition at line 173 of file savegame.cpp.

◆ loadGameState()

Common::Error Lab::LabEngine::loadGameState ( int  slot)
virtual

Load a game state.

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

Reimplemented from Engine.

Definition at line 216 of file lab.cpp.

◆ loadJournalData()

void Lab::LabEngine::loadJournalData ( )
private

Loads in the data for the journal.

Definition at line 95 of file special.cpp.

◆ loadMapData()

void Lab::LabEngine::loadMapData ( )
private

Loads in the map data.

Definition at line 62 of file map.cpp.

◆ mainGameLoop()

void Lab::LabEngine::mainGameLoop ( )
private

The main game loop.

Definition at line 400 of file engine.cpp.

◆ perFlipButton()

void Lab::LabEngine::perFlipButton ( uint16  buttonId)
private

Permanently flips the imagery of a button.

Definition at line 193 of file engine.cpp.

◆ performAction()

void Lab::LabEngine::performAction ( uint16  actionMode,
Common::Point  curPos,
uint16 curInv 
)
private

Definition at line 968 of file engine.cpp.

◆ processAltButton()

void Lab::LabEngine::processAltButton ( uint16 curInv,
uint16 lastInv,
uint16  buttonId,
uint16 actionMode 
)
private

Definition at line 851 of file engine.cpp.

◆ processArrow()

uint16 Lab::LabEngine::processArrow ( uint16  curDirection,
uint16  arrow 
)
private

process a arrow button movement.

Definition at line 143 of file processroom.cpp.

◆ processEvent()

bool Lab::LabEngine::processEvent ( MessageClass  tmpClass,
uint16  code,
uint16  qualifier,
Common::Point  tmpPos,
uint16 curInv,
IntuiMessage curMsg,
bool &  forceDraw,
uint16  buttonId,
uint16 actionMode 
)
private

Definition at line 556 of file engine.cpp.

◆ processJournal()

void Lab::LabEngine::processJournal ( )
private

Processes user input.

Definition at line 225 of file special.cpp.

◆ processKey()

bool Lab::LabEngine::processKey ( IntuiMessage curMsg,
uint32  msgClass,
uint16 qualifier,
Common::Point curPos,
uint16 curInv,
bool &  forceDraw,
uint16  code 
)
private

Definition at line 627 of file engine.cpp.

◆ processMainButton()

void Lab::LabEngine::processMainButton ( uint16 curInv,
uint16 lastInv,
uint16 oldDirection,
bool &  forceDraw,
uint16  buttonId,
uint16 actionMode 
)
private

Definition at line 712 of file engine.cpp.

◆ processMap()

void Lab::LabEngine::processMap ( uint16  curRoom)
private

Processes the map.

Definition at line 384 of file map.cpp.

◆ processMonitor()

void Lab::LabEngine::processMonitor ( const Common::String ntext,
TextFont monitorFont,
bool  isInteractive,
Common::Rect  textRect 
)
private

Processes user input.

Definition at line 341 of file special.cpp.

◆ roomCoords()

Common::Rect Lab::LabEngine::roomCoords ( uint16  curRoom)
private

Figures out what a room's coordinates should be.

Definition at line 135 of file map.cpp.

◆ run()

Common::Error Lab::LabEngine::run ( )
virtual

Init the engine and start its main loop.

Returns
returns kNoError on success, else an error code.

Implements Engine.

Definition at line 161 of file lab.cpp.

◆ saveGame()

bool Lab::LabEngine::saveGame ( int  slot,
const Common::String  desc 
)
private

Writes the game out to disk.

Definition at line 128 of file savegame.cpp.

◆ saveGameState()

Common::Error Lab::LabEngine::saveGameState ( int  slot,
const Common::String desc 
)
virtual

Save a game state.

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

Reimplemented from Engine.

Definition at line 221 of file lab.cpp.

◆ saveRestoreGame()

bool Lab::LabEngine::saveRestoreGame ( )
private

Definition at line 233 of file savegame.cpp.

◆ setCurrentClose()

void Lab::LabEngine::setCurrentClose ( Common::Point  pos,
const CloseData **  closePtrList,
bool  useAbsoluteCoords,
bool  next = false 
)
private

Sets the current close up data.

Definition at line 176 of file processroom.cpp.

◆ setQuarters()

void Lab::LabEngine::setQuarters ( uint16  quarters)

Definition at line 142 of file engine.cpp.

◆ showLab2Teaser()

void Lab::LabEngine::showLab2Teaser ( )
private

Definition at line 537 of file engine.cpp.

◆ takeItem()

bool Lab::LabEngine::takeItem ( Common::Point  pos)
private

Takes the currently selected item.

Definition at line 214 of file processroom.cpp.

◆ turnPage()

void Lab::LabEngine::turnPage ( bool  fromLeft)
private

Does the turn page wipe.

Definition at line 185 of file special.cpp.

◆ updateEvents()

void Lab::LabEngine::updateEvents ( )

Definition at line 211 of file lab.cpp.

◆ waitTOF()

void Lab::LabEngine::waitTOF ( )

Definition at line 200 of file lab.cpp.

◆ writeSaveGameHeader()

void Lab::LabEngine::writeSaveGameHeader ( Common::OutSaveFile out,
const Common::String saveName 
)
private

Definition at line 53 of file savegame.cpp.

Friends And Related Function Documentation

◆ Console

friend class Console
friend

Definition at line 125 of file lab.h.

Member Data Documentation

◆ _alternate

bool Lab::LabEngine::_alternate

Definition at line 168 of file lab.h.

◆ _anim

Anim* Lab::LabEngine::_anim

Definition at line 186 of file lab.h.

◆ _blankJournal

byte* Lab::LabEngine::_blankJournal
private

Definition at line 135 of file lab.h.

◆ _breadCrumbs

CrumbData Lab::LabEngine::_breadCrumbs[MAX_CRUMBS]

Definition at line 187 of file lab.h.

◆ _closeDataPtr

const CloseData* Lab::LabEngine::_closeDataPtr
private

Definition at line 154 of file lab.h.

◆ _conditions

LargeSet* Lab::LabEngine::_conditions

Definition at line 195 of file lab.h.

◆ _console

Console* Lab::LabEngine::_console

Definition at line 202 of file lab.h.

◆ _crumbTimestamp

uint32 Lab::LabEngine::_crumbTimestamp

Definition at line 182 of file lab.h.

◆ _curFileName

Common::String Lab::LabEngine::_curFileName

Definition at line 184 of file lab.h.

◆ _direction

uint16 Lab::LabEngine::_direction
private

Definition at line 139 of file lab.h.

◆ _droppingCrumbs

bool Lab::LabEngine::_droppingCrumbs

Definition at line 169 of file lab.h.

◆ _event

EventManager* Lab::LabEngine::_event

Definition at line 189 of file lab.h.

◆ _extraGameFeatures

uint32 Lab::LabEngine::_extraGameFeatures
private

Definition at line 146 of file lab.h.

◆ _followCrumbsFast

bool Lab::LabEngine::_followCrumbsFast

Definition at line 171 of file lab.h.

◆ _followingCrumbs

bool Lab::LabEngine::_followingCrumbs

Definition at line 170 of file lab.h.

◆ _gameDescription

const ADGameDescription* Lab::LabEngine::_gameDescription

Definition at line 212 of file lab.h.

◆ _graphics

DisplayMan* Lab::LabEngine::_graphics

Definition at line 188 of file lab.h.

◆ _highestCondition

uint16 Lab::LabEngine::_highestCondition

Definition at line 177 of file lab.h.

◆ _highPalette

uint16 Lab::LabEngine::_highPalette[20]
private

Definition at line 140 of file lab.h.

◆ _imgBridge

Image * Lab::LabEngine::_imgBridge
private

Definition at line 157 of file lab.h.

◆ _imgDownArrowRoom

Image * Lab::LabEngine::_imgDownArrowRoom
private

Definition at line 157 of file lab.h.

◆ _imgHRoom

Image* Lab::LabEngine::_imgHRoom
private

Definition at line 158 of file lab.h.

◆ _imgHugeMaze

Image * Lab::LabEngine::_imgHugeMaze
private

Definition at line 158 of file lab.h.

◆ _imgMap

Image* Lab::LabEngine::_imgMap
private

Definition at line 157 of file lab.h.

◆ _imgMapX

Image* Lab::LabEngine::_imgMapX[4]
private

Definition at line 159 of file lab.h.

◆ _imgMaze

Image * Lab::LabEngine::_imgMaze
private

Definition at line 158 of file lab.h.

◆ _imgPath

Image * Lab::LabEngine::_imgPath
private

Definition at line 158 of file lab.h.

◆ _imgRoom

Image * Lab::LabEngine::_imgRoom
private

Definition at line 157 of file lab.h.

◆ _imgUpArrowRoom

Image * Lab::LabEngine::_imgUpArrowRoom
private

Definition at line 157 of file lab.h.

◆ _imgVRoom

Image * Lab::LabEngine::_imgVRoom
private

Definition at line 158 of file lab.h.

◆ _interface

Interface* Lab::LabEngine::_interface

Definition at line 190 of file lab.h.

◆ _introPlaying

bool Lab::LabEngine::_introPlaying
private

Definition at line 165 of file lab.h.

◆ _invButtonList

ButtonList Lab::LabEngine::_invButtonList

Definition at line 191 of file lab.h.

◆ _inventory

InventoryData* Lab::LabEngine::_inventory
private

Definition at line 160 of file lab.h.

◆ _invImages

Image* Lab::LabEngine::_invImages[10]

Definition at line 193 of file lab.h.

◆ _isCrumbTurning

bool Lab::LabEngine::_isCrumbTurning

Definition at line 172 of file lab.h.

◆ _isCrumbWaiting

bool Lab::LabEngine::_isCrumbWaiting
private

Definition at line 128 of file lab.h.

◆ _isHiRes

bool Lab::LabEngine::_isHiRes

Definition at line 173 of file lab.h.

◆ _journalBackImage

Image* Lab::LabEngine::_journalBackImage
private

Definition at line 163 of file lab.h.

◆ _journalButtonList

ButtonList Lab::LabEngine::_journalButtonList
private

Definition at line 155 of file lab.h.

◆ _journalFont

TextFont* Lab::LabEngine::_journalFont
private

Definition at line 164 of file lab.h.

◆ _journalPage

uint16 Lab::LabEngine::_journalPage
private

Definition at line 141 of file lab.h.

◆ _journalText

Common::String Lab::LabEngine::_journalText
private

Definition at line 148 of file lab.h.

◆ _journalTextTitle

Common::String Lab::LabEngine::_journalTextTitle
private

Definition at line 149 of file lab.h.

◆ _lastPage

bool Lab::LabEngine::_lastPage
private

Definition at line 130 of file lab.h.

◆ _lastTooLong

bool Lab::LabEngine::_lastTooLong
private

Definition at line 129 of file lab.h.

◆ _lastWaitTOFTicks

int Lab::LabEngine::_lastWaitTOFTicks
private

Definition at line 137 of file lab.h.

◆ _mainDisplay

bool Lab::LabEngine::_mainDisplay
private

Definition at line 131 of file lab.h.

◆ _manyRooms

uint16 Lab::LabEngine::_manyRooms

Definition at line 178 of file lab.h.

◆ _mapButtonList

ButtonList Lab::LabEngine::_mapButtonList
private

Definition at line 156 of file lab.h.

◆ _maps

MapData* Lab::LabEngine::_maps
private

Definition at line 161 of file lab.h.

◆ _maxRooms

uint16 Lab::LabEngine::_maxRooms
private

Definition at line 142 of file lab.h.

◆ _monitorButton

Image* Lab::LabEngine::_monitorButton
private

Definition at line 162 of file lab.h.

◆ _monitorButtonHeight

uint16 Lab::LabEngine::_monitorButtonHeight
private

Definition at line 144 of file lab.h.

◆ _monitorPage

uint16 Lab::LabEngine::_monitorPage
private

Definition at line 143 of file lab.h.

◆ _monitorTextFilename

Common::String Lab::LabEngine::_monitorTextFilename
private

Definition at line 152 of file lab.h.

◆ _moveButtonList

ButtonList Lab::LabEngine::_moveButtonList

Definition at line 192 of file lab.h.

◆ _moveImages

Image* Lab::LabEngine::_moveImages[20]

Definition at line 194 of file lab.h.

◆ _msgFont

TextFont* Lab::LabEngine::_msgFont

Definition at line 199 of file lab.h.

◆ _music

Music* Lab::LabEngine::_music

Definition at line 196 of file lab.h.

◆ _newFileName

Common::String Lab::LabEngine::_newFileName
private

Definition at line 151 of file lab.h.

◆ _nextFileName

Common::String Lab::LabEngine::_nextFileName
private

Definition at line 150 of file lab.h.

◆ _noUpdateDiff

bool Lab::LabEngine::_noUpdateDiff
private

Definition at line 132 of file lab.h.

◆ _numCrumbs

uint16 Lab::LabEngine::_numCrumbs

Definition at line 179 of file lab.h.

◆ _numInv

uint16 Lab::LabEngine::_numInv

Definition at line 180 of file lab.h.

◆ _quitLab

bool Lab::LabEngine::_quitLab
private

Definition at line 133 of file lab.h.

◆ _resource

Resource* Lab::LabEngine::_resource

Definition at line 197 of file lab.h.

◆ _roomNum

int Lab::LabEngine::_roomNum

Definition at line 175 of file lab.h.

◆ _rooms

RoomData* Lab::LabEngine::_rooms

Definition at line 198 of file lab.h.

◆ _roomsFound

LargeSet * Lab::LabEngine::_roomsFound

Definition at line 195 of file lab.h.

◆ _specialLocks

SpecialLocks* Lab::LabEngine::_specialLocks

Definition at line 200 of file lab.h.

◆ _utils

Utils* Lab::LabEngine::_utils

Definition at line 201 of file lab.h.


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