This commit is contained in:
Misha 2024-02-02 18:29:57 -05:00
parent c1092ea2bc
commit 5f4b991901
No known key found for this signature in database
GPG Key ID: 8441D12AEF33FED8
5 changed files with 36 additions and 38 deletions

View File

@ -24,8 +24,8 @@ class LegoSoundManager : public MxSoundManager {
void Init();
void Destroy(MxBool p_fromDestructor);
undefined4 m_unk0x3c; // 0x3c
LegoUnknown100d6b4c* m_unk0x40; // 0x40
IDirectSound3DListener* m_listener; // 0x3c
LegoUnknown100d6b4c* m_unk0x40; // 0x40
};
#endif // LEGOSOUNDMANAGER_H

View File

@ -2,6 +2,7 @@
#define LEGOUNKNOWN100D6B4C_H
#include "decomp.h"
#include "mxtypes.h"
class LegoCacheSound;
@ -9,6 +10,11 @@ class LegoCacheSound;
// SIZE 0x20
class LegoUnknown100d6b4c {
public:
LegoUnknown100d6b4c();
~LegoUnknown100d6b4c();
virtual MxResult Tickle(); // vtable+0x0
void FUN_1003dc40(LegoCacheSound** p_und);
};

View File

@ -21,9 +21,15 @@ void LegoSoundManager::Init()
m_listener = NULL;
}
// STUB: LEGO1 0x100299b0
// FUNCTION: LEGO1 0x100299b0
void LegoSoundManager::Destroy(MxBool p_fromDestructor)
{
delete m_unk0x40;
Init();
if (!p_fromDestructor) {
MxSoundManager::Destroy();
}
}
// FUNCTION: LEGO1 0x100299f0
@ -51,7 +57,7 @@ MxResult LegoSoundManager::Create(MxU32 p_frequencyMS, MxBool p_createThread)
}
}
m_unk0x40 = new LegoSoundManagerSubclass();
m_unk0x40 = new LegoUnknown100d6b4c();
result = SUCCESS;
}
@ -71,11 +77,11 @@ void LegoSoundManager::Destroy()
Destroy(FALSE);
}
// STUB: LEGO1 0x1002a3a0
// FUNCTION: LEGO1 0x1002a3a0
MxResult LegoSoundManager::Tickle()
{
MxMediaManager::Tickle();
MxAutoLocker lock(&this->m_criticalSection);
return 0; // TODO: call something in unk0x40
return m_unk0x40->Tickle();
}

View File

@ -1,5 +1,23 @@
#include "legounknown100d6b4c.h"
// Inline constructor at 0x10029adb
LegoUnknown100d6b4c::LegoUnknown100d6b4c()
{
// TODO
}
// STUB: LEGO1 0x1003cf20
LegoUnknown100d6b4c::~LegoUnknown100d6b4c()
{
// TODO
}
// STUB: LEGO1 0x1003d050
MxResult LegoUnknown100d6b4c::Tickle()
{
return SUCCESS;
}
// STUB: LEGO1 0x1003dc40
void LegoUnknown100d6b4c::FUN_1003dc40(LegoCacheSound** p_und)
{

View File

@ -1,32 +0,0 @@
#ifndef LEGOSOUNDMANAGER_H
#define LEGOSOUNDMANAGER_H
#include "mxsoundmanager.h"
// VTABLE: LEGO1 0x100d6b10
// SIZE 0x44
class LegoSoundManager : public MxSoundManager {
public:
LegoSoundManager();
virtual ~LegoSoundManager() override;
virtual MxResult Tickle() override; // vtable+08
virtual void Destroy() override; // vtable+18
virtual MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread) override; // vtable+0x30
private:
void Init();
void Destroy(MxBool p_fromDestructor);
IDirectSound3DListener* m_listener;
LegoSoundManagerSubclass* m_unk0x40;
};
// VTABLE: LEGO1 0x100d6b4c
// SIZE 0x20
class LegoSoundManagerSubclass
{
};
#endif // LEGOSOUNDMANAGER_H