ScummVM API documentation
Sherlock::Tattoo::TattooScene Class Reference
Inheritance diagram for Sherlock::Tattoo::TattooScene:
Sherlock::Scene

Public Member Functions

 TattooScene (SherlockEngine *vm)
 
int getScaleVal (const Point32 &pt)
 
void freeScene () override
 
void doBgAnim () override
 
void updateBackground () override
 
int startCAnim (int cAnimNum, int playRate=1) override
 
int findBgShape (const Common::Point &pt) override
 
- Public Member Functions inherited from Sherlock::Scene
void selectScene ()
 
void checkSceneFlags (bool mode)
 
ExitcheckForExit (const Common::Rect &r)
 
int toggleObject (const Common::String &name)
 
int checkForZones (const Common::Point &pt, int zoneType)
 
int whichZone (const Common::Point &pt)
 

Public Attributes

StreamingImageFile _activeCAnim
 
Common::Array< SceneTripEntry_sceneTripCounters
 
bool _labTableScene
 
- Public Attributes inherited from Sherlock::Scene
int _currentScene
 
int _goToScene
 
bool ** _sceneStats
 
bool _walkedInScene
 
int _version
 
bool _compressed
 
int _invGraphicItems
 
Common::String _comments
 
Common::Array< char > _descText
 
Common::Array< Common::Rect_zones
 
ObjectArray _bgShapes
 
Common::Array< CAnim_cAnim
 
Common::Array< byte > _sequenceBuffer
 
Common::Array< SceneImage_images
 
int _walkDirectory [40][40]
 
Common::Array< WalkArray_walkPoints
 
Common::Array< Exit_exits
 
SceneEntry _entrance
 
Common::Array< SceneSound_sounds
 
Common::Array< Object * > _canimShapes
 
Common::Array< ScaleZone_scaleZones
 
Common::StringArray _objSoundList
 
bool _restoreFlag
 
int _animating
 
bool _doBgAnimDone
 
int _tempFadeStyle
 
int _cAnimFramePause
 

Protected Member Functions

bool loadScene (const Common::Path &filename) override
 
void checkBgShapes () override
 
void drawAllShapes () override
 
void paletteLoaded () override
 
void synchronize (Serializer &s) override
 
int closestZone (const Common::Point &pt) override
 
- Protected Member Functions inherited from Sherlock::Scene
 Scene (SherlockEngine *vm)
 

Additional Inherited Members

- Static Public Member Functions inherited from Sherlock::Scene
static Sceneinit (SherlockEngine *vm)
 
- Protected Attributes inherited from Sherlock::Scene
SherlockEngine_vm
 
Common::Path _roomFilename
 

Member Function Documentation

◆ loadScene()

bool Sherlock::Tattoo::TattooScene::loadScene ( const Common::Path filename)
overrideprotectedvirtual

Loads the data associated for a given scene. The room resource file's format is: BGHEADER: Holds an index for the rest of the file STRUCTS: The objects for the scene IMAGES: The graphic information for the structures

The _misc field of the structures contains the number of the graphic image that it should point to after loading; _misc is then set to 0.

Reimplemented from Sherlock::Scene.

◆ checkBgShapes()

void Sherlock::Tattoo::TattooScene::checkBgShapes ( )
overrideprotectedvirtual

Checks all the background shapes. If a background shape is animating, it will flag it as needing to be drawn. If a non-animating shape is colliding with another shape, it will also flag it as needing drawing

Reimplemented from Sherlock::Scene.

◆ drawAllShapes()

void Sherlock::Tattoo::TattooScene::drawAllShapes ( )
overrideprotectedvirtual

Draw all the shapes, people and NPCs in the correct order

Implements Sherlock::Scene.

◆ paletteLoaded()

void Sherlock::Tattoo::TattooScene::paletteLoaded ( )
overrideprotectedvirtual

Called by loadScene when the palette is loaded for Rose Tattoo

Reimplemented from Sherlock::Scene.

◆ synchronize()

void Sherlock::Tattoo::TattooScene::synchronize ( Serializer s)
overrideprotectedvirtual

Synchronize the data for a savegame

Reimplemented from Sherlock::Scene.

◆ closestZone()

int Sherlock::Tattoo::TattooScene::closestZone ( const Common::Point pt)
overrideprotectedvirtual

Returns the index of the closest zone to a given point.

Implements Sherlock::Scene.

◆ getScaleVal()

int Sherlock::Tattoo::TattooScene::getScaleVal ( const Point32 pt)

Returns the scale value for the passed co-ordinates. This is taken from the scene's scale zones, interpolating inbetween the top and bottom values of the zones as needed

◆ freeScene()

void Sherlock::Tattoo::TattooScene::freeScene ( )
overridevirtual

Fres all the graphics and other dynamically allocated data for the scene

Reimplemented from Sherlock::Scene.

◆ doBgAnim()

void Sherlock::Tattoo::TattooScene::doBgAnim ( )
overridevirtual

Draw all objects and characters.

Implements Sherlock::Scene.

◆ updateBackground()

void Sherlock::Tattoo::TattooScene::updateBackground ( )
overridevirtual

Update the screen back buffer with all of the scene objects which need to be drawn

Reimplemented from Sherlock::Scene.

◆ startCAnim()

int Sherlock::Tattoo::TattooScene::startCAnim ( int  cAnimNum,
int  playRate = 1 
)
overridevirtual

Attempt to start a canimation sequence. It will load the requisite graphics, and then copy the canim object into the _canimShapes array to start the animation.

Parameters
cAnimNumThe canim object within the current scene
playRatePlay rate. 0 is invalid; 1=normal speed, 2=1/2 speed, etc. A negative playRate can also be specified to play the animation in reverse

Implements Sherlock::Scene.

◆ findBgShape()

int Sherlock::Tattoo::TattooScene::findBgShape ( const Common::Point pt)
overridevirtual

Attempts to find a background shape within the passed bounds. If found, it will return the shape number, or -1 on failure.

Implements Sherlock::Scene.


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