Isle
Loading...
Searching...
No Matches
mxdssound.h
Go to the documentation of this file.
1#ifndef MXDSSOUND_H
2#define MXDSSOUND_H
3
4#include "mxdsmediaaction.h"
5
6// VTABLE: LEGO1 0x100dcdd0
7// VTABLE: BETA10 0x101c2b68
8// SIZE 0xc0
9
14class MxDSSound : public MxDSMediaAction {
15public:
19 MxDSSound();
20
25 MxDSSound(MxDSSound& p_dsSound);
26
30 ~MxDSSound() override;
31
36 void CopyFrom(MxDSSound& p_dsSound);
37
43 MxDSSound& operator=(MxDSSound& p_dsSound);
44
49 const char* ClassName() const override // vtable+0x0c
50 {
51 // STRING: LEGO1 0x101025e4
52 return "MxDSSound";
53 }
54
60 MxBool IsA(const char* p_name) const override // vtable+0x10
61 {
62 return !strcmp(p_name, MxDSSound::ClassName()) || MxDSMediaAction::IsA(p_name);
63 }
64
68 MxU32 GetSizeOnDisk() override; // vtable+0x18
69
75 void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+0x1c
76
82 MxDSAction* Clone() override; // vtable+0x2c
83
88 MxS32 GetVolume() const { return m_volume; }
89
90 // SYNTHETIC: LEGO1 0x100c9450
91 // SYNTHETIC: BETA10 0x1015d9d0
92 // MxDSSound::`scalar deleting destructor'
93
94private:
98 MxU32 m_sizeOnDisk; // 0xb8
99
103 MxS32 m_volume; // 0xbc
104};
105
106#endif // MXDSSOUND_H
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
MxDSMediaAction extends MxDSAction to add media-specific playback properties and management.
MxBool IsA(const char *p_name) const override
Checks for class membership.
[AI] Represents a sound action extracted from an SI script and used in the data-driven action system.
Definition: mxdssound.h:14
MxDSSound()
[AI] Constructs a MxDSSound object with default values (type set to e_sound, default volume).
Definition: mxdssound.cpp:7
void Deserialize(MxU8 *&p_source, MxS16 p_unk0x24) override
[AI] Deserializes this object from binary SI file data, extracting volume after base class fields.
Definition: mxdssound.cpp:61
MxU32 GetSizeOnDisk() override
[AI] Returns the total size the action will occupy on disk, including media action and volume.
Definition: mxdssound.cpp:70
void CopyFrom(MxDSSound &p_dsSound)
[AI] Copies properties from another MxDSSound (volume and type).
Definition: mxdssound.cpp:21
const char * ClassName() const override
[AI] Returns the class type name "MxDSSound" as a string literal.
Definition: mxdssound.h:49
MxS32 GetVolume() const
[AI] Returns the stored volume field for the sound.
Definition: mxdssound.h:88
MxBool IsA(const char *p_name) const override
[AI] Tests for type identity against this class or ancestors.
Definition: mxdssound.h:60
MxDSAction * Clone() override
[AI] Creates a duplicate of this MxDSSound instance.
Definition: mxdssound.cpp:48
MxDSSound & operator=(MxDSSound &p_dsSound)
[AI] Assignment operator.
Definition: mxdssound.cpp:35
~MxDSSound() override
[AI] Destructor for cleanup (none specifically required, present for consistency).
Definition: mxdssound.cpp:15
#define override
Definition: compat.h:21
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
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