Isle
Loading...
Searching...
No Matches
mxdssound.cpp
Go to the documentation of this file.
1#include "mxdssound.h"
2
4
5// FUNCTION: LEGO1 0x100c92c0
6// FUNCTION: BETA10 0x1015cfdb
8{
9 m_type = e_sound;
10 m_volume = 0x4f;
11}
12
13// FUNCTION: LEGO1 0x100c9470
14// FUNCTION: BETA10 0x1015d060
16{
17}
18
19// FUNCTION: LEGO1 0x100c94c0
20// FUNCTION: BETA10 0x1015d0c8
22{
23 m_type = p_dsSound.m_type;
24 m_volume = p_dsSound.m_volume;
25}
26
27// FUNCTION: BETA10 0x1015d100
29{
30 CopyFrom(p_dsSound);
31}
32
33// FUNCTION: LEGO1 0x100c94e0
34// FUNCTION: BETA10 0x1015d181
36{
37 if (this == &p_dsSound) {
38 return *this;
39 }
40
42 CopyFrom(p_dsSound);
43 return *this;
44}
45
46// FUNCTION: LEGO1 0x100c9510
47// FUNCTION: BETA10 0x1015d1c8
49{
50 MxDSSound* clone = new MxDSSound();
51
52 if (clone) {
53 *clone = *this;
54 }
55
56 return clone;
57}
58
59// FUNCTION: LEGO1 0x100c95a0
60// FUNCTION: BETA10 0x1015d272
61void MxDSSound::Deserialize(MxU8*& p_source, MxS16 p_flags)
62{
63 MxDSMediaAction::Deserialize(p_source, p_flags);
64 m_volume = *(MxS32*) p_source;
65 p_source += sizeof(m_volume);
66}
67
68// FUNCTION: LEGO1 0x100c95d0
69// FUNCTION: BETA10 0x1015d2b0
71{
72 MxU32 totalSizeOnDisk = MxDSMediaAction::GetSizeOnDisk();
73 totalSizeOnDisk += sizeof(m_volume);
74
75 m_sizeOnDisk = sizeof(m_volume);
76 return totalSizeOnDisk;
77}
[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.
MxU32 GetSizeOnDisk() override
Calculates size in bytes required to store this object on disk, including strings and additional fiel...
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...
MxDSMediaAction & operator=(MxDSMediaAction &p_dsMediaAction)
Assignment operator.
MxU16 m_type
[AI] Object type enum (see Type) as read from data or set in code. [AI]
Definition: mxdsobject.h:166
[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
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 DECOMP_SIZE_ASSERT(T, S)
Definition: decomp.h:19
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