◆ getSourcePoint()
Common::Point Sherlock::Tattoo::TattooPerson::getSourcePoint |
( |
| ) |
const |
|
overrideprotectedvirtual |
Get the source position for a character potentially affected by scaling
Implements Sherlock::Person.
◆ clearNPC()
void Sherlock::Tattoo::TattooPerson::clearNPC |
( |
| ) |
|
Clear the NPC related data
◆ updateNPC()
void Sherlock::Tattoo::TattooPerson::updateNPC |
( |
| ) |
|
Called from doBgAnim to move NPCs along any set paths. If an NPC is paused in his path, he will remain paused until his pause timer runs out. If he is walking somewhere, he will continue walking there until he reaches the dest position. When an NPC stops moving, the next element of his path is processed.
The path is an array of bytes with control codes followed by their parameters as needed.
◆ pushNPCPath()
void Sherlock::Tattoo::TattooPerson::pushNPCPath |
( |
| ) |
|
Push the NPC's path data onto the path stack for when a talk file moves the NPC that has some control codes.
◆ pullNPCPath()
void Sherlock::Tattoo::TattooPerson::pullNPCPath |
( |
| ) |
|
Pull an NPC's path data that has been previously saved on the path stack for that character. There are two possibilities for when the NPC was interrupted, and both are handled differently: 1) The NPC was paused at a position If the NPC didn't move, we can just restore his pause counter and exit. But if he did move, he must return to that position, and the path index must be reset to the pause he was executing. This means that the index must be decremented by 3 2) The NPC was in route to a position He must be set to walk to that position again. This is done by moving the path index so that it points to the code that set the NPC walking there in the first place. The regular calls to updateNPC will handle the rest
◆ checkWalkGraphics()
void Sherlock::Tattoo::TattooPerson::checkWalkGraphics |
( |
| ) |
|
Checks a sprite associated with an NPC to see if the frame sequence specified in the sequence number uses alternate graphics, and if so if they need to be loaded
◆ synchronize()
void Sherlock::Tattoo::TattooPerson::synchronize |
( |
Serializer & |
s | ) |
|
Synchronize the data for a savegame
◆ walkHolmesToNPC()
void Sherlock::Tattoo::TattooPerson::walkHolmesToNPC |
( |
| ) |
|
◆ walkBothToCoords()
Walk both the specified character and Holmes to specified destination positions
◆ adjustSprite()
void Sherlock::Tattoo::TattooPerson::adjustSprite |
( |
| ) |
|
|
overridevirtual |
This adjusts the sprites position, as well as its animation sequence:
Implements Sherlock::Sprite.
◆ gotoStand()
void Sherlock::Tattoo::TattooPerson::gotoStand |
( |
| ) |
|
|
overridevirtual |
◆ setWalking()
void Sherlock::Tattoo::TattooPerson::setWalking |
( |
| ) |
|
|
overridevirtual |
Set the variables for moving a character from one poisition to another in a straight line
Implements Sherlock::Sprite.
◆ walkToCoords()
void Sherlock::Tattoo::TattooPerson::walkToCoords |
( |
const Point32 & |
destPos, |
|
|
int |
destDir |
|
) |
| |
|
overridevirtual |
Walk to the co-ordinates passed, and then face the given direction
Implements Sherlock::Person.
◆ setObjTalkSequence()
void Sherlock::Tattoo::TattooPerson::setObjTalkSequence |
( |
int |
seq | ) |
|
|
overridevirtual |
Adjusts the frame and sequence variables of a sprite that corresponds to the current speaker so that it points to the beginning of the sequence number's talk sequence in the object's sequence buffer
- Parameters
-
seq | Which sequence to use (if there's more than 1) |
Reimplemented from Sherlock::Sprite.
◆ centerScreenOnPerson()
void Sherlock::Tattoo::TattooPerson::centerScreenOnPerson |
( |
| ) |
|
|
overridevirtual |
Center the visible screen so that the person is in the center of the screen
Reimplemented from Sherlock::Person.
The documentation for this class was generated from the following file: