12 m_type = e_mediaAction;
13 m_mediaSrcPath =
NULL;
14 m_unk0x9c.SetUnk0x00(0);
15 m_unk0x9c.SetUnk0x04(0);
16 m_framesPerSecond = 0;
19 m_paletteManagement = 1;
27 delete[] m_mediaSrcPath;
36 m_unk0x9c = p_dsMediaAction.m_unk0x9c;
37 m_framesPerSecond = p_dsMediaAction.m_framesPerSecond;
38 m_mediaFormat = p_dsMediaAction.m_mediaFormat;
39 m_paletteManagement = p_dsMediaAction.m_paletteManagement;
40 m_sustainTime = p_dsMediaAction.m_sustainTime;
53 if (
this == &p_dsMediaAction) {
79 if (m_mediaSrcPath == p_mediaSrcPath) {
83 delete[] m_mediaSrcPath;
86 m_mediaSrcPath =
new char[strlen(p_mediaSrcPath) + 1];
88 strcpy(m_mediaSrcPath, p_mediaSrcPath);
91 MxTrace(
"MxDSMediaAction: name allocation failed: %s.\n", p_mediaSrcPath);
95 m_mediaSrcPath =
NULL;
112 if (m_mediaSrcPath) {
113 totalSizeOnDisk += strlen(m_mediaSrcPath) + 1;
119 totalSizeOnDisk +=
sizeof(m_unk0x9c.m_unk0x00);
120 totalSizeOnDisk +=
sizeof(m_unk0x9c.m_unk0x04);
121 totalSizeOnDisk +=
sizeof(m_framesPerSecond);
122 totalSizeOnDisk +=
sizeof(m_mediaFormat);
123 totalSizeOnDisk +=
sizeof(m_paletteManagement);
124 totalSizeOnDisk +=
sizeof(m_sustainTime);
127 return totalSizeOnDisk;
137 p_source += strlen(m_mediaSrcPath) + 1;
140 m_unk0x9c.SetUnk0x00(*(
MxU32*) p_source); p_source +=
sizeof(m_unk0x9c.m_unk0x00);
141 m_unk0x9c.SetUnk0x04(*(
MxU32*) p_source); p_source +=
sizeof(m_unk0x9c.m_unk0x04);
143 m_framesPerSecond = *(
MxS32*) p_source; p_source +=
sizeof(m_framesPerSecond);
144 m_mediaFormat = *(
MxS32*) p_source; p_source +=
sizeof(m_mediaFormat);
145 m_paletteManagement = *(
MxS32*) p_source; p_source +=
sizeof(m_paletteManagement);
146 m_sustainTime = *(
MxS32*) p_source; p_source +=
sizeof(m_sustainTime);
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
undefined4 VTable0x14() override
[AI] Unknown virtual placeholder, possibly for additional interfaces.
MxU32 GetSizeOnDisk() override
[AI] Serializes the size on disk of this action (all fields + extra data length)
MxDSAction & operator=(MxDSAction &p_dsAction)
[AI] Assignment operator: deep-copy from a different MxDSAction, including base class data and extra ...
void Deserialize(MxU8 *&p_source, MxS16 p_unk0x24) override
[AI] Deserializes this action's data from a binary buffer.
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
#define MxTrace(args)
[AI] Macro for trace logging (non-variadic version, MSVC compatibility), expands to nothing.