ScummVM API documentation
Stark::Resources::Anim Class Referenceabstract

#include <anim.h>

Inheritance diagram for Stark::Resources::Anim:
Stark::Resources::Object Stark::Resources::AnimImages Stark::Resources::AnimProp Stark::Resources::AnimSkeleton Stark::Resources::AnimVideo

Public Types

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
}
 

Public Member Functions

 Anim (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void readData (Formats::XRCReadStream *stream) override
 
uint32 getCurrentFrame ()
 
virtual void selectFrame (uint32 frameIndex)
 
virtual VisualgetVisual ()=0
 
virtual void applyToItem (Item *item)
 
virtual void removeFromItem (Item *item)
 
bool isInUse () const
 
uint32 getActivity () const
 
virtual int getPointHotspotIndex (const Common::Point &point) const
 
virtual Common::Point getHotspotPosition (uint index) const
 
virtual void playAsAction (ItemVisual *item)
 
virtual bool isAtTime (uint32 time) const
 
virtual uint32 getMovementSpeed () const
 
virtual uint32 getIdleActionFrequency () const
 
virtual void shouldResetItem (bool resetItem)
 
virtual void resetItem ()
 
virtual bool isDone () 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 onPostRead ()
 
virtual void onAllLoaded ()
 
virtual void onEnterLocation ()
 
virtual void onGameLoop ()
 
virtual void onEnginePause (bool pause)
 
virtual void onExitLocation ()
 
virtual void onPreDestroy ()
 
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
 

Static Public Member Functions

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

static const Type::ResourceType TYPE = Type::kAnim
 

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

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
 

Detailed Description

Animation base class

Animations provide a time dependent visual state to Items

Member Function Documentation

◆ construct()

static Object* Stark::Resources::Anim::construct ( Object parent,
byte  subType,
uint16  index,
const Common::String name 
)
static

Anim factory

◆ readData()

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

Deserialize the resource static data and initial state.

Reimplemented from Stark::Resources::Object.

Reimplemented in Stark::Resources::AnimSkeleton, Stark::Resources::AnimVideo, Stark::Resources::AnimProp, and Stark::Resources::AnimImages.

◆ getCurrentFrame()

uint32 Stark::Resources::Anim::getCurrentFrame ( )
inline

Get current displayed frame

◆ selectFrame()

virtual void Stark::Resources::Anim::selectFrame ( uint32  frameIndex)
virtual

Sets the animation frame to be displayed

Reimplemented in Stark::Resources::AnimImages.

◆ getVisual()

virtual Visual* Stark::Resources::Anim::getVisual ( )
pure virtual

◆ applyToItem()

virtual void Stark::Resources::Anim::applyToItem ( Item item)
virtual

Associate the animation to an Item

Reimplemented in Stark::Resources::AnimSkeleton.

◆ removeFromItem()

virtual void Stark::Resources::Anim::removeFromItem ( Item item)
virtual

Dissociate the animation from an item

Reimplemented in Stark::Resources::AnimSkeleton.

◆ isInUse()

bool Stark::Resources::Anim::isInUse ( ) const

Check is the animation is being used by an item

◆ getActivity()

uint32 Stark::Resources::Anim::getActivity ( ) const

Obtain the purpose of this anim

◆ getPointHotspotIndex()

virtual int Stark::Resources::Anim::getPointHotspotIndex ( const Common::Point point) const
virtual

Return the hotspot index for a point given in relative coordinates

Reimplemented in Stark::Resources::AnimImages.

◆ getHotspotPosition()

virtual Common::Point Stark::Resources::Anim::getHotspotPosition ( uint  index) const
inlinevirtual

Get the hotspot position for a given index of a pat-table

Reimplemented in Stark::Resources::AnimImages.

◆ playAsAction()

virtual void Stark::Resources::Anim::playAsAction ( ItemVisual item)
virtual

Play the animation as an action for an item.

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

Reimplemented in Stark::Resources::AnimSkeleton, and Stark::Resources::AnimVideo.

◆ isAtTime()

virtual bool Stark::Resources::Anim::isAtTime ( uint32  time) const
virtual

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

Reimplemented in Stark::Resources::AnimSkeleton, and Stark::Resources::AnimVideo.

◆ getMovementSpeed()

virtual uint32 Stark::Resources::Anim::getMovementSpeed ( ) const
virtual

Get the anim movement speed in units per seconds

Reimplemented in Stark::Resources::AnimSkeleton, and Stark::Resources::AnimProp.

◆ getIdleActionFrequency()

virtual uint32 Stark::Resources::Anim::getIdleActionFrequency ( ) const
virtual

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

Reimplemented in Stark::Resources::AnimSkeleton.

◆ shouldResetItem()

virtual void Stark::Resources::Anim::shouldResetItem ( bool  resetItem)
virtual

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 in Stark::Resources::AnimSkeleton, and Stark::Resources::AnimVideo.

◆ resetItem()

virtual void Stark::Resources::Anim::resetItem ( )
virtual

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

Reimplemented in Stark::Resources::AnimSkeleton, and Stark::Resources::AnimVideo.

◆ isDone()

virtual bool Stark::Resources::Anim::isDone ( ) const
virtual

Is this animation done playing.

Only valid for animations started with playAsAction.

Reimplemented in Stark::Resources::AnimSkeleton, and Stark::Resources::AnimVideo.


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