1#ifndef LEGOPATHSTRUCT_H
2#define LEGOPATHSTRUCT_H
149 void FUN_1001bc40(
const char* p_name,
MxU32 p_data,
MxBool p_bool);
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
[AI] Specialized notification parameter used for path structure related events in LEGO Island.
LegoPathStructNotificationParam(NotificationId p_type, MxCore *p_sender, MxU8 p_trigger, MxS16 p_data)
[AI] Constructor for LegoPathStructNotificationParam.
MxS16 GetData()
[AI] Retrieves the supplemental data associated with the notification.
MxS16 m_data
[AI] Context-dependent data relevant to the trigger event (e.g. object id, animation id).
MxU8 GetTrigger()
[AI] Returns the trigger type associated with this notification.
MxU8 m_trigger
[AI] Trigger type character - specifies which trigger caused the event (e.g. 'D' for door/passage,...
MxNotificationParam * Clone() const override
[AI] Creates a deep copy of this notification parameter.
[AI] Represents a trigger/control element in the LEGO world's path system, linked logically to the wo...
Trigger
[AI] Enumerated list of recognized path trigger types.
@ c_camAnim
[AI] Camera animation trigger.
@ c_music
[AI] Music control trigger.
@ c_s
[AI] State change trigger.
@ c_d
[AI] Door or passage transition trigger.
@ c_w
[AI] World notification trigger.
@ c_h
[AI] Hide animation trigger.
@ c_g
[AI] Generic placeholder trigger.
LegoPathStruct()
[AI] Default constructor; sets world pointer to NULL.
~LegoPathStruct() override
[AI] Destructor.
virtual void HandleTrigger(LegoPathActor *p_actor, MxBool p_direction, MxU32 p_data)
[AI] Main trigger handler; evaluates flags and name-based script to decide what action to take when a...
void SetWorld(LegoWorld *p_world)
[AI] Binds a world instance to this path struct for context-specific handling.
void SetAtomId(const MxAtomId &p_atomId)
[AI] Sets this struct's AtomId for data/action lookup and dispatch.
Represents the active 3D world, holding all entity, animation, sound, path, and ROI objects.
[AI] Atomized (unique) string identifier, managed by reference counting.
[AI] Base virtual class for all Mindscape engine (Mx) objects.
[AI] Parameter object representing a single notification or event, carrying an identifier and sender ...
MxCore * m_sender
[AI] Pointer to the MxCore instance that sent or originated this notification.
NotificationId m_type
[AI] Type of notification/event carried by this object (see NotificationId).
#define NULL
[AI] Null pointer value (C/C++ semantics).
NotificationId
Several of those should be defined in LegoOmni.
[AI] Abstract base describing named, flag-based elements of the LEGO world path system.
LegoPathStructBase()
[AI] Default constructor. Initializes name pointer to NULL and flags to 0.
MxU32 m_flags
[AI] Bitfield of state and trigger flags for fast matching in trigger logic.
char * m_name
[AI] Dynamically allocated name for this path struct instance (e.g., a label or trigger identifier).
@ c_bit2
[AI] Bitmask for actor direction/state.
@ c_bit7
[AI] Extra bit, typically used for advanced logic/filtering [AI].
@ c_bit4
[AI] Bitmask for extra control/state.
@ c_bit6
[AI] Bitmask for direction or branch 'false' (see HandleTrigger) [AI].
@ c_bit3
[AI] Bitmask for direction filter/type.
@ c_bit5
[AI] Bitmask for direction or branch 'true' (see HandleTrigger) [AI].
@ c_bit1
[AI] Bitmask for camera flag/actor trigger logic.
virtual ~LegoPathStructBase()
[AI] Virtual destructor. Frees the name buffer if allocated.