Isle
Loading...
Searching...
No Matches
mxsoundmanager.h
Go to the documentation of this file.
1#ifndef MXSOUNDMANAGER_H
2#define MXSOUNDMANAGER_H
3
4#include "decomp.h"
5#include "mxatom.h"
6#include "mxaudiomanager.h"
7
8#include <dsound.h>
9
10// VTABLE: LEGO1 0x100dc128
11// VTABLE: BETA10 0x101c1ce8
12// SIZE 0x3c
13
19public:
25
30 ~MxSoundManager() override; // vtable+0x00
31
36 void Destroy() override; // vtable+0x18
37
43 void SetVolume(MxS32 p_volume) override; // vtable+0x2c
44
52 virtual MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread); // vtable+0x30
53
58 virtual void Pause(); // vtable+0x34
59
64 virtual void Resume(); // vtable+0x38
65
71
78 MxS32 GetAttenuation(MxU32 p_volume);
79
87 MxPresenter* FUN_100aebd0(const MxAtomId& p_atomId, MxU32 p_objectId);
88
89protected:
94 void Init();
95
101 void Destroy(MxBool p_fromDestructor);
102
106};
107
108// SYNTHETIC: LEGO1 0x100ae7b0
109// MxSoundManager::`scalar deleting destructor'
110
111#endif // MXSOUNDMANAGER_H
[AI] Atomized (unique) string identifier, managed by reference counting.
Definition: mxatom.h:124
[AI] Audio subsystem manager for the LEGO Island engine, responsible for managing audio playback and ...
MxResult Create() override
[AI] Initializes audio subsystem resources and registers an instance for global audio management.
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
Definition: mxpresenter.h:20
[AI] Manages DirectSound-based sound playback, implementing volume, resource, and device management.
undefined m_unk0x38[4]
[AI] Unknown, reserved/unused memory or opaque data per binary compatibility. [AI_SUGGESTED_NAME: res...
LPDIRECTSOUND m_directSound
[AI] Pointer to main DirectSound interface. Needed for all DirectSound operations.
void Init()
[AI] Internal initialization routine for member variables and DirectSound pointers.
MxSoundManager()
[AI] Constructs a new MxSoundManager instance.
MxS32 GetAttenuation(MxU32 p_volume)
[AI] Maps a percentage volume (1-100) to a DirectSound-specific attenuation value.
virtual void Pause()
[AI] Pauses all currently playing wave presenters.
LPDIRECTSOUND GetDirectSound()
[AI] Gets pointer to internal DirectSound interface.
MxPresenter * FUN_100aebd0(const MxAtomId &p_atomId, MxU32 p_objectId)
[AI] Finds a presenter matching a specific atom ID and object ID.
void Destroy() override
[AI] Releases sound resources and unregisters from tickle system.
void SetVolume(MxS32 p_volume) override
[AI] Sets the global audio output volume for all managed sound presenters.
LPDIRECTSOUNDBUFFER m_dsBuffer
[AI] Primary DirectSound buffer interface for setting output format/volume.
virtual void Resume()
[AI] Resumes all previously paused wave presenters.
~MxSoundManager() override
[AI] Destructor for MxSoundManager.
unsigned char undefined
Definition: decomp.h:26
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER
Definition: dsound.h:47
struct IDirectSound * LPDIRECTSOUND
Definition: dsound.h:46
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
signed int MxS32
[AI]
Definition: mxtypes.h:38
unsigned int MxU32
[AI]
Definition: mxtypes.h:32