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::RenderEntrygetRenderEntry (const Common::Point &positionOffset) override
 
void setTexture (int32 index, uint32 textureType)
 
void setBonesMesh (int32 index)
 
BonesMeshfindBonesMesh ()
 
TextureSetfindTextureSet (uint32 textureType)
 
ItemTemplategetItemTemplate () const
 
void updateAnim ()
 
void resetAnimationBlending ()
 
AnimgetIdleActionAnim () const
 
AnimHandlergetAnimHandler () 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
 
ItemVisualgetSceneInstance () 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
 
AnimgetAnim () const
 
AnimgetActionAnim () 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)
 
MovementgetMovement () const
 
void setMovementSuspendedScript (Script *script)
 
virtual Common::Array< Common::PointlistExitPositions ()
 
- 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 ()
 
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::ItemVisual
Common::Array< Common::PointlistExitPositionsImpl ()
 
VisualgetVisual ()
 
- 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 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::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: