isle-portable/LEGO1/lego/legoomni/include/legosoundmanager.h
Christian Semmler c038d8d46e
Updates from isledecomp/isle (#18)
* Implement/match Lego3DSound::Create (#981)

* Implement/match Lego3DSound::Create

* Add space

* Naming

* Changes

* Name/rename functions in LegoCharacterManager (#982)

* Name/rename functions in LegoCharacterManager

* Name flag

* Implement/match Lego3DSound::UpdatePosition (#983)

* Implement/match Lego3DSound::SetDistance and Reset (#984)

* Implement/match LegoSoundManager::UpdateListener (#985)

* Implement/match LegoCacheSound::Create and LegoLoadCacheSoundPresenter::StreamingTickle (#986)

* Implement/match LegoCacheSound::Create

* Naming

* Fix naming

* Fix parens

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

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

* Update names

* Update
2024-06-02 17:26:15 +02:00

38 lines
1.0 KiB
C++

#ifndef LEGOSOUNDMANAGER_H
#define LEGOSOUNDMANAGER_H
#include "mxsoundmanager.h"
class LegoCacheSoundManager;
// VTABLE: LEGO1 0x100d6b10
// SIZE 0x44
class LegoSoundManager : public MxSoundManager {
public:
LegoSoundManager();
~LegoSoundManager() override;
MxResult Tickle() override; // vtable+0x08
void Destroy() override; // vtable+0x18
MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread) override; // vtable+0x30
// SYNTHETIC: LEGO1 0x10029920
// LegoSoundManager::`scalar deleting destructor'
void UpdateListener(const float* p_position, const float* p_direction, const float* p_up, const float* p_velocity);
inline LegoCacheSoundManager* GetCacheSoundManager() { return m_cacheSoundManager; }
private:
void Init();
void Destroy(MxBool p_fromDestructor);
LPDIRECTSOUND3DLISTENER m_listener; // 0x3c
LegoCacheSoundManager* m_cacheSoundManager; // 0x40
};
// GLOBAL: LEGO1 0x100db6d0
// IID_IDirectSound3DListener
#endif // LEGOSOUNDMANAGER_H