[AI] Manager for controlling actors' movement along predefined geometric paths.
[AI] Represents a trigger/control element in the LEGO world's path system, linked logically to the wo...
[AI] Represents a face (polygon) composed of a list of edges in the LEGO Island world engine.
[AI] Represents a "geometry edge" in the LEGO Island world polygon/path system.
const LegoChar * GetName()
[AI] Returns the name string of this edge, typically used for debugging and lookup.
Mx4DPointFloat m_unk0x14
[AI] 4D plane equation or normal used for polygon/edge side tests. [AI]
float m_unk0x44
[AI] Maximum squared distance from center—polygon bounding radius or similar. [AI]
LegoS32 VTable0x04() override
[AI] Performs geometry calculations for the edge, sets up normals, center point, and trigger vectors.
LegoU8 m_unk0x0d
[AI] Unknown, used for internal status/tracking. [AI]
LegoU8 GetMask0x03()
[AI] Returns a two-bit mask of the first two edge state flags (bit1, bit2).
LegoU8 m_numTriggers
[AI] Number of trigger (path/segment) structures attached to this edge. [AI]
Mx3DPointFloat * m_unk0x50
[AI] Transition direction/unit vector—used for edge trigger geometry. [AI]
Mx4DPointFloat * m_edgeNormals
[AI] Per-edge normals for each polygon segment, allocated dynamically. [AI]
LegoU32 GetFlag0x10()
Returns TRUE if the 'disabled' flag is not set, otherwise FALSE.
LegoS32 FUN_1009aea0()
[AI] Internal routine called by VTable0x04 for validity checking of polygon vertices and normal consi...
LegoWEGEdge()
[AI] Constructs a LegoWEGEdge and initializes its member variables.
LegoU8 m_flags
[AI] Flags indicating edge state, enabled/disabled, and type bits. [AI]
Mx4DPointFloat * GetEdgeNormal(int index)
[AI] Returns a pointer to the 4D edge normal at the given sub-edge index.
Mx4DPointFloat * GetUnknown0x14()
[AI] Returns a pointer to the cached 4D normal or reference plane for the edge.
@ c_bit1
[AI] Edge-specific flag (purpose determined by logic in edge processing)
@ c_bit5
[AI] Disabled flag mask (see GetFlag0x10/SetFlag0x10) [AI]
LegoChar * m_name
[AI] Edge's name string, dynamically allocated for debug/lookup. [AI]
PathWithTrigger * m_pathTrigger
[AI] Array of triggers influencing entity motion or event logic on this edge. [AI]
~LegoWEGEdge() override
[AI] Destroys this edge instance and properly deallocates memory for associated dynamic members.
void SetFlag0x10(LegoU32 p_disable)
[AI] Sets the enabled/disabled flag for this edge.
Mx3DPointFloat m_unk0x30
[AI] Cached center for the edge polygon, used in geometric calculations. [AI]
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
[AI] 4D point class for floating point values.
#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.
unsigned char LegoU8
[AI] Unsigned 8-bit integer type used throughout LEGO Island.
long LegoS32
[AI] Signed 32-bit integer type for cross-platform compatibility.
[AI] Represents a path segment with an associated trigger in LEGO Island pathing logic.
LegoPathStruct * m_pathStruct
[AI] Pointer to a path structure associated with this trigger. [AI]
float m_unk0x08
[AI] Distance along the path or trigger threshold (exact semantics unclear). [AI]
unsigned int m_data
[AI] Miscellaneous data value, use determined by path logic. [AI]
PathWithTrigger()
[AI] Constructs a PathWithTrigger and initializes its members to default values.