2023-06-29 04:10:08 -04:00
|
|
|
#ifndef LEGOSOUNDMANAGER_H
|
|
|
|
#define LEGOSOUNDMANAGER_H
|
|
|
|
|
|
|
|
#include "mxsoundmanager.h"
|
|
|
|
|
2024-05-03 12:19:12 -04:00
|
|
|
class LegoCacheSoundManager;
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// VTABLE: LEGO1 0x100d6b10
|
2023-06-29 04:10:08 -04:00
|
|
|
// SIZE 0x44
|
2023-10-24 19:38:27 -04:00
|
|
|
class LegoSoundManager : public MxSoundManager {
|
2023-06-29 04:10:08 -04:00
|
|
|
public:
|
2023-10-24 19:38:27 -04:00
|
|
|
LegoSoundManager();
|
2024-02-01 15:42:10 -05:00
|
|
|
~LegoSoundManager() override;
|
2023-10-22 09:48:20 -04:00
|
|
|
|
2024-03-13 13:46:20 -04:00
|
|
|
MxResult Tickle() override; // vtable+0x08
|
|
|
|
void Destroy() override; // vtable+0x18
|
2024-02-01 15:42:10 -05:00
|
|
|
MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread) override; // vtable+0x30
|
2023-06-29 04:10:08 -04:00
|
|
|
|
2024-01-18 08:34:14 -05:00
|
|
|
// SYNTHETIC: LEGO1 0x10029920
|
|
|
|
// LegoSoundManager::`scalar deleting destructor'
|
|
|
|
|
2024-06-01 17:13:57 -04:00
|
|
|
void UpdateListener(const float* p_position, const float* p_direction, const float* p_up, const float* p_velocity);
|
2024-03-13 13:46:20 -04:00
|
|
|
|
2024-03-31 09:09:51 -04:00
|
|
|
inline LegoCacheSoundManager* GetCacheSoundManager() { return m_cacheSoundManager; }
|
2024-01-27 11:48:50 -05:00
|
|
|
|
2023-06-29 04:10:08 -04:00
|
|
|
private:
|
2023-10-24 19:38:27 -04:00
|
|
|
void Init();
|
|
|
|
void Destroy(MxBool p_fromDestructor);
|
2023-06-29 04:10:08 -04:00
|
|
|
|
2024-03-31 09:09:51 -04:00
|
|
|
LPDIRECTSOUND3DLISTENER m_listener; // 0x3c
|
|
|
|
LegoCacheSoundManager* m_cacheSoundManager; // 0x40
|
2023-06-29 04:10:08 -04:00
|
|
|
};
|
|
|
|
|
2024-02-02 20:16:57 -05:00
|
|
|
// GLOBAL: LEGO1 0x100db6d0
|
|
|
|
// IID_IDirectSound3DListener
|
|
|
|
|
2023-06-29 04:10:08 -04:00
|
|
|
#endif // LEGOSOUNDMANAGER_H
|