103 delete[]
const_cast<char*
>((*it).first);
104 delete[]
const_cast<char*
>((*it).second);
131 if (!p_fromDestructor) {
145 if (storage.
Read(&magicSig,
sizeof(magicSig)) !=
SUCCESS || magicSig != 0x11) {
160 if (storage.
Read(&parseScene,
sizeof(parseScene)) !=
SUCCESS) {
163 if (storage.
Read(&val3,
sizeof(val3)) !=
SUCCESS) {
196 strcpy(str, p_und1 + 1);
222 for (
LegoU32 i = 0; i < numActors; i++) {
238 if (roi !=
NULL && str[0] ==
'*') {
242 else if (unk0x04 == 4) {
244 strcpy(baseName, str + 1);
257 else if (unk0x04 == 3) {
259 strcpy(lodName, str + 1);
261 for (
LegoChar* i = &lodName[strlen(lodName) - 1]; i > lodName; i--) {
262 if ((*i < '0' || *i >
'9') && *i !=
'_') {
301 for (
LegoU32 i = 0; i < numActors; i++) {
305 if (unk0x04 == 5 || unk0x04 == 6) {
309 LegoU32 len = strlen(actorName);
310 strcpy(lodName, actorName);
312 for (
LegoChar* i = &lodName[len - 1]; isdigit(*i) || *i ==
'_'; i--) {
336 LegoU32 len = strlen(str) + (p_und2 ? strlen(p_und2) : 0) + 2;
339 if (result !=
NULL) {
343 strcpy(result, p_und2);
365 if (str !=
NULL && *str !=
'\0' && p_rois.size() > 0) {
366 for (CompoundObject::const_iterator it = p_rois.begin(); it != p_rois.end(); it++) {
368 const char* name = roi->
GetName();
371 if (!strcmpi(name, str)) {
390 while (cursor.
Next(roi)) {
393 if (und !=
NULL && !strcmpi(und, p_und)) {
424 for (LegoAnimStructMap::iterator it = anims.begin(); it != anims.end();) {
425 MxU32 index = (*it).second.m_index;
426 m_roiMap[index] = (*it).second.m_roi;
439 delete[]
const_cast<char*
>((*it).first);
454 if (name !=
NULL && *name !=
'-') {
492 for (
MxS32 i = 0; i < count; i++) {
505 LegoAnimStructMap::iterator it;
507 it = p_map.find(p_und);
508 if (it == p_map.end()) {
510 animStruct.
m_index = p_map.size() + 1;
511 animStruct.
m_roi = p_roi;
518 p_map[und] = animStruct;
532 while (cursor.
Next(roi)) {
533 const char* name = roi->
GetName();
567 if (name !=
NULL && *name !=
'-') {
593 for (i = 0; i < count; i++) {
617 variableTable->
SetVariable((*it).first, (*it).second);
678 for (i = 1; i < length; i++) {
686 for (i = 1; i < length; i++) {
721 if (local5c[i].BETA_1005a590(local58) !=
SUCCESS) {
730 mn->
Product(local58, local2world);
748 if (local5c !=
NULL) {
892 if (p_matrix !=
NULL) {
917 if (p_matrix !=
NULL) {
953 memcpy(extraCopy, extraData, extraLength);
954 extraCopy[extraLength] =
'\0';
961 memcpy(extraCopy, extraData, extraLength);
962 extraCopy[extraLength] =
'\0';
977 char* substToken = output;
984 char* keyCopy =
new char[strlen(key) + 1];
985 strcpy(keyCopy, key);
986 char* valueCopy =
new char[strlen(value) + 1];
987 strcpy(valueCopy, value);
988 (*m_substMap)[keyCopy] = valueCopy;
1022 while (token !=
NULL) {
1023 char* valueCopy =
new char[strlen(token) + 1];
1024 strcpy(valueCopy, token);
1025 tmp.push_back(valueCopy);
1037 for (list<char*>::iterator it = tmp.begin(); it != tmp.end(); it++, i++) {
1076 if (world !=
NULL) {
1160 if (entity !=
NULL) {
1193 if (
m_roiMap[i]->GetLODCount() != 0 &&
m_roiMap[i]->FUN_100a9410(p_v1, p_v2, p_f1, p_f2, p_v3,
FALSE)) {
1209 if (entity !=
NULL) {
Lego3DView * GetLego3DView()
[AI] Returns the encapsulated Lego3DView instance.
ViewManager * GetViewManager()
[AI] Returns the ViewManager responsible for managing scene objects and transformations.
[AI] Composite presenter class that manages a multi-media animation sequence.
[AI] Holds per-node animation data for a model's animation tree.
void SetUnknown0x20(LegoU16 p_unk0x20)
[AI] Sets unknown parameter (possibly camera/scene state).
LegoU16 GetUnknown0x20()
[AI] Unknown, used in scene/camera calculations (purpose unclear).
LegoChar * GetName()
[AI] Name of this animation node (used for lookup/mapping to scene graph).
[AI] Handles playback and synchronization of animated LEGO objects, including variable substitution,...
MxBool m_unk0x96
[AI] Boolean/mode: influences actor release vs animation manager cleanup selection (see FUN_1006ab70)...
MxS16 m_unk0x9c
[AI] Int16 state flag, set via SetUnknown0x0cTo1().
LegoROIList * m_unk0x70
[AI] List of ROIs used during preprocessing, actor matching, or variable substitution (purpose varies...
void Init()
[AI] Allocates and resets all internal presenter state.
void StartingTickle() override
[AI] Called at the "Starting" tickle state.
char ** m_unk0x90
[AI] Array of char* names used for selecting camera attached ROIs (from ptatcam extra parameter).
LegoROI * FUN_100699e0(const LegoChar *p_und)
[AI] Looks up an ROI in m_unk0x70 by substituted name.
MxU32 m_flags
[AI] Animation presenter flags (hide-on-stop, must-succeed, etc).
void FUN_1006c8a0(MxBool p_bool)
[AI] Enables or disables internal state (LegoEntity c_altBit1) on all animated entities.
void FUN_10069b10()
[AI] Builds mapping from animation node data names to ROIs, fills m_roiMap and m_roiMapSize.
LegoBool FUN_1006aba0()
[AI] Returns TRUE if every animation actor/ROI node is bound successfully.
void ParseExtra() override
[AI] Extra data parser for animation presenter.
virtual MxResult CreateAnim(MxStreamChunk *p_chunk)
[AI] Creates/loads the LegoAnim resource instance from a stream chunk buffer.
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 R...
virtual void VTable0x90()
[AI] Virtual callback for future expansion.
virtual void VTable0x8c()
[AI] Virtual callback for future expansion.
@ c_hideOnStop
Hide animated objects after stopping [AI].
@ c_mustSucceed
Require all animation targets be satisfied [AI].
void FUN_1006aa60()
[AI] Releases all actors in m_unk0x74 via CharacterManager, respecting state flag m_unk0x96.
LegoROI ** m_unk0x8c
[AI] Lookup array for secondary ROI objects (used for e.g.
LegoAnim * m_anim
[AI] Animation resource currently being played back.
void ReadyTickle() override
[AI] Called when the presenter is in the "Ready" tickle state.
Mx3DPointFloat m_unk0xa8
[AI] 3D float property, used for animation base position offset.
void SetUnknown0x0cTo1()
[AI] Sets the value of internal flag m_unk0x9c to 1.
MxU32 m_roiMapSize
[AI] Number of valid entries in m_roiMap (excluding 0th index).
virtual void VTable0xa0(Matrix4 &p_matrix)
[AI] Sets the baseline transform for the animation.
float m_unk0xa4
[AI] Animation touch radius for path boundary checks and state (set from resource).
LegoAnimSubstMap * m_substMap
[AI] Table of macro/variable substitutions to apply before animation begins (from resource "subst" fi...
void Destroy() override
[AI] Releases all internal resources, actors, maps, and presenter state.
LegoChar * FUN_10069150(const LegoChar *p_und1)
[AI] [Internal] String construction utility used in actor/ROI naming substitution.
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...
void EndAction() override
[AI] Completes playback action, triggers world notification and resets/hides all animated actors depe...
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 inserte...
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...
MxS32 m_worldId
[AI] Numeric world ID for world selection/lookup.
void FUN_100692b0()
[AI] Populates m_unk0x74 with all relevant ROIs/actors for this animation by iterating actors in the ...
void SubstituteVariables()
[AI] Applies all queued variable substitutions in the animation resource by setting corresponding Var...
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 f...
MxBool FUN_1006abb0(LegoTreeNode *p_node, LegoROI *p_roi)
[AI] Recursively validates correct ROI matching/binding in animation tree (helper for FUN_1006aba0).
LegoROI ** m_roiMap
[AI] Lookup array to map animation node indices to scene ROIs (1-based index).
virtual MxResult VTable0x98(LegoPathBoundary *p_boundary)
[AI] Adds all actor ROIs, associated with this animation, to the provided path boundary for grouping ...
Matrix4 * m_unk0xa0
[AI] Optional pointer to a matrix storing a blended/baseline local-to-world transform.
MxAtomId m_worldAtom
[AI] String identifier for the target world (if set in animation resource via extra data).
void SetUnknown0xa0(Matrix4 *p_unk0xa0)
[AI] Sets a pointer to the baseline animation transform.
void FUN_1006ab70()
[AI] Invokes end-of-animation logic via AnimationManager, depending on mode flag m_unk0x96.
MxResult StartAction(MxStreamController *p_controller, MxDSAction *p_action) override
[AI] Begin playback action using a stream and a given action descriptor.
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,...
const char * GetActionObjectName()
[AI] Gets the name of the object associated with the current animation action.
MxU8 m_unk0x94
[AI] Count of valid camera attached ROI names in m_unk0x90 / m_unk0x8c.
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 stat...
void FUN_1006b9a0(LegoAnim *p_anim, MxLong p_time, Matrix4 *p_matrix)
[AI] Like FUN_1006b900, but also processes associated camera animation if present.
~LegoAnimPresenter() override
[AI] Destructor for LegoAnimPresenter.
void FUN_1006c7a0()
[AI] Immediately completes this animation, updates all ROIs to their final pose.
void DoneTickle() override
[AI] Called when animation streaming completes; triggers notification and wraps up state.
void FUN_100695c0()
[AI] Scans the world view compound objects to find and collect relevant ROIs for animation,...
void PutFrame() override
[AI] Called once per frame to push updated animation information (transform, position,...
LegoROIList * m_unk0x74
[AI] List of actors/ROIs created or acquired for this animation instance.
MxBool m_unk0x95
[AI] Boolean: indicates streaming/animation is finished and presenter should progress to Done state.
Matrix4 * m_unk0x78
[AI] Pointer to root/offset MxMatrix used for transform computations.
MxResult AddToManager() override
[AI] Adds this presenter instance to the relevant presenter/notification manager.
void StreamingTickle() override
[AI] Tickle function during streaming (active animation).
MxResult FUN_1006b140(LegoROI *p_roi)
[AI] Calculates a blended transformation for a target ROI and applies as base transform for this anim...
LegoWorld * m_currentWorld
[AI] Reference to the world in which this presenter is currently placed/active.
LegoResult FUN_1009f490(LegoFloat p_time, Matrix4 &p_matrix)
[AI] Evaluates this scene's animation at the given time, updating the passed matrix.
[AI] Root class for all node-based animation blending/structure.
LegoTime GetDuration()
[AI] Duration (in time units) of the animation.
virtual LegoResult Read(LegoStorage *p_storage, LegoS32 p_parseScene)
[AI] Loads model and animation data from storage, optionally including scene/camera animation.
undefined4 GetActorUnknown0x04(LegoU32 p_index)
[AI] Gets the actor's "unk0x04" property at a given index.
LegoU32 GetNumActors()
[AI] Number of animated actors/models in the animation.
const LegoChar * GetActorName(LegoU32 p_index)
[AI] Gets the name of the actor at a given index.
LegoAnimScene * GetCamAnim()
[AI] Gets the optional camera/scene animation track.
void FUN_10063780(LegoROIList *p_list)
[AI] Examines an ROI list and adds all actors of type to internal "pending" list for extras.
void FUN_10063270(LegoROIList *p_list, LegoAnimPresenter *p_presenter)
[AI] Handles "extras" onboarding by evaluating visibility and position for presenter-based animation.
void FUN_100123e0(const Matrix4 &p_transform, MxU32 p_und)
Sets the camera's transformation matrix in the 3D view, optionally applying a blend with the internal...
Mx3DPointFloat GetWorldLocation()
Gets the camera's current world-space location.
LegoROI * CreateAutoROI(const char *p_name, const char *p_lodName, MxBool p_createEntity)
[AI] Creates an "auto" ROI object with the given name, LOD name, and optional entity creation.
static MxBool IsActor(const char *p_name)
[AI] Checks if the given name matches an actor in the global actor table (case-insensitive).
void ReleaseActor(const char *p_name)
[AI] Releases a character/ROI by name, decrementing its reference count and deleting if zero.
LegoROI * GetActorROI(const char *p_name, MxBool p_createEntity)
[AI] Returns a LegoROI for the given character name, creating and registering the actor if necessary.
LegoROI * FUN_10085a80(const char *p_name, const char *p_lodName, MxBool p_createEntity)
[AI] Helper function that delegates to CreateAutoROI.
Notification parameter for signaling the end of an animation in the LEGO Island engine.
[AI] Represents an entity that can be placed and managed in the LEGO Island world.
void ClearUnknown0x10Flag(MxU8 p_flag)
[AI] Clears the given bit in the unknown flag byte.
void SetUnknown0x10Flag(MxU8 p_flag)
[AI] Sets the given bit in the unknown (usually internal action suppression) flag byte.
@ c_altBit1
[AI] Used to prevent repeat sound/animation actions while one is in progress [AI]
Implementation of LegoStorage for memory-backed buffers.
LegoResult Read(void *p_buffer, LegoU32 p_size) override
Reads bytes from memory buffer at current position.
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
[AI] Represents a path segment or boundary in the navigation network for actors (vehicles,...
MxResult AddActor(LegoPathActor *p_actor)
[AI] Adds the given actor to this path boundary and sets its boundary pointer.
[AI] A typed list cursor for iterating over a LegoROIList.
[AI] A specialized pointer list for managing LegoROI instances.
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
static void FUN_100a8e80(LegoTreeNode *p_node, Matrix4 &p_matrix, LegoTime p_time, LegoROI **p_roiMap)
[AI] [Static] Recursively evaluates animation nodes, updating the transformation matrices and visibil...
LegoROI * FindChildROI(const LegoChar *p_name, LegoROI *p_roi)
[AI] Recursively searches for a child ROI by name, starting at the given ROI.
static void FUN_100a8fd0(LegoTreeNode *p_node, Matrix4 &p_matrix, LegoTime p_time, LegoROI **p_roiMap)
[AI] [Static] Similar to FUN_100a8e80, but only updates transformation matrices, not visibility or in...
const LegoChar * GetName() const
[AI] Gets this ROI's name.
LegoEntity * GetEntity()
[AI] Gets the entity associated with this ROI (or NULL).
[AI] Represents a node within a general, N-ary tree structure.
LegoTreeNodeData * GetData()
[AI] Returns the data payload stored at this node (may be nullptr). [AI]
LegoU32 GetNumChildren()
[AI] Returns the number of direct children of this node. [AI]
LegoTreeNode * GetChild(LegoU32 p_i)
[AI] Gets the child node at the specified index (no bounds checking).
LegoTreeNode * GetRoot()
[AI] Returns a pointer to the root node of the tree. [AI]
Lego3DManager * Get3DManager()
[AI] Returns the Lego3DManager for this manager, which owns all 3D scene representations and view con...
Represents the active 3D world, holding all entity, animation, sound, path, and ROI objects.
void Remove(MxCore *p_object)
Removes an object from all relevant world-managed lists or sets, and also detaches if needed.
virtual void Add(MxCore *p_object)
Adds an object (entity, presenter, ROI, etc.) to the appropriate world-managed list or set.
void FUN_1001fda0(LegoAnimPresenter *p_presenter)
Forwards a presenter to all path controllers to perform a custom action (possibly hide,...
void FUN_1001fe90(LegoAnimPresenter *p_presenter)
Forwards a presenter to all path controllers for another custom or state change action.
LegoCameraController * GetCameraController()
Returns the current camera controller for the world.
4x4 Matrix class with virtual interface for manipulation and transformation.
virtual void Product(float(*p_a)[4], float(*p_b)[4])
Multiplies two 4x4 float matrices, storing result in this.
virtual void SetIdentity()
Sets this matrix to identity (diagonal 1, others 0).
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
[AI] Atomized (unique) string identifier, managed by reference counting.
void Clear()
[AI] Disassociates the atom ID from any atom (decrements reference count, sets internal pointer to NU...
MxBool IsA(const char *p_name) const override
[AI] Runtime type checking for presenter class hierarchy, supporting parent/child class checks.
virtual void VTable0x60(MxPresenter *p_presenter)
[AI] Advance sequencing for serial multi-actions: promotes the next presenter in sequence to e_ready ...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
MxLong GetStartTime() const
[AI] Gets the nominal start time for the action, as loaded or scheduled.
void GetExtra(MxU16 &p_extraLength, char *&p_extraData)
[AI] Retrieves the extra data and its length for this action.
virtual void SetUnknown90(MxLong p_unk0x90)
[AI] Set unknown value at offset 0x90, used as baseline in GetElapsedTime.
const Vector3 & GetLocation()
[AI] Gets the location vector for this action (world or local space).
const Vector3 & GetUp()
[AI] Gets the up vector for this action (global or local).
const Vector3 & GetDirection()
[AI] Gets the direction vector (typically forward vector) for this action.
virtual MxLong GetDuration()
[AI] Gets the duration for which this action is intended to run.
virtual MxLong GetElapsedTime()
[AI] Gets elapsed time for this action since the last time field 0x90 was set.
MxLong GetTime()
[AI] Returns the time (timestamp or tick) associated with this chunk. [AI]
MxU8 * GetData()
[AI] Returns a pointer to the start of the data payload. [AI]
const char * GetObjectName() const
[AI] Returns the object name string.
MxS16 GetUnknown24()
[AI] Returns the unknown 0x24 value (may be data version or usage state). [AI]
MxStreamChunk * PopData()
[AI] Pops the next available pending data chunk for consumption, moving it to the consumed list.
void FreeDataChunk(MxStreamChunk *p_chunk)
[AI] Frees (deletes) a data chunk if it's found in the consumed data list; also forcibly deletes sing...
MxStreamChunk * PeekData()
[AI] Returns but does not remove the first pending data chunk ("peek" operation).
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
MxResult Send(MxCore *p_listener, const MxNotificationParam &p_param)
[AI] Queues a notification to be sent to a specific registered listener.
MxS32 m_displayZ
[AI] Z-order value for display stacking.
void ProgressTickleState(TickleState p_tickleState)
[AI] Helper for advancing the presenter's tickle state and updating transition history.
MxDSAction * m_action
[AI] The associated action currently being presented by this presenter.
TickleState m_currentTickleState
[AI] Current state in the tickle lifecycle.
@ e_done
[AI] Completed processing the current action.
@ e_starting
[AI] In the process of starting playback/presentation.
@ e_streaming
[AI] Streaming or rendering actively.
MxCriticalSection m_criticalSection
[AI] Thread synchronization for presenter state and data.
MxCompositePresenter * m_compositePresenter
[AI] Owner composite presenter, if any.
MxDSAction * GetAction() const
[AI] Returns the current action being presented.
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
[AI] Controller for streaming and managing multimedia resources and actions during gameplay.
MxVariableTable is a specialized hash table for storing key/value string variables used by the LEGO I...
const char * GetVariable(const char *p_key)
Returns the value for the variable with a given key, or an empty string if not found.
void SetVariable(const char *p_key, const char *p_value)
Sets a variable by key and value, replacing or updating if it exists.
void EndAction() override
Signals the end of the current playback action.
MxResult AddToManager() override
Adds this presenter to the global video manager.
void Destroy() override
Destroys internal resources for the presenter.
const Matrix4 & GetLocal2World() const
Accessor for the current local-to-world transformation matrix.
virtual void VTable0x14()
[AI] Calls VTable0x1c().
void FUN_100a58f0(const Matrix4 &p_transform)
Assigns the given matrix as the local-to-world transformation and enables some internal flags.
void SetVisibility(unsigned char p_visible)
[AI] Sets the visibility flag to the provided value.
virtual int Unitize()
[AI] Scales the vector so its norm is 1 (unit vector).
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
void Clear() override
[AI] Sets every coordinate (x, y, z) to zero.
float LenSquared() const override
[AI] Computes the squared magnitude (x^2 + y^2 + z^2) of this vector.
virtual void EqualsCross(const Vector3 &p_a, const Vector3 &p_b)
[AI] Sets this vector to be the cross product of p_a and p_b.
const CompoundObject & GetROIs()
[AI] Returns the internal CompoundObject list of all managed ViewROI objects for iteration or queries...
#define DECOMP_SIZE_ASSERT(T, S)
const char * g_strHIDE_ON_STOP
[AI] Script keyword to hide an object upon completion or stoppage of an event or animation.
const char * g_strMUST_SUCCEED
[AI] Indicates that a command, script, or resource must complete successfully for script flow.
const char * g_parseExtraTokens
[AI] Delimiter tokens for parsing extra parameters in scripts or command strings.
const char * g_strPTATCAM
[AI] Used to denote a script operation/keyword relating to the PTATCAM feature or module.
const char * g_strFROM_PARENT
[AI] String indicating the data for fetching properties or configuration from a parent object.
const char * g_strSUBST
[AI] Used to specify substitutions of names or resources in script or object instantiation.
const char * g_strWORLD
[AI] Symbolic name used to reference a "WORLD" entity or property in scripts and object definitions.
map< const char *, const char *, LegoAnimSubstComparator > LegoAnimSubstMap
[AI] Mapping for macro or variable substitutions in animation resource parsing.
map< const char *, LegoAnimStruct, LegoAnimStructComparator > LegoAnimStructMap
[AI] Mapping from string names to LegoAnimStruct.
#define NULL
[AI] Null pointer value (C/C++ semantics).
unsigned long LegoU32
[AI] Unsigned 32-bit integer type for cross-platform compatibility.
char LegoChar
[AI] Alias for char, for use in character/byte data and string handling.
#define FAILURE
[AI] Used to indicate a failed operation in result codes.
long LegoS32
[AI] Signed 32-bit integer type for cross-platform compatibility.
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
LegoU8 LegoBool
[AI] Boolean value used throughout the codebase.
LegoVideoManager * VideoManager()
[AI] Accessor for the game's LegoVideoManager subsystem. Used for managing 3D/video hardware....
LegoCharacterManager * CharacterManager()
[AI] Accessor for the character manager, which manages in-game characters/NPCs. [AI]
LegoAnimationManager * AnimationManager()
[AI] Accessor for the animation manager, which controls Lego character/world animation state....
LegoWorld * FindWorld(const MxAtomId &p_atom, MxS32 p_entityid)
[AI] Searches for or retrieves a LegoWorld instance based on an atom id and entity id.
LegoWorld * CurrentWorld()
[AI] Accessor for the currently active LegoWorld instance. [AI]
@ e_lowerCase2
[AI] Alternative or legacy lower case mode, functionally equivalent to e_lowerCase.
#define AUTOLOCK(CS)
[AI] Macro for automatic locking using the MxAutoLock class. This macro instantiates an MxAutoLock ob...
MxTimer * Timer()
[AI] Returns the global simulation timer.
MxVariableTable * VariableTable()
[AI] Returns the variable table used for script variables and global key/value state.
MxNotificationManager * NotificationManager()
[AI] Returns the notification manager for system-wide state/update notifications.
@ c_notificationEndAnim
[AI] End of an animation [AI]
MxBool KeyValueStringParse(char *, const char *, const char *)
Searches p_string for a key command and copies its associated value to p_output.
void CalcLocalTransform(const Vector3 &p_posVec, const Vector3 &p_dirVec, const Vector3 &p_upVec, Matrix4 &p_outMatrix)
[AI] Computes a transformation matrix based on a position, direction, and up vector.
list< ROI * > CompoundObject
[AI] Maps an ROI and index for animation nodes/actors.
LegoROI * m_roi
Associated LEGO Region of Interest (ROI) for animation [AI].
MxU32 m_index
Index value for lookup or ordering [AI].