|
Isle
|
[AI] Specialized presenter class for handling locomotion animation playback and state in the LEGO Island game engine. More...
#include <legolocomotionanimpresenter.h>


Public Member Functions | |
| LegoLocomotionAnimPresenter () | |
| [AI] Constructs a new LegoLocomotionAnimPresenter and initializes internal members. More... | |
| ~LegoLocomotionAnimPresenter () override | |
| [AI] Destructor. More... | |
| const char * | ClassName () const override |
| [AI] Gets the class name for run-time type identification. More... | |
| MxBool | IsA (const char *p_name) const override |
| [AI] Checks if the given name matches the class (or any ancestor) for run-time type queries. More... | |
| void | ReadyTickle () override |
| [AI] Called during the ready tickle state to prepare for animation processing and add itself to the world if necessary. More... | |
| void | StartingTickle () override |
| [AI] Called during the starting tickle state to dequeue and process any pending animation data chunks. More... | |
| void | StreamingTickle () override |
| [AI] Called during the streaming state to manage lifecycle and check if further processing is required. More... | |
| MxResult | AddToManager () override |
| [AI] Registers this presenter with manager systems and initializes additional ROI mapping state. More... | |
| void | Destroy () override |
| [AI] Completely cleans up and deletes this presenter's resources. More... | |
| void | EndAction () override |
| [AI] Ends the bound action/animation for this presenter, finalizing any running videos or related resources. More... | |
| void | PutFrame () override |
| [AI] Called to process/queue a frame for this presenter's active animation playback. More... | |
| MxResult | CreateAnim (MxStreamChunk *p_chunk) override |
| [AI] Creates an animation sequence from a stream chunk and initializes playback. More... | |
| void | FUN_1006d680 (LegoAnimActor *p_actor, MxFloat p_value) |
| [AI] Binds a LegoAnimActor to the internal animation context and ROI mapping. More... | |
| void | DecrementUnknown0xd4 () |
| [AI] Decrements the reference/lightweight counter controlling an internal streaming/cleanup state. More... | |
| undefined2 | GetUnknown0xd4 () |
| [AI] Accessor for m_unk0xd4, a lightweight counter used internally to gate certain state transitions. More... | |
Public Member Functions inherited from LegoLoopingAnimPresenter | |
| const char * | ClassName () const override |
| [AI] Returns the actual class name for runtime type identification. More... | |
| MxBool | IsA (const char *p_name) const override |
| [AI] Checks if this object is or derives from a class of the given name. More... | |
| void | StreamingTickle () override |
| [AI] Called every streaming tickle to update looping/animation progress. More... | |
| void | PutFrame () override |
| [AI] Advances animation to the correct frame, applying looping time logic. More... | |
Public Member Functions inherited from LegoAnimPresenter | |
| LegoAnimPresenter () | |
| [AI] Constructor for LegoAnimPresenter. More... | |
| ~LegoAnimPresenter () override | |
| [AI] Destructor for LegoAnimPresenter. More... | |
| const char * | ClassName () const override |
| [AI] RTTI name for the presenter ("LegoAnimPresenter"), used for string-based identification. More... | |
| MxBool | IsA (const char *p_name) const override |
| [AI] Checks if this or a parent class matches the given type name for RTTI. More... | |
| void | ReadyTickle () override |
| [AI] Called when the presenter is in the "Ready" tickle state. More... | |
| void | StartingTickle () override |
| [AI] Called at the "Starting" tickle state. More... | |
| void | StreamingTickle () override |
| [AI] Tickle function during streaming (active animation). More... | |
| void | DoneTickle () override |
| [AI] Called when animation streaming completes; triggers notification and wraps up state. More... | |
| void | ParseExtra () override |
| [AI] Extra data parser for animation presenter. More... | |
| MxResult | AddToManager () override |
| [AI] Adds this presenter instance to the relevant presenter/notification manager. More... | |
| void | Destroy () override |
| [AI] Releases all internal resources, actors, maps, and presenter state. More... | |
| MxResult | StartAction (MxStreamController *p_controller, MxDSAction *p_action) override |
| [AI] Begin playback action using a stream and a given action descriptor. More... | |
| void | EndAction () override |
| [AI] Completes playback action, triggers world notification and resets/hides all animated actors depending on flags. More... | |
| void | PutFrame () override |
| [AI] Called once per frame to push updated animation information (transform, position, etc.) to the ROIs. More... | |
| virtual MxResult | CreateAnim (MxStreamChunk *p_chunk) |
| [AI] Creates/loads the LegoAnim resource instance from a stream chunk buffer. More... | |
| virtual void | VTable0x8c () |
| [AI] Virtual callback for future expansion. More... | |
| virtual void | VTable0x90 () |
| [AI] Virtual callback for future expansion. More... | |
| virtual MxU32 | VTable0x94 (Vector3 &p_v1, Vector3 &p_v2, float p_f1, float p_f2, Vector3 &p_v3) |
| [AI] Tests if a swept segment (defined by v1, v2, f1, f2) collides any of this presenter's animated ROIs. More... | |
| virtual MxResult | VTable0x98 (LegoPathBoundary *p_boundary) |
| [AI] Adds all actor ROIs, associated with this animation, to the provided path boundary for grouping or path following. More... | |
| virtual LegoROI ** | GetROIMap (MxU32 &p_roiMapSize) |
| [AI] Returns the mapping array from animation node index to LegoROI*. More... | |
| virtual void | VTable0xa0 (Matrix4 &p_matrix) |
| [AI] Sets the baseline transform for the animation. More... | |
| MxResult | FUN_1006afc0 (MxMatrix *&p_matrix, float p_und) |
| [AI] Fills a matrix array with each node's local-to-world transform after animation advance (for state change / blending). More... | |
| MxResult | FUN_1006b140 (LegoROI *p_roi) |
| [AI] Calculates a blended transformation for a target ROI and applies as base transform for this animation. More... | |
| void | FUN_1006c7a0 () |
| [AI] Immediately completes this animation, updates all ROIs to their final pose. More... | |
| const char * | GetActionObjectName () |
| [AI] Gets the name of the object associated with the current animation action. More... | |
| void | SetCurrentWorld (LegoWorld *p_currentWorld) |
| [AI] Sets the world used by this presenter for actor placement and notification. More... | |
| void | SetUnknown0x0cTo1 () |
| [AI] Sets the value of internal flag m_unk0x9c to 1. More... | |
| void | SetUnknown0xa0 (Matrix4 *p_unk0xa0) |
| [AI] Sets a pointer to the baseline animation transform. More... | |
| LegoAnim * | GetAnimation () |
| [AI] Returns the current animation resource in use. More... | |
Public Member Functions inherited from MxVideoPresenter | |
| MxVideoPresenter () | |
| Constructs a new MxVideoPresenter and initializes internal state. More... | |
| virtual void | LoadHeader (MxStreamChunk *p_chunk) |
| Loads and processes header information from a video stream chunk. More... | |
| virtual void | CreateBitmap () |
| Allocates and sets up the display bitmap for video frame data. More... | |
| virtual void | NextFrame () |
| Advances video playback to the next frame, handling decoding and playback progression. More... | |
| virtual void | LoadFrame (MxStreamChunk *p_chunk) |
| Loads and processes frame data from a video stream chunk. More... | |
| virtual void | PutFrame () |
| Presents the current frame using the chosen output mechanism (e.g., blitting to screen). More... | |
| virtual void | RealizePalette () |
| Loads or establishes the palette for display from the current video format or media. More... | |
| virtual undefined | VTable0x74 () |
| Unknown/potentially format-specific method (VTable0x74). More... | |
| ~MxVideoPresenter () override | |
| Destroys the MxVideoPresenter, releasing owned resources and unregistering from the manager. More... | |
| void | Destroy () override |
| Destroys internal resources for the presenter. More... | |
| virtual LPDIRECTDRAWSURFACE | VTable0x78 () |
| Retrieves the DirectDraw surface used for hardware-accelerated rendering. More... | |
| virtual MxBool | VTable0x7c () |
| Checks if this presenter has either a video frame bitmap or alpha mask available. More... | |
| virtual MxS32 | GetWidth () |
| Returns the width of the current bitmap or alpha mask in pixels. More... | |
| virtual MxS32 | GetHeight () |
| Returns the height of the current bitmap or alpha mask in pixels. More... | |
| const char * | ClassName () const override |
| Returns the run-time class name of this presenter instance. More... | |
| MxBool | IsA (const char *p_name) const override |
| Determines if this object is or derives from a class with the given name. More... | |
| void | ReadyTickle () override |
| Advance logic for the "ready" tickle state. More... | |
| void | StartingTickle () override |
| Advance logic for the "starting" tickle state (frame setup). More... | |
| void | StreamingTickle () override |
| Advance logic for the "streaming" tickle state (typical video playback). More... | |
| void | RepeatingTickle () override |
| Advance logic for the "repeating" tickle state (media looping). More... | |
| void | FreezingTickle () override |
| Advance logic for the "freezing" tickle state (sustain after playback). More... | |
| MxResult | AddToManager () override |
| Adds this presenter to the global video manager. More... | |
| void | EndAction () override |
| Signals the end of the current playback action. More... | |
| MxResult | PutData () override |
| Writes the frame to the display device if appropriate. More... | |
| MxBool | IsHit (MxS32 p_x, MxS32 p_y) override |
| Determines if a point is inside the non-transparent region of frame/alpha. More... | |
| MxS32 | PrepareRects (RECT &p_rectDest, RECT &p_rectSrc) |
| Utility function to adjust source/dest rectangles to stay within allowed bounds. More... | |
| MxBitmap * | GetBitmap () |
| Returns the frame bitmap currently used for this presenter. More... | |
| AlphaMask * | GetAlphaMask () |
| Returns this presenter's alpha mask for hit testing. More... | |
| MxU8 * | GetBitmapStart (MxS32 p_left, MxS32 p_top) |
| Provides a pointer to the start of frame bitmap data at a given coordinate. More... | |
| void | SetBit0 (BOOL p_e) |
| Sets internal miscellaneous state flags. More... | |
| void | SetBit1 (BOOL p_e) |
| void | SetBit2 (BOOL p_e) |
| void | SetBit3 (BOOL p_e) |
| void | SetBit4 (BOOL p_e) |
| BYTE | GetBit0 () |
| Gets internal miscellaneous state flags (bits 0-4). More... | |
| BYTE | GetBit1 () |
| BYTE | GetBit2 () |
| BYTE | GetBit3 () |
| BYTE | GetBit4 () |
Public Member Functions inherited from MxMediaPresenter | |
| MxMediaPresenter () | |
| [AI] Constructs the presenter, initializing all member variables. More... | |
| ~MxMediaPresenter () override | |
| [AI] Destructor; cleans up and optionally destroys all internal resources as well as the MxDSSubscriber and chunk list/cursor. More... | |
| void | Destroy () override |
| [AI] Cleans up internal resources and resets the presenter to an uninitialized state. More... | |
| MxResult | Tickle () override |
| [AI] Advances the presenter's state and media stream, if any, by tickling (i.e., updating) components. More... | |
| const char * | ClassName () const override |
| [AI] Returns the class name for this presenter (see HandlerClassName()). More... | |
| MxBool | IsA (const char *p_name) const override |
| [AI] Returns TRUE if the provided class name matches this class or any of its parents. More... | |
| void | StreamingTickle () override |
| [AI] Per-frame update when streaming the media stream. More... | |
| void | RepeatingTickle () override |
| [AI] Per-frame update while looping/repeating over known chunks. More... | |
| void | DoneTickle () override |
| [AI] Per-frame update for the "done" state; transitions this presenter to idle and ends the action. More... | |
| MxResult | StartAction (MxStreamController *, MxDSAction *) override |
| [AI] Begins a new media playback action, wiring up the stream and chunk lists as needed. More... | |
| void | EndAction () override |
| [AI] Ends the media playback action, releasing all resources, notifying listeners if necessary. More... | |
| void | Enable (MxBool p_enable) override |
| [AI] Enables or disables media stream playback and transitions state as needed. More... | |
| virtual void | LoopChunk (MxStreamChunk *p_chunk) |
| [AI] Adds a chunk to the looping chunk list, making it available for repeated playback. More... | |
| MxStreamChunk * | CurrentChunk () |
| [AI] Returns a pointer to the current data chunk at the head of the stream, without consuming it. More... | |
| MxStreamChunk * | NextChunk () |
| [AI] Returns the next data chunk in the stream, removing it from the stream queue. More... | |
Public Member Functions inherited from MxPresenter | |
| MxPresenter () | |
| [AI] Constructor. Initializes internal tickle state and other members. More... | |
| MxResult | Tickle () override |
| [AI] Main tickle handler, called periodically to progress presenter's internal state. More... | |
| virtual void | VTable0x14 () |
| [AI] Reserved for future or specialized use in derived classes. More... | |
| virtual void | ReadyTickle () |
| [AI] Handles the transition and setup for the Ready state. Parses extra action data and advances state. More... | |
| virtual void | StartingTickle () |
| [AI] Handles actions required when first starting presentation. Advances to streaming state. More... | |
| virtual void | StreamingTickle () |
| [AI] Handles periodic updates during the streaming/presentation stage. Advances to repeating state. More... | |
| virtual void | RepeatingTickle () |
| [AI] Handles updates when in a repeating (looping) stage. Advances to freezing state. More... | |
| virtual void | FreezingTickle () |
| [AI] Handles updates during the freezing/suspended state. Advances to done state. More... | |
| ~MxPresenter () override | |
| [AI] Destructor, cleans up resources (base class: does nothing beyond Init). More... | |
| virtual MxResult | AddToManager () |
| [AI] Optional registration with a manager (such as TickleManager); by default does nothing. More... | |
| virtual void | Destroy () |
| [AI] Resets presenter state or cleans up resources after completion/removal. More... | |
| virtual MxResult | StartAction (MxStreamController *, MxDSAction *) |
| [AI] Initiates presenter for a new action, setting up context and state. More... | |
| virtual void | EndAction () |
| [AI] Terminates the current action, notifies listeners and resets state. More... | |
| virtual void | SetTickleState (TickleState p_tickleState) |
| [AI] Forces the tickle state, advancing to the requested lifecycle stage. More... | |
| virtual MxBool | HasTickleStatePassed (TickleState p_tickleState) |
| [AI] Checks if the specified tickle state has ever been passed since last reset. More... | |
| virtual MxResult | PutData () |
| [AI] Allows the presenter to submit pending results or output to the engine. More... | |
| virtual MxBool | IsHit (MxS32 p_x, MxS32 p_y) |
| [AI] Returns TRUE if the given (x, y) falls within hit-test bounds for the presenter (e.g. More... | |
| virtual void | Enable (MxBool p_enable) |
| [AI] Enables or disables this presenter (controls action flags accordingly). More... | |
| const char * | ClassName () const override |
| [AI] Returns the run-time class name for this presenter. More... | |
| MxBool | IsA (const char *p_name) const override |
| [AI] Determines if this object is of (or inherits) the specified named class. More... | |
| MxEntity * | CreateEntity (const char *p_defaultName) |
| [AI] Creates an entity based on action 'extra' data, or uses the provided default name. More... | |
| void | SendToCompositePresenter (MxOmni *p_omni) |
| [AI] Notifies a composite presenter (if one exists) that this presenter wishes to join a group. More... | |
| MxBool | IsEnabled () |
| [AI] Returns whether this presenter is logically enabled (based on the associated action's flags). More... | |
| MxS32 | GetCurrentTickleState () const |
| [AI] Returns the current tickle state. More... | |
| MxPoint32 | GetLocation () const |
| [AI] Returns the presenter's screen location (in pixels). More... | |
| MxS32 | GetX () const |
| [AI] Returns the X coordinate of screen location. More... | |
| MxS32 | GetY () const |
| [AI] Returns the Y coordinate of screen location. More... | |
| MxS32 | GetDisplayZ () const |
| [AI] Returns the display Z (depth) order. More... | |
| MxDSAction * | GetAction () const |
| [AI] Returns the current action being presented. More... | |
| void | SetAction (MxDSAction *p_action) |
| [AI] Sets the action associated with this presenter. More... | |
| void | SetCompositePresenter (MxCompositePresenter *p_compositePresenter) |
| [AI] Sets the composite presenter to notify/join on completion. More... | |
| void | SetDisplayZ (MxS32 p_displayZ) |
| [AI] Sets the display Z (depth) order for the presenter. More... | |
Public Member Functions inherited from MxCore | |
| MxCore () | |
| [AI] Constructs a new MxCore object and assigns it a unique id. More... | |
| virtual | ~MxCore () |
| [AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More... | |
| virtual MxLong | Notify (MxParam &p_param) |
| [AI] Virtual callback notification mechanism. More... | |
| virtual MxResult | Tickle () |
| [AI] Called by tickle managers to allow the object to update itself. More... | |
| virtual const char * | ClassName () const |
| [AI] Returns the runtime class name of this object. More... | |
| virtual MxBool | IsA (const char *p_name) const |
| [AI] Checks whether this object's class type or parents match the given name. More... | |
| MxU32 | GetId () |
| [AI] Gets the unique (per-process) id assigned to this object instance. More... | |
Static Public Member Functions | |
| static const char * | HandlerClassName () |
| [AI] Gets the handler class name for this presenter type. More... | |
Static Public Member Functions inherited from LegoLoopingAnimPresenter | |
| static const char * | HandlerClassName () |
| [AI] Returns the name of the handler class as a static string. More... | |
Static Public Member Functions inherited from LegoAnimPresenter | |
| static const char * | HandlerClassName () |
| [AI] Returns the class name for this presenter ("LegoAnimPresenter"). More... | |
Static Public Member Functions inherited from MxVideoPresenter | |
| static const char * | HandlerClassName () |
| Returns the class name string for this presenter type. More... | |
Static Public Member Functions inherited from MxMediaPresenter | |
| static const char * | HandlerClassName () |
| [AI] Gets the class name string for handler dispatch and RTTI emulation. More... | |
Static Public Member Functions inherited from MxPresenter | |
| static const char * | HandlerClassName () |
| [AI] Returns the handler class name for identification and reflection purposes. More... | |
Additional Inherited Members | |
Public Types inherited from LegoAnimPresenter | |
| enum | { c_hideOnStop = 0x01 , c_mustSucceed = 0x02 } |
| [AI] Animation presenter flags More... | |
Public Types inherited from MxPresenter | |
| enum | TickleState { e_idle = 0 , e_ready , e_starting , e_streaming , e_repeating , e_freezing , e_done } |
| [AI] Represents the state of the presenter's tickle (update) lifecycle. More... | |
Public Attributes inherited from LegoAnimPresenter | |
| float | m_unk0xa4 |
| [AI] Animation touch radius for path boundary checks and state (set from resource). More... | |
| Mx3DPointFloat | m_unk0xa8 |
| [AI] 3D float property, used for animation base position offset. More... | |
Protected Member Functions inherited from LegoAnimPresenter | |
| void | Init () |
| [AI] Allocates and resets all internal presenter state. More... | |
| void | Destroy (MxBool p_fromDestructor) |
| [AI] Releases all dynamic memory, unbinds actors from animation, and resets references. More... | |
| LegoChar * | FUN_10069150 (const LegoChar *p_und1) |
| [AI] [Internal] String construction utility used in actor/ROI naming substitution. More... | |
| void | FUN_100692b0 () |
| [AI] Populates m_unk0x74 with all relevant ROIs/actors for this animation by iterating actors in the animation resource. More... | |
| void | FUN_100695c0 () |
| [AI] Scans the world view compound objects to find and collect relevant ROIs for animation, populating m_unk0x70. More... | |
| LegoChar * | FUN_100697c0 (const LegoChar *p_und1, const LegoChar *p_und2) |
| [AI] Returns a composed name string for combining variable substitution and direct actor references for name lookup. More... | |
| LegoBool | FUN_100698b0 (const CompoundObject &p_rois, const LegoChar *p_und2) |
| [AI] Locates (and adds to m_unk0x70) an ROI in a compound object by substituted name, matching either direct or indirect name reference. More... | |
| LegoROI * | FUN_100699e0 (const LegoChar *p_und) |
| [AI] Looks up an ROI in m_unk0x70 by substituted name. More... | |
| void | FUN_10069b10 () |
| [AI] Builds mapping from animation node data names to ROIs, fills m_roiMap and m_roiMapSize. More... | |
| void | FUN_1006a3c0 (LegoAnimStructMap &p_map, LegoTreeNode *p_node, LegoROI *p_roi) |
| [AI] Recursive helper for building ROI map: walks animation node tree, matching names to ROIs at each node level. More... | |
| void | FUN_1006a4f0 (LegoAnimStructMap &p_map, LegoAnimNodeData *p_data, const LegoChar *p_und, LegoROI *p_roi) |
| [AI] Helper to insert an animation node's data into the map (adding new struct if not already inserted). More... | |
| void | FUN_1006aa60 () |
| [AI] Releases all actors in m_unk0x74 via CharacterManager, respecting state flag m_unk0x96. More... | |
| void | FUN_1006ab70 () |
| [AI] Invokes end-of-animation logic via AnimationManager, depending on mode flag m_unk0x96. More... | |
| LegoBool | FUN_1006aba0 () |
| [AI] Returns TRUE if every animation actor/ROI node is bound successfully. More... | |
| MxBool | FUN_1006abb0 (LegoTreeNode *p_node, LegoROI *p_roi) |
| [AI] Recursively validates correct ROI matching/binding in animation tree (helper for FUN_1006aba0). More... | |
| void | SubstituteVariables () |
| [AI] Applies all queued variable substitutions in the animation resource by setting corresponding VariableTable entries. More... | |
| void | FUN_1006b900 (LegoAnim *p_anim, MxLong p_time, Matrix4 *p_matrix) |
| [AI] Steps animation nodes to 'p_time' using transform 'p_matrix', using fast path for tree traversal. More... | |
| void | FUN_1006b9a0 (LegoAnim *p_anim, MxLong p_time, Matrix4 *p_matrix) |
| [AI] Like FUN_1006b900, but also processes associated camera animation if present. More... | |
| void | FUN_1006c8a0 (MxBool p_bool) |
| [AI] Enables or disables internal state (LegoEntity c_altBit1) on all animated entities. More... | |
Protected Member Functions inherited from MxVideoPresenter | |
| void | Destroy (MxBool p_fromDestructor) |
| Releases resources and unregisters presenter from the video manager. More... | |
Protected Member Functions inherited from MxMediaPresenter | |
| void | Init () |
| [AI] Initializes all member variables to a known default state (NULL pointers, etc). More... | |
| void | Destroy (MxBool p_fromDestructor) |
| [AI] Frees all managed resources, owned memory and pointers, optionally preventing destruction of the base class. More... | |
Protected Member Functions inherited from MxPresenter | |
| virtual void | DoneTickle () |
| [AI] Handles any post-completion logic, resetting to idle state. More... | |
| virtual void | ParseExtra () |
| [AI] Parses additional data from the associated action for configuration or world interaction. More... | |
| void | ProgressTickleState (TickleState p_tickleState) |
| [AI] Helper for advancing the presenter's tickle state and updating transition history. More... | |
| void | Init () |
| [AI] Initializes object state to post-construction defaults. More... | |
Protected Attributes inherited from LegoAnimPresenter | |
| LegoAnim * | m_anim |
| [AI] Animation resource currently being played back. More... | |
| LegoROI ** | m_roiMap |
| [AI] Lookup array to map animation node indices to scene ROIs (1-based index). More... | |
| MxU32 | m_roiMapSize |
| [AI] Number of valid entries in m_roiMap (excluding 0th index). More... | |
| LegoROIList * | m_unk0x70 |
| [AI] List of ROIs used during preprocessing, actor matching, or variable substitution (purpose varies). More... | |
| LegoROIList * | m_unk0x74 |
| [AI] List of actors/ROIs created or acquired for this animation instance. More... | |
| Matrix4 * | m_unk0x78 |
| [AI] Pointer to root/offset MxMatrix used for transform computations. More... | |
| MxU32 | m_flags |
| [AI] Animation presenter flags (hide-on-stop, must-succeed, etc). More... | |
| LegoWorld * | m_currentWorld |
| [AI] Reference to the world in which this presenter is currently placed/active. More... | |
| MxAtomId | m_worldAtom |
| [AI] String identifier for the target world (if set in animation resource via extra data). More... | |
| MxS32 | m_worldId |
| [AI] Numeric world ID for world selection/lookup. More... | |
| LegoROI ** | m_unk0x8c |
| [AI] Lookup array for secondary ROI objects (used for e.g. More... | |
| char ** | m_unk0x90 |
| [AI] Array of char* names used for selecting camera attached ROIs (from ptatcam extra parameter). More... | |
| MxU8 | m_unk0x94 |
| [AI] Count of valid camera attached ROI names in m_unk0x90 / m_unk0x8c. More... | |
| MxBool | m_unk0x95 |
| [AI] Boolean: indicates streaming/animation is finished and presenter should progress to Done state. More... | |
| MxBool | m_unk0x96 |
| [AI] Boolean/mode: influences actor release vs animation manager cleanup selection (see FUN_1006ab70). More... | |
| undefined | m_unk0x97 |
| [AI] Unknown/unused byte, for possible explicit alignment or hidden flag. More... | |
| LegoAnimSubstMap * | m_substMap |
| [AI] Table of macro/variable substitutions to apply before animation begins (from resource "subst" field). More... | |
| MxS16 | m_unk0x9c |
| [AI] Int16 state flag, set via SetUnknown0x0cTo1(). More... | |
| Matrix4 * | m_unk0xa0 |
| [AI] Optional pointer to a matrix storing a blended/baseline local-to-world transform. More... | |
Protected Attributes inherited from MxVideoPresenter | |
| MxBitmap * | m_frameBitmap |
| Bitmap for current video frame. [AI]. More... | |
| AlphaMask * | m_alpha |
| Alpha mask for hit testing. May be null. [AI]. More... | |
| LPDIRECTDRAWSURFACE | m_unk0x58 |
| DirectDraw surface for hardware video rendering. [AI]. More... | |
| MxS16 | m_unk0x5c |
| Loop/advance/frame decode counter. [AI]. More... | |
| FlagBitfield | m_flags |
| Miscellaneous flags for object and UI state. [AI]. More... | |
| MxLong | m_unk0x60 |
| Last freeze time/start of sustain interval. [AI]. More... | |
Protected Attributes inherited from MxMediaPresenter | |
| MxDSSubscriber * | m_subscriber |
| [AI] Subscriber that provides the stream data (e.g., audio/video chunks) for this presenter. More... | |
| MxStreamChunkList * | m_loopingChunks |
| [AI] Linked list of all chunks available for looping/repeating playback. More... | |
| MxStreamChunkListCursor * | m_loopingChunkCursor |
| [AI] Cursor used to iterate through the loopingChunk list during repeat mode. More... | |
| MxStreamChunk * | m_currentChunk |
| [AI] Currently active data chunk for playback or processing. More... | |
Protected Attributes inherited from MxPresenter | |
| TickleState | m_currentTickleState |
| [AI] Current state in the tickle lifecycle. More... | |
| MxU32 | m_previousTickleStates |
| [AI] Bitfield representing all tickle states that have already occurred during this lifetime. More... | |
| MxPoint32 | m_location |
| [AI] 2D display location for the presenter. More... | |
| MxS32 | m_displayZ |
| [AI] Z-order value for display stacking. More... | |
| MxDSAction * | m_action |
| [AI] The associated action currently being presented by this presenter. More... | |
| MxCriticalSection | m_criticalSection |
| [AI] Thread synchronization for presenter state and data. More... | |
| MxCompositePresenter * | m_compositePresenter |
| [AI] Owner composite presenter, if any. More... | |
[AI] Specialized presenter class for handling locomotion animation playback and state in the LEGO Island game engine.
[AI] LegoLocomotionAnimPresenter is a subclass of LegoLoopingAnimPresenter, designed to manage animation sequences that are associated with locomotion (movement) of game entities. It manages additional internal lists for ROI (real-time object instance) mapping and controls the tickle/process state flow for animations bound to moving actors. It integrates with the variable table to dynamically assign variables used during animation binding.
Definition at line 16 of file legolocomotionanimpresenter.h.
| LegoLocomotionAnimPresenter::LegoLocomotionAnimPresenter | ( | ) |
[AI] Constructs a new LegoLocomotionAnimPresenter and initializes internal members.
Definition at line 16 of file legolocomotionanimpresenter.cpp.
|
override |
[AI] Destructor.
Cleans up resources, memory, and state used by this presenter instance.
Definition at line 22 of file legolocomotionanimpresenter.cpp.
|
overridevirtual |
[AI] Registers this presenter with manager systems and initializes additional ROI mapping state.
Reimplemented from LegoAnimPresenter.
Definition at line 70 of file legolocomotionanimpresenter.cpp.
|
inlineoverridevirtual |
[AI] Gets the class name for run-time type identification.
Reimplemented from LegoAnimPresenter.
Definition at line 41 of file legolocomotionanimpresenter.h.
|
overridevirtual |
[AI] Creates an animation sequence from a stream chunk and initializes playback.
| p_chunk | Pointer to a stream chunk containing animation data. [AI] |
Reimplemented from LegoAnimPresenter.
Definition at line 62 of file legolocomotionanimpresenter.cpp.
|
inline |
[AI] Decrements the reference/lightweight counter controlling an internal streaming/cleanup state.
Definition at line 106 of file legolocomotionanimpresenter.h.
|
overridevirtual |
[AI] Completely cleans up and deletes this presenter's resources.
Should not be called directly—use Destroy() instead.
Reimplemented from LegoAnimPresenter.
Definition at line 82 of file legolocomotionanimpresenter.cpp.
|
overridevirtual |
[AI] Ends the bound action/animation for this presenter, finalizing any running videos or related resources.
Reimplemented from LegoAnimPresenter.
Definition at line 131 of file legolocomotionanimpresenter.cpp.
| void LegoLocomotionAnimPresenter::FUN_1006d680 | ( | LegoAnimActor * | p_actor, |
| MxFloat | p_value | ||
| ) |
[AI] Binds a LegoAnimActor to the internal animation context and ROI mapping.
| p_actor | The animation actor to associate. [AI] |
| p_value | An animation phase or weight value to use for the association. [AI] |
[AI] Internally, this updates the variable table to match the actor's ROI name with the animation, invokes mapping/finalization routines for ROI binding, and may invoke additional actor update routines.
Definition at line 140 of file legolocomotionanimpresenter.cpp.
|
inline |
[AI] Accessor for m_unk0xd4, a lightweight counter used internally to gate certain state transitions.
Definition at line 117 of file legolocomotionanimpresenter.h.
|
inlinestatic |
[AI] Gets the handler class name for this presenter type.
Definition at line 31 of file legolocomotionanimpresenter.h.
|
inlineoverridevirtual |
[AI] Checks if the given name matches the class (or any ancestor) for run-time type queries.
| p_name | Class name to compare against. [AI] |
Reimplemented from LegoAnimPresenter.
Definition at line 51 of file legolocomotionanimpresenter.h.
|
overridevirtual |
[AI] Called to process/queue a frame for this presenter's active animation playback.
Reimplemented from LegoAnimPresenter.
Definition at line 88 of file legolocomotionanimpresenter.cpp.
|
overridevirtual |
[AI] Called during the ready tickle state to prepare for animation processing and add itself to the world if necessary.
Reimplemented from LegoAnimPresenter.
Definition at line 94 of file legolocomotionanimpresenter.cpp.
|
overridevirtual |
[AI] Called during the starting tickle state to dequeue and process any pending animation data chunks.
Reimplemented from LegoAnimPresenter.
Definition at line 110 of file legolocomotionanimpresenter.cpp.
|
overridevirtual |
[AI] Called during the streaming state to manage lifecycle and check if further processing is required.
Reimplemented from LegoAnimPresenter.
Definition at line 123 of file legolocomotionanimpresenter.cpp.