1#ifndef LEGOSOUNDMANAGER_H
2#define LEGOSOUNDMANAGER_H
41 void UpdateListener(
const float* p_position,
const float* p_direction,
const float* p_up,
const float* p_velocity);
[AI] Manages caching, reuse, and playback of LegoCacheSound objects.
[AI] Manages 3D sound effects and music playback for LEGO Island, integrating with DirectSound and pr...
void Destroy() override
[AI] Cleans up and releases all resources used by the sound manager and its cache.
MxResult Tickle() override
[AI] Performs periodic processing, such as updating the cache sound manager.
LegoSoundManager()
[AI] Constructs the LegoSoundManager and initializes its internal members.
void UpdateListener(const float *p_position, const float *p_direction, const float *p_up, const float *p_velocity)
[AI] Updates the 3D sound listener properties in DirectSound, reflecting player/world changes.
LegoCacheSoundManager * GetCacheSoundManager()
[AI] Returns the cache sound manager used to cache and reuse sound effects.
~LegoSoundManager() override
[AI] Destructor. Cleans up resources, optionally as part of destruction.
MxResult Create() override
[AI] Initializes audio subsystem resources and registers an instance for global audio management.
[AI] Manages DirectSound-based sound playback, implementing volume, resource, and device management.
struct IDirectSound3DListener * LPDIRECTSOUND3DLISTENER