ScummVM API documentation
Sherlock::Tattoo::TattooUserInterface Class Reference
Inheritance diagram for Sherlock::Tattoo::TattooUserInterface:
Sherlock::UserInterface

Public Member Functions

 TattooUserInterface (SherlockEngine *vm)
 
void doBgAnimRestoreUI ()
 
void doScroll ()
 
void initScrollVars ()
 
void lookAtObject ()
 
void printObjectDesc (const Common::String &str, bool firstTime)
 
void doJournal ()
 
void doInventory (int mode)
 
void doControls ()
 
void doQuitMenu ()
 
void pickUpObject (int objNum)
 
void putMessage (MSVC_PRINTF const char *formatStr,...) GCC_PRINTF(2
 
void void setupBGArea (const byte cMap[PALETTE_SIZE])
 
void doBgAnimEraseBackground ()
 
void drawMaskArea (bool mode)
 
void maskArea (Common::SeekableReadStream &mask, const Common::Point &pt)
 
void makeBGArea (const Common::Rect &r)
 
void drawDialogRect (Surface &s, const Common::Rect &r, bool raised)
 
void displayObjectNames ()
 
void loadGame ()
 
void saveGame ()
 
void addFixedWidget (WidgetBase *widget)
 
void reset () override
 
void handleInput () override
 
void drawInterface (int bufferNum=3) override
 
void clearWindow () override
 
void banishWindow (bool slideUp=true) override
 
- Public Member Functions inherited from Sherlock::UserInterface
void checkAction (ActionType &action, int objNum, FixedTextActionId fixedTextActionId=kFixedTextAction_Invalid)
 
virtual void summonWindow (const Surface &bgSurface, bool slideUp=true)
 
virtual void summonWindow (bool slideUp=true, int height=138)
 
virtual void clearInfo ()
 

Public Attributes

Common::Point _targetScroll
 
int _scrollSize
 
int _scrollSpeed
 
bool _drawMenu
 
int _arrowZone
 
int _oldArrowZone
 
Object_bgShape
 
bool _personFound
 
int _activeObj
 
Common::KeyState _keyState
 
Common::Point _lookPos
 
ScrollHighlight _scrollHighlight
 
Common::SeekableReadStream_mask
 
Common::SeekableReadStream_mask1
 
Common::Point _maskOffset
 
int _maskCounter
 
int _lockoutTimer
 
ImageFile_interfaceImages
 
WidgetCredits _creditsWidget
 
WidgetOptions _optionsWidget
 
WidgetText _textWidget
 
WidgetSceneTooltip _tooltipWidget
 
WidgetVerbs _verbsWidget
 
WidgetList _postRenderWidgets
 
- Public Attributes inherited from Sherlock::UserInterface
MenuMode _menuMode
 
int _menuCounter
 
bool _infoFlag
 
bool _windowOpen
 
bool _endKeyActive
 
int _invLookFlag
 
bool _slideWindows
 
bool _helpStyle
 
Common::Rect _windowBounds
 
bool _lookScriptFlag
 
int _bgFound
 
int _oldBgFound
 
int _exitZone
 
signed char _key
 
signed char _oldKey
 
int _selector
 
int _oldSelector
 
int _temp
 
int _oldTemp
 
int _temp1
 
int _lookHelp
 

Additional Inherited Members

- Static Public Member Functions inherited from Sherlock::UserInterface
static UserInterfaceinit (SherlockEngine *vm)
 
- Protected Member Functions inherited from Sherlock::UserInterface
 UserInterface (SherlockEngine *vm)
 
- Protected Attributes inherited from Sherlock::UserInterface
SherlockEngine_vm
 

Member Function Documentation

◆ doBgAnimRestoreUI()

void Sherlock::Tattoo::TattooUserInterface::doBgAnimRestoreUI ( )

Handles restoring any areas of the back buffer that were/are covered by UI elements

◆ doScroll()

void Sherlock::Tattoo::TattooUserInterface::doScroll ( )

Checks to see if the screen needs to be scrolled. If so, scrolls it towards the target position

◆ initScrollVars()

void Sherlock::Tattoo::TattooUserInterface::initScrollVars ( )

Initializes scroll variables

◆ lookAtObject()

void Sherlock::Tattoo::TattooUserInterface::lookAtObject ( )

Display the long description for an object in a window

◆ printObjectDesc()

void Sherlock::Tattoo::TattooUserInterface::printObjectDesc ( const Common::String str,
bool  firstTime 
)

Display the passed long description for an object. If the flag firstTime is set, the window will be opened to accommodate the text. Otherwise, the remaining text will be printed in an already open window

◆ doJournal()

void Sherlock::Tattoo::TattooUserInterface::doJournal ( )

Handles displaying the journal

◆ doInventory()

void Sherlock::Tattoo::TattooUserInterface::doInventory ( int  mode)

Put the game in inventory mode by opening the inventory dialog

◆ doControls()

void Sherlock::Tattoo::TattooUserInterface::doControls ( )

Handle the display of the options/setup menu

◆ doQuitMenu()

void Sherlock::Tattoo::TattooUserInterface::doQuitMenu ( )

Handle the display of the quit menu

◆ pickUpObject()

void Sherlock::Tattoo::TattooUserInterface::pickUpObject ( int  objNum)

Pick up the selected object

◆ putMessage()

void Sherlock::Tattoo::TattooUserInterface::putMessage ( MSVC_PRINTF const char *  formatStr,
  ... 
)

This will display a text message in a dialog at the bottom of the screen

◆ setupBGArea()

void void Sherlock::Tattoo::TattooUserInterface::setupBGArea ( const byte  cMap[PALETTE_SIZE])

Makes a greyscale translation table for each palette entry in the table

◆ doBgAnimEraseBackground()

void Sherlock::Tattoo::TattooUserInterface::doBgAnimEraseBackground ( )

Erase any background as needed before drawing frame

◆ drawMaskArea()

void Sherlock::Tattoo::TattooUserInterface::drawMaskArea ( bool  mode)

Draws overlays onto the scene. Basically, the smoke effects some scenes have

◆ maskArea()

void Sherlock::Tattoo::TattooUserInterface::maskArea ( Common::SeekableReadStream mask,
const Common::Point pt 
)

Takes the data passed in the image and apply it to the surface at the given position. The src mask data is encoded with a different color for each item. To highlight one, the runs that do not match the highlight number will be darkened

◆ makeBGArea()

void Sherlock::Tattoo::TattooUserInterface::makeBGArea ( const Common::Rect r)

Translate a given area of the back buffer to greyscale shading

◆ drawDialogRect()

void Sherlock::Tattoo::TattooUserInterface::drawDialogRect ( Surface s,
const Common::Rect r,
bool  raised 
)

Draws all the dialog rectangles for any items that need them

◆ displayObjectNames()

void Sherlock::Tattoo::TattooUserInterface::displayObjectNames ( )

If the mouse cursor is point at the cursor, then display the name of the object on the screen. If there is no object being pointed it, clear any previously displayed name

◆ loadGame()

void Sherlock::Tattoo::TattooUserInterface::loadGame ( )

Show the load game dialog, and allow the user to load a game

◆ saveGame()

void Sherlock::Tattoo::TattooUserInterface::saveGame ( )

Show the save game dialog, and allow the user to save the game

◆ addFixedWidget()

void Sherlock::Tattoo::TattooUserInterface::addFixedWidget ( WidgetBase widget)

Add a widget to the current scene to be executed if there are no active widgets in the main _widgets list

◆ reset()

void Sherlock::Tattoo::TattooUserInterface::reset ( )
overridevirtual

Resets the user interface

Reimplemented from Sherlock::UserInterface.

◆ handleInput()

void Sherlock::Tattoo::TattooUserInterface::handleInput ( )
overridevirtual

Main input handler for the user interface

Reimplemented from Sherlock::UserInterface.

◆ drawInterface()

void Sherlock::Tattoo::TattooUserInterface::drawInterface ( int  bufferNum = 3)
overridevirtual

Draw the user interface onto the screen's back buffers

Reimplemented from Sherlock::UserInterface.

◆ clearWindow()

void Sherlock::Tattoo::TattooUserInterface::clearWindow ( )
overridevirtual

Clear any active text window

Reimplemented from Sherlock::UserInterface.

◆ banishWindow()

void Sherlock::Tattoo::TattooUserInterface::banishWindow ( bool  slideUp = true)
overridevirtual

Banish any active window

Remarks
Tattoo doesn't use sliding windows, but the parameter is in the base UserInterface class as a convenience for Scalpel UI code

Reimplemented from Sherlock::UserInterface.


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