36 return "LegoCacheSound";
59 LPPCMWAVEFORMAT p_pwfx,
149 void CopyData(
MxU8* p_data,
MxU32 p_dataSize);
[AI] Implements 3D positional sound logic for LEGO Island using DirectSound 3D buffers.
Sound cache object managing DirectSound buffers and 3D positioning for preloaded sound data.
void SetDistance(MxS32 p_min, MxS32 p_max)
Sets minimum and maximum audible distances for 3D sound attenuation.
LegoCacheSound * Clone()
Creates an identical copy of this LegoCacheSound, including memory buffers, properties,...
MxResult Play(const char *p_name, MxBool p_looping)
Starts playback of the cached sound in this buffer.
void FUN_10006be0()
Handles sound updates per tick; manages stopping, buffer state, and 3D-position refreshes if sound is...
const MxString & GetUnknown0x48() const
Getter for an unknown string field, likely the sound's base filename.
const MxBool GetUnknown0x58() const
Returns whether this sound is currently playing or is flagged as 'active'.
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...
virtual void FUN_10006cd0(undefined4 param1, undefined4 param2)
Unknown legacy/function stub.
~LegoCacheSound() override
Destructor; releases owned sound resources and buffer, unmutes if needed.
void MuteStop(MxBool p_mute)
Mutes/unmutes by stopping (mute) or resuming playback.
void Stop()
Immediately stops playback and resets buffer, clearing event tag and position cues.
LegoCacheSound()
Constructs a new LegoCacheSound and initializes its members to default/empty state.
virtual void Destroy()
Releases allocated DirectSound buffer and internal data, resetting all fields.
void MuteSilence(MxBool p_muted)
Mutes/unmutes by scaling volume to minimum (muted) or restoring original volume.
MxBool IsA(const char *p_name) const override
Checks if this object has a class name equal to p_name, traversing parents.
const char * ClassName() const override
Returns class name (for run-time type checks); always "LegoCacheSound".
[AI] Base virtual class for all Mindscape engine (Mx) objects.
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
Mindscape custom string class for managing dynamic C-strings within the game engine.
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER