69 void Animate(
float p_time)
override;
100 return "LegoAnimActor";
[AI] Path-based actor which supports skeletal/mesh animation via an animation tree and multiple anima...
MxBool IsA(const char *p_name) const override
[AI] Checks for runtime type equality ("IsA" support); matches for this class or parent.
void ParseAction(char *p_extra) override
[AI] Handles extra action strings, looks for animation assignments and delegates to presenters (overr...
void SetWorldSpeed(MxFloat p_worldSpeed) override
[AI] Sets the current world speed and chooses which animation (from the animation map list) should be...
virtual void ClearMaps()
[AI] Deallocates all animation map structures and selects no animation; resets current animation inde...
vector< LegoAnimActorStruct * > m_animMaps
[AI] List of animation structures, each representing a valid animation for different speed/phase rang...
~LegoAnimActor() override
[AI] Destructor cleans up all animation map structures.
virtual MxResult FUN_1001c360(float p_und, Matrix4 &p_transform)
[AI] Applies the animation transform for the current animation at the given phase,...
LegoAnimActor()
[AI] Initializes LegoAnimActor and sets the current animation index to -1.
virtual MxResult FUN_1001c450(LegoAnim *p_AnimTreePtr, float p_unk0x00, LegoROI **p_roiMap, MxU32 p_numROIs)
[AI] Adds a new animation mapping (LegoAnimActorStruct) with a tree, threshold, and mesh mapping.
MxS16 m_curAnim
[AI] Index of currently selected animation map (-1 if none active). [AI]
virtual MxResult FUN_1001c1f0(float &p_und)
[AI] Computes the animation phase offset within the current animation, adjusts for looping.
void Animate(float p_time) override
[AI] Performs per-frame update; applies the appropriate animation to mesh ROIs based on speed and sta...
const char * ClassName() const override
[AI] Returns the class name string for RTTI and type checking.
void VTable0x74(Matrix4 &p_transform) override
[AI] Applies the current animation's transforms to the provided matrix, propagates to mesh hierarchie...
[AI] Root class for all node-based animation blending/structure.
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
MxBool IsA(const char *p_name) const override
[AI] RTTI-like check, matches against own or base class name for IsA hierarchy checks.
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
4x4 Matrix class with virtual interface for manipulation and transformation.
[AI] Holds per-animation instance data for a LegoAnimActor.
float GetDuration()
[AI] Gets the length, in seconds, of the animation (delegates to anim tree).
LegoAnim * GetAnimTreePtr()
[AI] Returns the root animation tree node for this mapping.
LegoAnim * m_AnimTreePtr
[AI] Root of animation tree for this animation [AI]
vector< undefined * > m_unk0x10
[AI] Holds per-instance temporary or auxiliary animation data [AI_SUGGESTED_NAME: tempAnimationData]
MxU32 m_numROIs
[AI] Number of entries in ROI map [AI]
LegoROI ** m_roiMap
[AI] Mapping of animation nodes to LEGO ROIs (meshes) [AI]
LegoROI ** GetROIMap()
[AI] Returns the mapping of tree nodes to LegoROI pointers (array of pointers, one per mesh/node).
~LegoAnimActorStruct()
[AI] Destructor: Deallocates dynamic vector data associated with the animation entry.
float GetUnknown0x00()
[AI] Gets the selection/duration/animation threshold value associated with this entry.
float m_unk0x00
[AI] Animation activation/duration threshold (used to decide which animation is active) [AI]