27void LegoLoadCacheSoundPresenter::Init()
LegoCacheSound * ManageSoundEntry(LegoCacheSound *p_sound)
[AI] Manages a sound entry.
Sound cache object managing DirectSound buffers and 3D positioning for preloaded sound data.
virtual MxResult Create(LPPCMWAVEFORMAT p_pwfx, MxString p_mediaSrcPath, MxS32 p_volume, MxU8 *p_data, MxU32 p_dataSize)
Creates the sound object with given audio format, source path, volume, and initializes DirectSound bu...
Derived presenter class used for loading and creating cached sound objects from streamed audio data.
~LegoLoadCacheSoundPresenter() override
Destructor.
void DoneTickle() override
Called when the presenter enters the DoneTickle state.
void ReadyTickle() override
Called when the presenter enters the ReadyTickle state.
MxResult PutData() override
Called to commit prepared data to the cache manager.
void StreamingTickle() override
Called during the StreamingTickle state.
LegoCacheSoundManager * GetCacheSoundManager()
[AI] Returns the cache sound manager used to cache and reuse sound effects.
virtual MxS32 GetVolume()
[AI] Returns the current runtime audio volume for this presenter (0-100).
void Enter()
[AI] Acquires/gains entry to the critical section or mutex, blocking if not available.
void Leave()
[AI] Releases/leaves the critical section or mutex.
MxU32 GetLength()
[AI] Returns the length in bytes of the data payload. [AI]
MxU8 * GetData()
[AI] Returns a pointer to the start of the data payload. [AI]
MxU16 GetChunkFlags()
[AI] Returns the chunk's flag bitfield. [AI]
[AI] Represents a sound action extracted from an SI script and used in the data-driven action system.
void FreeDataChunk(MxStreamChunk *p_chunk)
[AI] Frees (deletes) a data chunk if it's found in the consumed data list; also forcibly deletes sing...
void ProgressTickleState(TickleState p_tickleState)
[AI] Helper for advancing the presenter's tickle state and updating transition history.
MxDSAction * m_action
[AI] The associated action currently being presented by this presenter.
TickleState m_currentTickleState
[AI] Current state in the tickle lifecycle.
@ e_done
[AI] Completed processing the current action.
@ e_streaming
[AI] Streaming or rendering actively.
MxCriticalSection m_criticalSection
[AI] Thread synchronization for presenter state and data.
[AI] Represents a streamable chunk of data, typically sourced from a media buffer and designed for no...
void EndAction() override
[AI] Ends the media playback action, releasing all resources, notifying listeners if necessary.
void Destroy() override
[AI] Explicit resource release.
#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.
LegoSoundManager * SoundManager()
[AI] Accessor for the game's LegoSoundManager subsystem from the global LegoOmni instance....
#define DS_CHUNK_END_OF_STREAM
[AI] Flag bit indicating this chunk is the last in its stream.