ScummVM API documentation
Stark::Resources::AnimSkeleton Class Reference

#include <anim.h>

Inheritance diagram for Stark::Resources::AnimSkeleton:
Stark::Resources::Anim Stark::Resources::Object

Public Member Functions

 AnimSkeleton (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void readData (Formats::XRCReadStream *stream) override
 
void onPostRead () override
 
void onAllLoaded () override
 
void onGameLoop () override
 
void onPreDestroy () override
 
void applyToItem (Item *item) override
 
void removeFromItem (Item *item) override
 
VisualgetVisual () override
 
void playAsAction (ItemVisual *item) override
 
bool isAtTime (uint32 time) const override
 
bool isDone () const override
 
uint32 getMovementSpeed () const override
 
uint32 getIdleActionFrequency () const override
 
void shouldResetItem (bool resetItem) override
 
void resetItem () override
 
uint32 getRemainingTime () const
 
uint32 getCurrentTime () const
 
- Public Member Functions inherited from Stark::Resources::Anim
 Anim (Object *parent, byte subType, uint16 index, const Common::String &name)
 
uint32 getCurrentFrame ()
 
virtual void selectFrame (uint32 frameIndex)
 
bool isInUse () const
 
uint32 getActivity () const
 
virtual int getPointHotspotIndex (const Common::Point &point) const
 
virtual Common::Point getHotspotPosition (uint index) const
 
- Public Member Functions inherited from Stark::Resources::Object
Type getType () const
 
byte getSubType () const
 
uint16 getIndex () const
 
Common::String getIndexAsString () const
 
Common::String getName () const
 
virtual void saveLoad (ResourceSerializer *serializer)
 
virtual void saveLoadCurrent (ResourceSerializer *serializer)
 
virtual void onEnterLocation ()
 
virtual void onEnginePause (bool pause)
 
virtual void onExitLocation ()
 
template<class T >
T * findParent ()
 
ObjectfindChildWithIndex (Type type, uint16 index, int subType=-1) const
 
ObjectfindChildWithOrder (Type type, uint16 order, int subType=-1) const
 
ObjectfindChildWithName (Type type, const Common::String &name, int subType=-1) const
 
template<class T >
T * findChild (bool mustBeUnique=true) const
 
template<class T >
T * findChildWithSubtype (int subType, bool mustBeUnique=true) const
 
template<class T >
T * findChildWithIndex (uint16 index, int subType=-1) const
 
template<class T >
T * findChildWithOrder (uint16 order, int subType=-1) const
 
template<class T >
T * findChildWithName (const Common::String &name, int subType=-1) const
 
template<class T >
Common::Array< T * > listChildren (int subType=-1) const
 
template<class T >
Common::Array< T * > listChildrenRecursive (int subType=-1)
 
void addChild (Object *child)
 
virtual void print (uint depth=0)
 
template<>
Objectcast (Object *resource)
 
template<>
ObjectfindParent ()
 
template<>
Common::Array< Object * > listChildren (int subType) const
 

Protected Member Functions

void printData () override
 
- Protected Member Functions inherited from Stark::Resources::Object
 Object (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void printWithDepth (uint depth, const Common::String &string) const
 
void printDescription (uint depth) const
 

Protected Attributes

bool _castsShadow
 
Common::Path _archiveName
 
Common::Path _animFilename
 
bool _loop
 
uint32 _movementSpeed
 
uint32 _idleActionFrequency
 
uint32 _totalTime
 
uint32 _currentTime
 
bool _done
 
SkeletonAnim_skeletonAnim
 
VisualActor_visual
 
ItemVisual_actionItem
 
bool _shouldResetItem
 
- Protected Attributes inherited from Stark::Resources::Anim
uint32 _activity
 
uint32 _currentFrame
 
uint32 _numFrames
 
int32 _refCount
 
- Protected Attributes inherited from Stark::Resources::Object
Type _type
 
byte _subType
 
uint16 _index
 
Common::String _name
 
Object_parent
 
Common::Array< Object * > _children
 

Additional Inherited Members

- Public Types inherited from Stark::Resources::Anim
enum  SubType { kAnimImages = 1, kAnimProp = 2, kAnimVideo = 3, kAnimSkeleton = 4 }
 
enum  ActionUsage { kActionUsagePassive = 1, kActionUsageActive = 2 }
 
enum  UIUsage { kUIUsageInventory = 1, kUIUsageUseCursorPassive = 4, kUIUsageUseCursorActive = 5 }
 
enum  ActorActivity {
  kActorActivityIdle = 1, kActorActivityWalk = 2, kActorActivityTalk = 3, kActorActivityRun = 6,
  kActorActivityIdleAction = 10
}
 
- Static Public Member Functions inherited from Stark::Resources::Anim
static Objectconstruct (Object *parent, byte subType, uint16 index, const Common::String &name)
 
- Static Public Member Functions inherited from Stark::Resources::Object
template<class T >
static T * cast (Object *resource)
 
- Static Public Attributes inherited from Stark::Resources::Anim
static const Type::ResourceType TYPE = Type::kAnim
 

Detailed Description

Animates a 3D mesh skeleton

Member Function Documentation

◆ readData()

void Stark::Resources::AnimSkeleton::readData ( Formats::XRCReadStream stream)
overridevirtual

Deserialize the resource static data and initial state.

Reimplemented from Stark::Resources::Anim.

◆ onPostRead()

void Stark::Resources::AnimSkeleton::onPostRead ( )
overridevirtual

Called when the node's initialization is complete.

Allows to load additional data from file.

Reimplemented from Stark::Resources::Object.

◆ onAllLoaded()

void Stark::Resources::AnimSkeleton::onAllLoaded ( )
overridevirtual

Called when the resource sub-tree is entirely loaded.

Allows to load data from other nodes.

Reimplemented from Stark::Resources::Object.

◆ onGameLoop()

void Stark::Resources::AnimSkeleton::onGameLoop ( )
overridevirtual

Called once per game loop

Reimplemented from Stark::Resources::Object.

◆ onPreDestroy()

void Stark::Resources::AnimSkeleton::onPreDestroy ( )
overridevirtual

Called before a resource sub-tree is unloaded.

Reimplemented from Stark::Resources::Object.

◆ applyToItem()

void Stark::Resources::AnimSkeleton::applyToItem ( Item item)
overridevirtual

Associate the animation to an Item

Reimplemented from Stark::Resources::Anim.

◆ removeFromItem()

void Stark::Resources::AnimSkeleton::removeFromItem ( Item item)
overridevirtual

Dissociate the animation from an item

Reimplemented from Stark::Resources::Anim.

◆ getVisual()

Visual* Stark::Resources::AnimSkeleton::getVisual ( )
overridevirtual

Obtain the Visual to be used to render the animation

Implements Stark::Resources::Anim.

◆ playAsAction()

void Stark::Resources::AnimSkeleton::playAsAction ( ItemVisual item)
overridevirtual

Play the animation as an action for an item.

This sets up a callback to the item for when the animation completes.

Reimplemented from Stark::Resources::Anim.

◆ isAtTime()

bool Stark::Resources::AnimSkeleton::isAtTime ( uint32  time) const
overridevirtual

Checks if the elapsed time since the animation start is greater than a specified duration

Reimplemented from Stark::Resources::Anim.

◆ isDone()

bool Stark::Resources::AnimSkeleton::isDone ( ) const
inlineoverridevirtual

Is this animation done playing.

Only valid for animations started with playAsAction.

Reimplemented from Stark::Resources::Anim.

◆ getMovementSpeed()

uint32 Stark::Resources::AnimSkeleton::getMovementSpeed ( ) const
overridevirtual

Get the anim movement speed in units per seconds

Reimplemented from Stark::Resources::Anim.

◆ getIdleActionFrequency()

uint32 Stark::Resources::AnimSkeleton::getIdleActionFrequency ( ) const
overridevirtual

Get the chance the animation has to play among other idle actions from the same anim hierarchy

Reimplemented from Stark::Resources::Anim.

◆ shouldResetItem()

void Stark::Resources::AnimSkeleton::shouldResetItem ( bool  resetItem)
overridevirtual

When this animation is playing as an action should a new animation be chosen for the item as soon as this one completes based on the item's activity? This is true by default, but setting it to false allows scripts to chose precisely the new animation to play, and to start it in the same frame as this one is removed.

Reimplemented from Stark::Resources::Anim.

◆ resetItem()

void Stark::Resources::AnimSkeleton::resetItem ( )
overridevirtual

Remove this action animation for the item and select a new animation based on the item's current activity.

Reimplemented from Stark::Resources::Anim.

◆ getRemainingTime()

uint32 Stark::Resources::AnimSkeleton::getRemainingTime ( ) const

Get the duration in milliseconds before the animation loops ends

◆ getCurrentTime()

uint32 Stark::Resources::AnimSkeleton::getCurrentTime ( ) const

Get the position in the animation loop in milliseconds


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