mirror of
https://github.com/isledecomp/isle-portable.git
synced 2025-02-16 19:50:52 -05:00
implement LegoSoundManager vtable (#231)
* LegoSoundManager * Fix virtual function declarations/locations --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
ae908a74cc
commit
50fe5f9c83
4 changed files with 56 additions and 8 deletions
|
@ -1,20 +1,48 @@
|
||||||
#include "legosoundmanager.h"
|
#include "legosoundmanager.h"
|
||||||
|
#include "mxautolocker.h"
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100298a0 STUB
|
// OFFSET: LEGO1 0x100298a0
|
||||||
LegoSoundManager::LegoSoundManager()
|
LegoSoundManager::LegoSoundManager()
|
||||||
{
|
{
|
||||||
// TODO
|
Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x10029940 STUB
|
// OFFSET: LEGO1 0x10029940
|
||||||
LegoSoundManager::~LegoSoundManager()
|
LegoSoundManager::~LegoSoundManager()
|
||||||
{
|
{
|
||||||
// TODO
|
Destroy(TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x1002a390
|
||||||
|
void LegoSoundManager::Destroy()
|
||||||
|
{
|
||||||
|
Destroy(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100299b0 STUB
|
||||||
|
void LegoSoundManager::Destroy(MxBool p_fromDestructor)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100299f0 STUB
|
||||||
|
MxResult LegoSoundManager::Create(MxU32 p_frequencyMS, MxBool p_createThread)
|
||||||
|
{
|
||||||
|
return FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100299a0
|
||||||
|
void LegoSoundManager::Init()
|
||||||
|
{
|
||||||
|
unk0x40 = 0;
|
||||||
|
unk0x3c = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x1002a3a0 STUB
|
// OFFSET: LEGO1 0x1002a3a0 STUB
|
||||||
MxResult LegoSoundManager::Tickle()
|
MxResult LegoSoundManager::Tickle()
|
||||||
{
|
{
|
||||||
// TODO
|
MxMediaManager::Tickle();
|
||||||
return 0;
|
MxAutoLocker lock(&this->m_criticalSection);
|
||||||
|
|
||||||
|
return 0; // TODO: call something in unk0x40
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,11 +10,17 @@ class LegoSoundManager : public MxSoundManager
|
||||||
public:
|
public:
|
||||||
LegoSoundManager();
|
LegoSoundManager();
|
||||||
virtual ~LegoSoundManager() override;
|
virtual ~LegoSoundManager() override;
|
||||||
|
|
||||||
virtual MxResult Tickle() override; // vtable+08
|
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:
|
private:
|
||||||
void Init();
|
void Init();
|
||||||
|
void Destroy(MxBool p_fromDestructor);
|
||||||
|
|
||||||
|
undefined4 unk0x3c;
|
||||||
|
undefined4 unk0x40;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // LEGOSOUNDMANAGER_H
|
#endif // LEGOSOUNDMANAGER_H
|
||||||
|
|
|
@ -58,11 +58,23 @@ MxResult MxSoundManager::Create(MxU32 p_frequencyMS, MxBool p_createThread)
|
||||||
// OFFSET: LEGO1 0x100aed10 STUB
|
// OFFSET: LEGO1 0x100aed10 STUB
|
||||||
void MxSoundManager::vtable0x34()
|
void MxSoundManager::vtable0x34()
|
||||||
{
|
{
|
||||||
// TODO STUB
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100aee10 STUB
|
// OFFSET: LEGO1 0x100aee10 STUB
|
||||||
void MxSoundManager::vtable0x38()
|
void MxSoundManager::vtable0x38()
|
||||||
{
|
{
|
||||||
// TODO STUB
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100aeab0
|
||||||
|
void MxSoundManager::Destroy()
|
||||||
|
{
|
||||||
|
Destroy(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100aeac0 STUB
|
||||||
|
void MxSoundManager::SetVolume(MxS32 p_volume)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,8 @@ public:
|
||||||
MxSoundManager();
|
MxSoundManager();
|
||||||
virtual ~MxSoundManager() override; // vtable+0x0
|
virtual ~MxSoundManager() override; // vtable+0x0
|
||||||
|
|
||||||
|
virtual void Destroy() override; // vtable+18
|
||||||
|
virtual void SetVolume(MxS32 p_volume) override; // vtable+2c
|
||||||
virtual MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread); //vtable+0x30
|
virtual MxResult Create(MxU32 p_frequencyMS, MxBool p_createThread); //vtable+0x30
|
||||||
virtual void vtable0x34(); // vtable+0x34
|
virtual void vtable0x34(); // vtable+0x34
|
||||||
virtual void vtable0x38(); // vtable+0x38
|
virtual void vtable0x38(); // vtable+0x38
|
||||||
|
|
Loading…
Reference in a new issue