MxU32 UpdatePosition(LPDIRECTSOUNDBUFFER p_directSoundBuffer)
[AI] Recalculates and updates the sound position on the underlying DirectSound 3D buffer or the volum...
MxResult Create(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char *p_name, MxS32 p_volume)
[AI] Initializes 3D sound for a given DirectSound buffer and associates it with a named game object.
[AI] Handles the presentation of 3D positional audio using DirectSound buffers within the LEGO Island...
void Destroy() override
[AI] Cleans up internal 3D sound resources and DirectSound objects, and reinitializes base presenter.
void StreamingTickle() override
[AI] Updates the 3D buffer position each tick, keeping audio in sync with moving objects in the world...
void StartingTickle() override
[AI] Performs setup and initial buffer management prior to starting audio streaming.
MxS32 m_volume
[AI] Current playback volume, range 0-100 (percent).
void GetExtra(MxU16 &p_extraLength, char *&p_extraData)
[AI] Retrieves the extra data and its length for this action.
static MxBool IsSound3D()
[AI] Returns current state of 3D sound configuration.
MxDSAction * m_action
[AI] The associated action currently being presented by this presenter.
MxCompositePresenter * m_compositePresenter
[AI] Owner composite presenter, if any.
MxDSAction * GetAction() const
[AI] Returns the current action being presented.
MxResult AddToManager() override
[AI] Registers this presenter with the global MxSoundManager.
void StartingTickle() override
[AI] Handles actions required when first starting presentation. Advances to streaming state.
LPDIRECTSOUNDBUFFER m_dsBuffer
[AI] DirectSound buffer handling PCM sample playback.
void EndAction() override
[AI] Ends the media playback action, releasing all resources, notifying listeners if necessary.
void Destroy() override
[AI] Explicit resource release.
void StreamingTickle() override
[AI] Per-frame update when streaming the media stream.
void Init()
[AI] Initializes all member variables to safe/empty values.
MxBool m_is3d
[AI] TRUE if buffer/audio is 3D spatialized.
#define DECOMP_SIZE_ASSERT(T, S)
#define NULL
[AI] Null pointer value (C/C++ semantics).
#define SUCCESS
[AI] Used to indicate a successful operation in result codes.