Isle
Loading...
Searching...
No Matches
mxdsmultiaction.h
Go to the documentation of this file.
1#ifndef MXDSMULTIACTION_H
2#define MXDSMULTIACTION_H
3
4#include "mxdsaction.h"
5#include "mxdsactionlist.h"
6
7// VTABLE: LEGO1 0x100dcef0
8// VTABLE: BETA10 0x101c28b0
9// SIZE 0x9c
15public:
20
25 MxDSMultiAction(MxDSMultiAction& p_dsMultiAction);
26
30 ~MxDSMultiAction() override;
31
37 void CopyFrom(MxDSMultiAction& p_dsMultiAction);
38
45 MxDSMultiAction& operator=(MxDSMultiAction& p_dsMultiAction);
46
51 const char* ClassName() const override // vtable+0x0c
52 {
53 // STRING: LEGO1 0x10101dbc
54 return "MxDSMultiAction";
55 }
56
62 MxBool IsA(const char* p_name) const override // vtable+0x10
63 {
64 return !strcmp(p_name, MxDSMultiAction::ClassName()) || MxDSAction::IsA(p_name);
65 }
66
72 undefined4 VTable0x14() override;
73
79 MxU32 GetSizeOnDisk() override;
80
87 void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override;
88
93 void SetAtomId(MxAtomId p_atomId) override;
94
99 MxDSAction* Clone() override;
100
106 void MergeFrom(MxDSAction& p_dsAction) override;
107
113 MxBool HasId(MxU32 p_objectId) override;
114
119 void SetUnknown90(MxLong p_unk0x90) override;
120
126
127 // SYNTHETIC: LEGO1 0x100ca040
128 // SYNTHETIC: BETA10 0x1015b210
129 // MxDSMultiAction::`scalar deleting destructor'
130
131protected:
137
142
143};
144
145// SYNTHETIC: LEGO1 0x1004ad10
146// SYNTHETIC: BETA10 0x1004dc50
147// MxDSActionListCursor::`scalar deleting destructor'
148
149// TEMPLATE: LEGO1 0x1004ad80
150// TEMPLATE: BETA10 0x1004dca0
151// MxListCursor<MxDSAction *>::~MxListCursor<MxDSAction *>
152
153// SYNTHETIC: LEGO1 0x1004add0
154// SYNTHETIC: BETA10 0x1004dd20
155// MxListCursor<MxDSAction *>::`scalar deleting destructor'
156
157// FUNCTION: LEGO1 0x1004ae40
158// FUNCTION: BETA10 0x1004dd70
159// MxDSActionListCursor::~MxDSActionListCursor
160
161#endif // MXDSMULTIACTION_H
[AI] Atomized (unique) string identifier, managed by reference counting.
Definition: mxatom.h:124
[AI] A list (collection) of pointers to MxDSAction objects, supporting comparison,...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
MxBool IsA(const char *p_name) const override
[AI] Run-time type check, compares provided name with this or any ancestor type.
Definition: mxdsaction.h:80
[AI] Represents a container for multiple MxDSAction objects, facilitating the grouping and management...
MxBool IsA(const char *p_name) const override
[AI] Checks whether a given class name matches this or any parent class.
~MxDSMultiAction() override
[AI] Destructor.
void CopyFrom(MxDSMultiAction &p_dsMultiAction)
[AI] Deeply copies all actions from another MxDSMultiAction.
MxDSAction * Clone() override
[AI] Constructs a deep clone of this multi-action, including all subactions.
MxDSMultiAction()
[AI] Constructs an MxDSMultiAction, initializing its type and instantiating an empty action list.
void SetAtomId(MxAtomId p_atomId) override
[AI] Propagates the given AtomId to this and all subactions.
void MergeFrom(MxDSAction &p_dsAction) override
[AI] Propagates a merge operation from the provided MxDSAction to all subactions, as well as self.
void Deserialize(MxU8 *&p_source, MxS16 p_unk0x24) override
[AI] Reads the object's data from a raw byte buffer.
MxU32 GetSizeOnDisk() override
[AI] Calculates the total disk size occupied by this multi-action and all its subactions.
undefined4 VTable0x14() override
[AI] Hook for vtable entry 0x14.
MxDSActionList * m_actionList
[AI] List of contained actions (ownership: this owns and deletes subactions).
MxBool HasId(MxU32 p_objectId) override
[AI] Returns whether this action or any contained subaction matches the provided object id.
MxU32 m_sizeOnDisk
[AI] Stores the last-computed disk storage size for m_actionList and metadata.
const char * ClassName() const override
[AI] Returns the class name for this object ("MxDSMultiAction").
MxDSMultiAction & operator=(MxDSMultiAction &p_dsMultiAction)
[AI] Assignment operator, deeply copies all state and actions from another MxDSMultiAction.
MxDSActionList * GetActionList() const
[AI] Returns the internal action list holding all subactions of this multi-action.
void SetUnknown90(MxLong p_unk0x90) override
[AI] Propagates an unknown value to this and all subactions.
#define override
Definition: compat.h:21
unsigned int undefined4
Definition: decomp.h:28
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
int MxLong
[AI]
Definition: mxtypes.h:83
signed short MxS16
[AI]
Definition: mxtypes.h:26
unsigned char MxU8
[AI]
Definition: mxtypes.h:8
unsigned int MxU32
[AI]
Definition: mxtypes.h:32