Isle
Loading...
Searching...
No Matches
mxdsmediaaction.h
Go to the documentation of this file.
1#ifndef MXDSMEDIAACTION_H
2#define MXDSMEDIAACTION_H
3
4#include "decomp.h"
5#include "mxdsaction.h"
6
7// VTABLE: LEGO1 0x100dcd40
8// VTABLE: BETA10 0x101c2ad8
9// SIZE 0xb8
10
19public:
24
29 MxDSMediaAction(MxDSMediaAction& p_dsMediaAction);
30
34 ~MxDSMediaAction() override;
35
40 void CopyFrom(MxDSMediaAction& p_dsMediaAction);
41
47 MxDSMediaAction& operator=(MxDSMediaAction& p_dsMediaAction);
48
53 const char* ClassName() const override // vtable+0x0c
54 {
55 // STRING: LEGO1 0x100f7624
56 return "MxDSMediaAction";
57 }
58
64 MxBool IsA(const char* p_name) const override // vtable+0x10
65 {
66 return !strcmp(p_name, MxDSMediaAction::ClassName()) || MxDSAction::IsA(p_name);
67 }
68
69 // SYNTHETIC: LEGO1 0x100c8cd0
70 // SYNTHETIC: BETA10 0x1015d810
71 // MxDSMediaAction::`scalar deleting destructor'
72
76 undefined4 VTable0x14() override; // vtable+0x14
77
82 MxU32 GetSizeOnDisk() override; // vtable+0x18
83
89 void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+0x1c
90
95 MxDSAction* Clone() override; // vtable+0x2c
96
101 void CopyMediaSrcPath(const char* p_mediaSrcPath);
102
107 const char* GetMediaSrcPath() { return m_mediaSrcPath; }
108
113 MxS32 GetFramesPerSecond() const { return m_framesPerSecond; }
114
119 MxS32 GetMediaFormat() const { return m_mediaFormat; }
120
125 MxS32 GetPaletteManagement() const { return m_paletteManagement; }
126
131 MxLong GetSustainTime() const { return m_sustainTime; }
132
133private:
137 struct Unk0x9cStruct {
142 void SetUnk0x00(undefined4 p_value) { m_unk0x00 = p_value; }
143
148 void SetUnk0x04(undefined4 p_value) { m_unk0x04 = p_value; }
149
153 undefined4 m_unk0x00;
154
158 undefined4 m_unk0x04;
159 };
160
164 MxU32 m_sizeOnDisk; // 0x94
165
169 char* m_mediaSrcPath; // 0x98
170
174 Unk0x9cStruct m_unk0x9c; // 0x9c
175
179 MxS32 m_framesPerSecond; // 0xa4
180
184 MxS32 m_mediaFormat; // 0xa8
185
189 MxS32 m_paletteManagement; // 0xac
190
194 MxLong m_sustainTime; // 0xb0
195
199 undefined4 m_unk0xb4; // 0xb4
200};
201
202#endif // MXDSMEDIAACTION_H
[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
MxDSMediaAction extends MxDSAction to add media-specific playback properties and management.
MxU32 GetSizeOnDisk() override
Calculates size in bytes required to store this object on disk, including strings and additional fiel...
const char * ClassName() const override
Returns the class name string for this object.
MxS32 GetMediaFormat() const
Returns the media format code (e.g., FLC, SMK, WAV) for playback and presenter dispatch.
const char * GetMediaSrcPath()
Provides access to the path string of the media resource used by this action.
MxBool IsA(const char *p_name) const override
Checks for class membership.
void Deserialize(MxU8 *&p_source, MxS16 p_unk0x24) override
Deserializes the object data from a binary buffer, restoring state including media source path and co...
MxS32 GetPaletteManagement() const
Gets the palette management mode for playback of this media.
MxLong GetSustainTime() const
Returns the sustain time for the media, i.e., time it should remain presented/active.
MxDSAction * Clone() override
Creates a deep copy (clone) of this action and returns it.
void CopyMediaSrcPath(const char *p_mediaSrcPath)
Deep-copies a new string for the media source path; cleans up previous memory as needed.
undefined4 VTable0x14() override
[AI] Implementation-specific vtable placeholder.
MxDSMediaAction()
Constructs a new MxDSMediaAction and initializes all members.
MxS32 GetFramesPerSecond() const
Gets the frame rate to use for media playback.
~MxDSMediaAction() override
Destructor.
MxDSMediaAction & operator=(MxDSMediaAction &p_dsMediaAction)
Assignment operator.
void CopyFrom(MxDSMediaAction &p_dsMediaAction)
Copy the internal state and properties from another MxDSMediaAction.
#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
signed int MxS32
[AI]
Definition: mxtypes.h:38
unsigned int MxU32
[AI]
Definition: mxtypes.h:32