MxAudioManager: Destructor, LockedReinitialize

This commit is contained in:
Joshua Peisach 2023-09-15 17:59:03 -04:00
parent b1a2aeaed6
commit 507cc3024b
No known key found for this signature in database
GPG Key ID: 41C3D4189AFEDB5A
6 changed files with 55 additions and 42 deletions

View File

@ -93,6 +93,7 @@ add_library(lego1 SHARED
LEGO1/motorcycle.cpp
LEGO1/mxatomid.cpp
LEGO1/mxatomidcounter.cpp
LEGO1/mxaudiomanager.cpp
LEGO1/mxaudiopresenter.cpp
LEGO1/mxautolocker.cpp
LEGO1/mxbackgroundaudiomanager.cpp
@ -158,7 +159,6 @@ add_library(lego1 SHARED
LEGO1/mxticklemanager.cpp
LEGO1/mxtimer.cpp
LEGO1/mxtransitionmanager.cpp
LEGO1/mxunknown100dc6e0.cpp
LEGO1/mxvariable.cpp
LEGO1/mxvariabletable.cpp
LEGO1/mxvector.cpp

31
LEGO1/mxaudiomanager.cpp Normal file
View File

@ -0,0 +1,31 @@
#include "mxaudiomanager.h"
// OFFSET: LEGO1 0x100b8d00
MxAudioManager::MxAudioManager()
{
Init();
}
// OFFSET: LEGO1 0x100b8d90
MxAudioManager::~MxAudioManager()
{
LockedReinitialize(1);
}
// OFFSET: LEGO1 0x100b8df0
void MxAudioManager::Init()
{
this->m_unk2c = 100;
}
// OFFSET: LEGO1 0x100b8e00
void MxAudioManager::LockedReinitialize(MxS8 p_skipTeardown)
{
this->m_criticalSection.Enter();
Init();
this->m_criticalSection.Leave();
if (p_skipTeardown) {
Teardown();
}
}

20
LEGO1/mxaudiomanager.h Normal file
View File

@ -0,0 +1,20 @@
#ifndef MXAUDIOMANAGER_H
#define MXAUDIOMANAGER_H
#include "mxmediamanager.h"
// VTABLE 0x100dc6e0
class MxAudioManager : public MxMediaManager
{
public:
MxAudioManager();
virtual ~MxAudioManager() override;
void LockedReinitialize(MxS8);
protected:
void Init();
int m_unk2c;
};
#endif // MXAUDIOMANAGER_H

View File

@ -1,12 +1,12 @@
#ifndef MXSOUNDMANAGER_H
#define MXSOUNDMANAGER_H
#include "mxunknown100dc6e0.h"
#include "mxaudiomanager.h"
// VTABLE 0x100dc128
// SIZE 0x3c
// Base vtables are: MxCore -> 0x100dc6b0 -> 0x100dc6e0 -> MxSoundManager
class MxSoundManager : public MxUnknown100dc6e0
// Base vtables are: MxCore -> 0x100dc6b0 -> MxAudioManager -> MxSoundManager
class MxSoundManager : public MxAudioManager
{
public:
MxSoundManager();

View File

@ -1,19 +0,0 @@
#include "mxunknown100dc6e0.h"
// OFFSET: LEGO1 0x100b8d00
MxUnknown100dc6e0::MxUnknown100dc6e0()
{
Init();
}
// OFFSET: LEGO1 0x100b8d90 STUB
MxUnknown100dc6e0::~MxUnknown100dc6e0()
{
// TODO
}
// OFFSET: LEGO1 0x100b8df0
void MxUnknown100dc6e0::Init()
{
this->m_unk2c = 100;
}

View File

@ -1,19 +0,0 @@
#ifndef MXUNKNOWN100DC6E0_H
#define MXUNKNOWN100DC6E0_H
#include "mxmediamanager.h"
// VTABLE 0x100dc6e0
class MxUnknown100dc6e0 : public MxMediaManager
{
public:
MxUnknown100dc6e0();
virtual ~MxUnknown100dc6e0() override;
protected:
void Init();
int m_unk2c;
};
#endif // MXUNKNOWN100DC6E0_H