1#ifndef MXSOUNDMANAGER_H
2#define MXSOUNDMANAGER_H
[AI] Atomized (unique) string identifier, managed by reference counting.
[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 ...
[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.
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER
struct IDirectSound * LPDIRECTSOUND