ScummVM API documentation
Sherlock::Scalpel::ScalpelScene Class Reference
Inheritance diagram for Sherlock::Scalpel::ScalpelScene:
Sherlock::Scene

Public Member Functions

 ScalpelScene (SherlockEngine *vm)
 
void doBgAnim () 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)
 
virtual void freeScene ()
 
virtual void synchronize (Serializer &s)
 
virtual void updateBackground ()
 

Protected Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from Sherlock::Scene
static Sceneinit (SherlockEngine *vm)
 
- 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 Attributes inherited from Sherlock::Scene
SherlockEngine_vm
 
Common::Path _roomFilename
 

Member Function Documentation

◆ loadScene()

bool Sherlock::Scalpel::ScalpelScene::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::Scalpel::ScalpelScene::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::Scalpel::ScalpelScene::drawAllShapes ( )
overrideprotectedvirtual

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

Implements Sherlock::Scene.

◆ closestZone()

int Sherlock::Scalpel::ScalpelScene::closestZone ( const Common::Point pt)
overrideprotectedvirtual

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

Implements Sherlock::Scene.

◆ doBgAnim()

void Sherlock::Scalpel::ScalpelScene::doBgAnim ( )
overridevirtual

Draw all objects and characters.

Implements Sherlock::Scene.

◆ startCAnim()

int Sherlock::Scalpel::ScalpelScene::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::Scalpel::ScalpelScene::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: