29 assert(m_ltDoor && m_rtDoor);
31 if (m_unk0x154 == 1) {
34 m_ltDoorLocal = m_ltDoor->GetLocal2World();
35 m_rtDoorLocal = m_rtDoor->GetLocal2World();
47 fVar1 = p_time - m_unk0x158;
57 return 1.570796012878418;
70 assert(m_ltDoor && m_rtDoor);
91 local10 = m_ltDoorLocal[3];
95 local58 = m_rtDoorLocal;
98 local10 = m_rtDoorLocal[3];
123 assert(m_ltDoor ==
NULL && m_rtDoor ==
NULL);
129 for (CompoundObject::const_iterator it = comp->begin(); it != comp->end(); it++) {
132 if (roi && (!strnicmp(roi->
GetName(),
"dor-lt", 6) || !strnicmp(roi->
GetName(),
"dor-sl", 6))) {
135 else if (roi && (!strnicmp(roi->
GetName(),
"dor-rt", 6) || !strnicmp(roi->
GetName(),
"dor-sr", 6))) {
140 assert(m_ltDoor && m_rtDoor);
[AI] Represents a special LegoPathActor controlling the animation and logic of a pair of doors,...
void Animate(float p_time) override
[AI] Animates the doors based on current time, moving them through different animation states (closed...
void ParseAction(char *p_extra) override
[AI] Parses action directives for the Doors, as well as identifying and associating left and right do...
virtual MxFloat VTable0xcc(float p_time)
[AI] Calculates the normalized open-close position of the doors for the given time,...
LegoROI * m_roi
[AI] Pointer to this entity's currently assigned ROI (3D instance in the world). [AI]
[AI] An actor that moves along a predefined path, supporting boundary transitions,...
LegoPathBoundary * m_boundary
[AI] Current boundary the actor is navigating on. [AI]
MxU32 m_actorState
[AI] State and flags bitfield for path following logic. [AI]
void ParseAction(char *p_extra) override
[AI] Parses a set of key-value action commands and configures path navigation and collision for this ...
@ c_initial
[AI] Default state upon creation or reset. [AI]
[AI] Represents a Real-time Object Instance enriched with LEGO-specific functionality.
const LegoChar * GetName() const
[AI] Gets this ROI's name.
LegoU32 GetFlag0x10()
Returns TRUE if the 'disabled' flag is not set, otherwise FALSE.
void RotateY(const float &p_angle)
Applies a rotation (in radians or degrees, depending on implementation) about the Y axis.
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
MxLong GetTime()
Returns the current timer value in ms, depending on running state.
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.
const CompoundObject * GetComp() const
[AI] Returns the pointer to the compound object structure, or NULL if not present.
[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.
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
#define FAILURE
[AI] Used to indicate a failed operation in result codes.
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.
MxTimer * Timer()
[AI] Returns the global simulation timer.
list< ROI * > CompoundObject