Implement/match LegoCacheSound::Play and Lego3DSound::FUN_10011a60 (#987)

* Implement/match LegoCacheSound::Play and Lego3DSound::FUN_10011a60

* Update names

* Update
This commit is contained in:
Christian Semmler
2024-06-02 11:09:09 -04:00
committed by GitHub
parent 03ffb9c5de
commit 828b35e9d2
10 changed files with 193 additions and 55 deletions

View File

@@ -20,6 +20,7 @@ public:
MxResult Create(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char* p_name, MxS32 p_volume);
void Destroy();
MxU32 UpdatePosition(LPDIRECTSOUNDBUFFER p_directSoundBuffer);
void FUN_10011a60(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char* p_name);
void Reset();
MxS32 SetDistance(MxS32 p_min, MxS32 p_max);

View File

@@ -56,11 +56,12 @@ public:
LegoCacheSound* FindSoundByKey(const char* p_key);
LegoCacheSound* ManageSoundEntry(LegoCacheSound* p_sound);
LegoCacheSound* FUN_1003dae0(const char* p_one, const char* p_two, MxBool p_three);
LegoCacheSound* FUN_1003db10(LegoCacheSound* p_one, const char* p_two, MxBool p_three);
void FUN_1003dc40(LegoCacheSound** p_und);
LegoCacheSound* Play(const char* p_key, const char* p_name, MxBool p_looping);
void Destroy(LegoCacheSound*& p_sound);
private:
LegoCacheSound* Play(LegoCacheSound* p_sound, const char* p_name, MxBool p_looping);
Set100d6b4c m_set; // 0x04
List100d6b4c m_list; // 0x14
};

View File

@@ -37,10 +37,10 @@ public:
virtual void FUN_10006cd0(undefined4, undefined4); // vtable+0x1c
inline const MxString& GetUnknown0x48() const { return m_unk0x48; }
inline const undefined GetUnknown0x58() const { return m_unk0x58; }
inline const MxBool GetUnknown0x58() const { return m_unk0x58; }
LegoCacheSound* FUN_10006960();
MxResult FUN_10006a30(const char* p_str, MxBool);
LegoCacheSound* Clone();
MxResult Play(const char* p_name, MxBool p_looping);
void FUN_10006b80();
void FUN_10006be0();
void SetDistance(MxS32 p_min, MxS32 p_max);
@@ -59,12 +59,12 @@ private:
MxU8* m_data; // 0x40
MxU32 m_dataSize; // 0x44
MxString m_unk0x48; // 0x48
undefined m_unk0x58; // 0x58
MxBool m_unk0x58; // 0x58
PCMWAVEFORMAT m_wfx; // 0x59
MxBool m_isLooping; // 0x69
MxBool m_looping; // 0x69
MxBool m_unk0x6a; // 0x6a
MxS32 m_volume; // 0x6c
undefined m_unk0x70; // 0x70
MxBool m_unk0x70; // 0x70
MxString m_unk0x74; // 0x74
undefined m_unk0x84; // 0x84
};