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

#include <item.h>

Inheritance diagram for Stark::Resources::ModelItem:
Stark::Resources::FloorPositionedItem Stark::Resources::ItemVisual Stark::Resources::Item Stark::Resources::Object

Public Member Functions

 ModelItem (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void readData (Formats::XRCReadStream *stream) override
 
void onAllLoaded () override
 
void onEnterLocation () override
 
void onExitLocation () override
 
void saveLoadCurrent (ResourceSerializer *serializer) override
 
Gfx::RenderEntry * getRenderEntry (const Common::Point &positionOffset) override
 
void setTexture (int32 index, uint32 textureType)
 
void setBonesMesh (int32 index)
 
BonesMesh * findBonesMesh ()
 
TextureSet * findTextureSet (uint32 textureType)
 
ItemTemplate * getItemTemplate () const
 
void updateAnim ()
 
void resetAnimationBlending ()
 
Anim * getIdleActionAnim () const
 
AnimHandler * getAnimHandler () const
 
- Public Member Functions inherited from Stark::Resources::FloorPositionedItem
 FloorPositionedItem (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void saveLoad (ResourceSerializer *serializer) override
 
void placeOnBookmark (Bookmark *target)
 
void placeDefaultPosition ()
 
Math::Vector3d getPosition3D () const
 
void setPosition3D (const Math::Vector3d &position)
 
int32 getFloorFaceIndex () const
 
void setFloorFaceIndex (int32 faceIndex)
 
Math::Vector3d getDirectionVector () const
 
void setDirection (const Math::Angle &direction)
 
float getSortKey () const
 
void overrideSortKey (float sortKey)
 
- Public Member Functions inherited from Stark::Resources::ItemVisual
 ItemVisual (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void setEnabled (bool enabled) override
 
ItemVisual * getSceneInstance () override
 
void setAnimHierarchy (AnimHierarchy *animHierarchy) override
 
virtual void setPosition2D (const Common::Point &position)
 
int getHotspotIndexForPoint (const Common::Point &point)
 
Common::String getHotspotTitle (uint32 hotspotIndex)
 
bool canPerformAction (uint32 action, uint32 hotspotIndex)
 
bool doAction (uint32 action, uint32 hotspotIndex)
 
void setAnimActivity (int32 activity)
 
int32 getAnimActivity () const
 
Anim * getAnim () const
 
Anim * getActionAnim () const
 
void playActionAnim (Anim *anim)
 
void resetActionAnim ()
 
- Public Member Functions inherited from Stark::Resources::Item
 Item (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void onGameLoop () override
 
bool isEnabled () const
 
int32 getCharacterIndex () const
 
void setMovement (Movement *movement)
 
Movement * getMovement () const
 
void setMovementSuspendedScript (Script *script)
 
virtual Common::Array< Common::Point > listExitPositions ()
 
- 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 onPostRead ()
 
virtual void onEnginePause (bool pause)
 
virtual void onPreDestroy ()
 
template<class T >
T * findParent ()
 
Object * findChildWithIndex (Type type, uint16 index, int subType=-1) const
 
Object * findChildWithOrder (Type type, uint16 order, int subType=-1) const
 
Object * findChildWithName (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<>
Object * cast (Object *resource)
 
template<>
Object * findParent ()
 
template<>
Common::Array< Object * > listChildren (int subType) const
 

Protected Member Functions

void printData () override
 
- Protected Member Functions inherited from Stark::Resources::ItemVisual
Common::Array< Common::Point > listExitPositionsImpl ()
 
Visual * getVisual ()
 
- 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

int32 _meshIndex
 
int32 _textureNormalIndex
 
int32 _textureFaceIndex
 
ResourceReference _reference
 
ItemTemplate * _referencedItem
 
AnimHandler * _animHandler
 
- Protected Attributes inherited from Stark::Resources::FloorPositionedItem
int32 _floorFaceIndex
 
Math::Vector3d _position3D
 
float _direction3D
 
bool _sortKeyOverride
 
float _sortKeyOverridenValue
 
- Protected Attributes inherited from Stark::Resources::ItemVisual
Gfx::RenderEntry * _renderEntry
 
Anim * _actionAnim
 
AnimHierarchy * _animHierarchy
 
int32 _currentAnimActivity
 
bool _clickable
 
- Protected Attributes inherited from Stark::Resources::Item
bool _enabled
 
int32 _characterIndex
 
Movement * _movement
 
Script * _movementSuspendedScript
 
- 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::Item
enum  SubType {
  kItemGlobalTemplate = 1, kItemInventory = 2, kItemLevelTemplate = 3, kItemStaticProp = 5,
  kItemAnimatedProp = 6, kItemBackgroundElement = 7, kItemBackground = 8, kItemModel = 10
}
 
- Static Public Member Functions inherited from Stark::Resources::Item
static Object * construct (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::Item
static const Type::ResourceType TYPE = Type::kItem
 

Detailed Description

Model item

Used to draw characters

Member Function Documentation

◆ readData()

void Stark::Resources::ModelItem::readData ( Formats::XRCReadStream *  stream)
overridevirtual

Deserialize the resource static data and initial state.

Reimplemented from Stark::Resources::ItemVisual.

◆ onAllLoaded()

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

Called when the resource sub-tree is entirely loaded.

Allows to load data from other nodes.

Reimplemented from Stark::Resources::ItemVisual.

◆ onEnterLocation()

void Stark::Resources::ModelItem::onEnterLocation ( )
overridevirtual

Called when entering a location

Reimplemented from Stark::Resources::Object.

◆ onExitLocation()

void Stark::Resources::ModelItem::onExitLocation ( )
overridevirtual

Called when exiting a location

Reimplemented from Stark::Resources::Object.

◆ saveLoadCurrent()

void Stark::Resources::ModelItem::saveLoadCurrent ( ResourceSerializer *  serializer)
overridevirtual

Persist / restore the resource state

Called only for active locations

Reimplemented from Stark::Resources::ItemVisual.

◆ getRenderEntry()

Gfx::RenderEntry* Stark::Resources::ModelItem::getRenderEntry ( const Common::Point &  positionOffset)
overridevirtual

Obtain the render entry to use to display the item

Reimplemented from Stark::Resources::Item.

◆ setTexture()

void Stark::Resources::ModelItem::setTexture ( int32  index,
uint32  textureType 
)

Set the mesh main or face texture

◆ setBonesMesh()

void Stark::Resources::ModelItem::setBonesMesh ( int32  index)

Change the item's mesh

◆ findBonesMesh()

BonesMesh* Stark::Resources::ModelItem::findBonesMesh ( )

Obtain the bone mesh to use to render the item

◆ findTextureSet()

TextureSet* Stark::Resources::ModelItem::findTextureSet ( uint32  textureType)

Obtain the texture to use to render the item

◆ getItemTemplate()

ItemTemplate* Stark::Resources::ModelItem::getItemTemplate ( ) const

Get the item's level or global template if any

◆ updateAnim()

void Stark::Resources::ModelItem::updateAnim ( )

Update the item's animation after a texture / mesh change

◆ resetAnimationBlending()

void Stark::Resources::ModelItem::resetAnimationBlending ( )

Reset animation blending

◆ getIdleActionAnim()

Anim* Stark::Resources::ModelItem::getIdleActionAnim ( ) const

Randomize an idle action animation


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