ScummVM API documentation
Sherlock::People Class Referenceabstract
Inheritance diagram for Sherlock::People:
Sherlock::Scalpel::ScalpelPeople Sherlock::Tattoo::TattooPeople

Public Member Functions

Personoperator[] (PeopleId id)
 
Personoperator[] (int idx)
 
void reset ()
 
bool freeWalk ()
 
void clearTalking ()
 
virtual int findSpeaker (int speaker)
 
virtual void synchronize (Serializer &s)=0
 
virtual void setTalkSequence (int speaker, int sequenceNum=1)=0
 
virtual bool loadWalk ()=0
 
virtual const Common::Point restrictToZone (int zoneId, const Common::Point &destPos)=0
 
virtual void setListenSequence (int speaker, int sequenceNum=1)=0
 

Static Public Member Functions

static Peopleinit (SherlockEngine *vm)
 

Public Attributes

Common::Array< PersonData_characters
 
ImageFile_talkPics
 
PositionFacing _savedPos
 
bool _holmesOn
 
bool _portraitLoaded
 
bool _portraitsOn
 
Object _portrait
 
bool _clearingThePortrait
 
bool _allowWalkAbort
 
int _portraitSide
 
bool _speakerFlip
 
bool _holmesFlip
 
int _holmesQuotient
 
bool _forceWalkReload
 
bool _useWalkLib
 
int _walkControl
 

Protected Member Functions

 People (SherlockEngine *vm)
 

Protected Attributes

SherlockEngine_vm
 
Common::Array< Person * > _data
 

Member Function Documentation

◆ reset()

void Sherlock::People::reset ( )

Reset the player data

◆ freeWalk()

bool Sherlock::People::freeWalk ( )

If the walk data has been loaded, then it will be freed

◆ clearTalking()

void Sherlock::People::clearTalking ( )

Turn off any currently active portraits, and removes them from being drawn

◆ findSpeaker()

virtual int Sherlock::People::findSpeaker ( int  speaker)
virtual

Finds the scene background object corresponding to a specified speaker

Reimplemented in Sherlock::Tattoo::TattooPeople.

◆ synchronize()

virtual void Sherlock::People::synchronize ( Serializer s)
pure virtual

Synchronize the data for a savegame

Implemented in Sherlock::Tattoo::TattooPeople, and Sherlock::Scalpel::ScalpelPeople.

◆ setTalkSequence()

virtual void Sherlock::People::setTalkSequence ( int  speaker,
int  sequenceNum = 1 
)
pure virtual

Change the sequence of the scene background object associated with the current speaker.

Implemented in Sherlock::Tattoo::TattooPeople, and Sherlock::Scalpel::ScalpelPeople.

◆ loadWalk()

virtual bool Sherlock::People::loadWalk ( )
pure virtual

Load the walking images for Sherlock

Implemented in Sherlock::Tattoo::TattooPeople, and Sherlock::Scalpel::ScalpelPeople.

◆ restrictToZone()

virtual const Common::Point Sherlock::People::restrictToZone ( int  zoneId,
const Common::Point destPos 
)
pure virtual

Restrict passed point to zone using Sherlock's positioning rules

Implemented in Sherlock::Tattoo::TattooPeople, and Sherlock::Scalpel::ScalpelPeople.

◆ setListenSequence()

virtual void Sherlock::People::setListenSequence ( int  speaker,
int  sequenceNum = 1 
)
pure virtual

If the specified speaker is a background object, it will set it so that it uses the Listen Sequence (specified by the sequence number). If the current sequence has an Allow Talk Code in it, the _gotoSeq field will be set so that the object begins listening as soon as it hits the Allow Talk Code. If there is no Abort Code, the Listen Sequence will begin immediately.

Parameters
speakerWho is speaking
sequenceNumWhich listen sequence to use

Implemented in Sherlock::Tattoo::TattooPeople, and Sherlock::Scalpel::ScalpelPeople.


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