1#ifndef MXACTIONNOTIFICATIONPARAM_H
2#define MXACTIONNOTIFICATIONPARAM_H
27 if (p_reallocAction) {
130 m_unk0x14 = p_unk0x14;
[AI] Notification parameter class that contains information about an MxDSAction, used for inter-objec...
MxActionNotificationParam(NotificationId p_type, MxCore *p_sender, MxDSAction *p_action, MxBool p_reallocAction)
[AI] Constructs the action notification parameter, optionally cloning the action if requested.
MxDSAction * GetAction()
[AI] Direct access to the underlying action.
~MxActionNotificationParam() override
[AI] Destructor releases the action if this object owns it (realloc flag set). [AI]
MxNotificationParam * Clone() const override
[AI] Creates a clone of this notification parameter with the same state.
MxDSAction * m_action
[AI] Associated action (owned if m_realloc is true). [AI]
MxBool m_realloc
[AI] TRUE if this object owns and should free m_action. [AI]
[AI] Base virtual class for all Mindscape engine (Mx) objects.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
const MxAtomId & GetAtomId()
[AI] Returns a const-reference to the object's atom identifier.
virtual void SetAtomId(MxAtomId p_atomId)
[AI] Sets the atom id for this object instance, used for indexing or lookup.
void SetUnknown24(MxS16 p_unk0x24)
[AI] Sets the unknown field at 0x24 (possibly version/state).
MxS16 GetUnknown24()
[AI] Returns the unknown 0x24 value (may be data version or usage state). [AI]
void SetObjectId(MxU32 p_objectId)
[AI] Sets the object id (for serialization or lookup).
MxU32 GetObjectId()
[AI] Returns the object id numeric value.
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
MxNotificationParam * Clone() const override
[AI] Returns a clone of this notification parameter, specializing the type for end-action....
MxEndActionNotificationParam(NotificationId p_type, MxCore *p_sender, MxDSAction *p_action, MxBool p_reallocAction)
[AI] Constructs an end-action notification param.
[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).
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
[AI] Notification parameter marking the start of an action, specialization of MxActionNotificationPar...
MxStartActionNotificationParam(NotificationId p_type, MxCore *p_sender, MxDSAction *p_action, MxBool p_reallocAction)
[AI] Constructs a start-action notification param.
MxNotificationParam * Clone() const override
[AI] Returns a clone of this notification parameter. [AI]
[AI] Specialized notification parameter, used for notification type 4, extending MxActionNotification...
MxNotificationParam * Clone() const override
[AI] Returns a clone of this notification parameter. [AI]
MxType4NotificationParam(MxCore *p_sender, MxDSAction *p_action, MxPresenter *p_unk0x14)
[AI] Constructs a type 4 notification parameter carrying an action and a presenter pointer.
NotificationId
Several of those should be defined in LegoOmni.
@ c_notificationType4
[AI] Unspecified notification type [AI]
@ c_notificationEndAction
[AI] Indicates the end of an action [AI]