ScummVM API documentation
Sherlock::Tattoo::TattooTalk Class Reference
Inheritance diagram for Sherlock::Tattoo::TattooTalk:
Sherlock::Talk

Public Member Functions

 TattooTalk (SherlockEngine *vm)
 
void talkTo (const Common::String &filename) override
 
void pushSequenceEntry (Object *obj) override
 
void pullSequence (int slot=-1) override
 
bool isSequencesEmpty () const override
 
void clearSequences () override
 
- Public Member Functions inherited from Sherlock::Talk
Statementoperator[] (int idx)
 
void doScript (const Common::String &script)
 
void initTalk (int objNum)
 
void freeTalkVars ()
 
virtual void loadTalkFile (const Common::String &filename)
 
void pushSequence (int speaker)
 
void popStack ()
 
void synchronize (Serializer &s)
 
virtual void drawInterface ()
 
virtual bool displayTalk (bool slamIt)
 
virtual int talkLine (int lineNum, int stateNum, byte color, int lineY, bool slamIt)
 

Protected Member Functions

void talkInterface (const byte *&str) override
 
void nothingToSay () override
 
void showTalk () override
 
- Protected Member Functions inherited from Sherlock::Talk
 Talk (SherlockEngine *vm)
 
OpcodeReturn cmdAddItemToInventory (const byte *&str)
 
OpcodeReturn cmdAdjustObjectSequence (const byte *&str)
 
OpcodeReturn cmdBanishWindow (const byte *&str)
 
OpcodeReturn cmdDisableEndKey (const byte *&str)
 
OpcodeReturn cmdEnableEndKey (const byte *&str)
 
OpcodeReturn cmdEndTextWindow (const byte *&str)
 
OpcodeReturn cmdHolmesOff (const byte *&str)
 
OpcodeReturn cmdHolmesOn (const byte *&str)
 
OpcodeReturn cmdPause (const byte *&str)
 
OpcodeReturn cmdPauseWithoutControl (const byte *&str)
 
OpcodeReturn cmdRemoveItemFromInventory (const byte *&str)
 
OpcodeReturn cmdRunCAnimation (const byte *&str)
 
OpcodeReturn cmdSetFlag (const byte *&str)
 
OpcodeReturn cmdSetObject (const byte *&str)
 
OpcodeReturn cmdStealthModeActivate (const byte *&str)
 
OpcodeReturn cmdStealthModeDeactivate (const byte *&str)
 
OpcodeReturn cmdToggleObject (const byte *&str)
 
OpcodeReturn cmdWalkToCAnimation (const byte *&str)
 
bool isOpcode (byte checkCharacter)
 
void setTalkMap ()
 
virtual int waitForMore (int delay)
 
virtual void talkWait (const byte *&str)
 
virtual void switchSpeaker ()
 

Additional Inherited Members

- Static Public Member Functions inherited from Sherlock::Talk
static Talkinit (SherlockEngine *vm)
 
- Public Attributes inherited from Sherlock::Talk
Common::Array< Statement_statements
 
bool _talkToAbort
 
int _talkCounter
 
int _talkTo
 
int _scriptMoreFlag
 
bool _openTalkWindow
 
Common::String _scriptName
 
bool _moreTalkUp
 
bool _moreTalkDown
 
int _converseNum
 
const byte * _opcodes
 
int _speaker
 
- Protected Attributes inherited from Sherlock::Talk
SherlockEngine_vm
 
OpcodeMethod * _opcodeTable
 
Common::Stack< SequenceEntry_savedSequences
 
Common::Stack< ScriptStackEntry_scriptStack
 
Common::Array< TalkHistoryEntry_talkHistory
 
int _talkIndex
 
int _scriptSelect
 
int _talkStealth
 
int _talkToFlag
 
int _scriptSaveIndex
 
int _3doSpeechIndex
 
int _yp
 
int _charCount
 
int _line
 
int _wait
 
bool _pauseFlag
 
bool _endStr
 
bool _noTextYet
 
int _seqCount
 
const byte * _scriptStart
 
const byte * _scriptEnd
 

Member Function Documentation

◆ talkInterface()

void Sherlock::Tattoo::TattooTalk::talkInterface ( const byte *&  str)
overrideprotectedvirtual

Display the talk interface window

Implements Sherlock::Talk.

◆ nothingToSay()

void Sherlock::Tattoo::TattooTalk::nothingToSay ( )
overrideprotectedvirtual

Called when a character being spoken to has no talk options to display

Implements Sherlock::Talk.

◆ showTalk()

void Sherlock::Tattoo::TattooTalk::showTalk ( )
overrideprotectedvirtual

Show the talk display

Implements Sherlock::Talk.

◆ talkTo()

void Sherlock::Tattoo::TattooTalk::talkTo ( const Common::String filename)
overridevirtual

Called whenever a conversation or item script needs to be run. For standard conversations, it opens up a description window similar to how 'talk' does, but shows a 'reply' directly instead of waiting for a statement option.

Remarks
It seems that at some point, all item scripts were set up to use this as well. In their case, the conversation display is simply suppressed, and control is passed on to doScript to implement whatever action is required.

Reimplemented from Sherlock::Talk.

◆ pushSequenceEntry()

void Sherlock::Tattoo::TattooTalk::pushSequenceEntry ( Object obj)
overridevirtual

Push the details of a passed object onto the saved sequences stack

Implements Sherlock::Talk.

◆ pullSequence()

void Sherlock::Tattoo::TattooTalk::pullSequence ( int  slot = -1)
overridevirtual

Pulls a background object sequence from the sequence stack and restore's the object's sequence

Implements Sherlock::Talk.

◆ isSequencesEmpty()

bool Sherlock::Tattoo::TattooTalk::isSequencesEmpty ( ) const
overridevirtual

Returns true if the script stack is empty

Implements Sherlock::Talk.

◆ clearSequences()

void Sherlock::Tattoo::TattooTalk::clearSequences ( )
overridevirtual

Clears the stack of pending object sequences associated with speakers in the scene

Implements Sherlock::Talk.


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