From d40b1ac6763f51ee5a4d971da771489138190f94 Mon Sep 17 00:00:00 2001 From: vMidz <147055059+vMidz@users.noreply.github.com> Date: Thu, 5 Oct 2023 22:57:53 +0300 Subject: [PATCH] added override + small changes --- LEGO1/mxaudiomanager.h | 6 +++--- LEGO1/mxmidimanager.cpp | 20 +++++++++++--------- LEGO1/mxmidimanager.h | 22 +++++++++++----------- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/LEGO1/mxaudiomanager.h b/LEGO1/mxaudiomanager.h index 499912ff..1ba5b6fd 100644 --- a/LEGO1/mxaudiomanager.h +++ b/LEGO1/mxaudiomanager.h @@ -11,13 +11,13 @@ class MxAudioManager : public MxMediaManager MxAudioManager(); virtual ~MxAudioManager() override; - virtual MxResult InitPresenters(); // vtable+14 - virtual void Destroy(); // vtable+18 + virtual MxResult InitPresenters() override; // vtable+14 + virtual void Destroy() override; // vtable+18 virtual MxS32 GetVolume(); // vtable+28 virtual void SetVolume(MxS32 p_volume); // vtable+2c private: - void LockedReinitialize(MxBool); + void LockedReinitialize(MxBool p_skipDestroy); static MxS32 g_unkCount; diff --git a/LEGO1/mxmidimanager.cpp b/LEGO1/mxmidimanager.cpp index 709b2017..62bcb6d2 100644 --- a/LEGO1/mxmidimanager.cpp +++ b/LEGO1/mxmidimanager.cpp @@ -1,6 +1,6 @@ #include "mxmidimanager.h" #include "mxomni.h" -#include +#include DECOMP_SIZE_ASSERT(MxMIDIManager, 0x58); @@ -13,7 +13,7 @@ MxMIDIManager::MxMIDIManager() // OFFSET: LEGO1 0x100c0630 MxMIDIManager::~MxMIDIManager() { - LockedReinitialize(1); + LockedReinitialize(TRUE); } // OFFSET: LEGO1 0x100c0b20 @@ -91,18 +91,19 @@ void MxMIDIManager::Destroy() // OFFSET: LEGO1 0x100c09a0 MxS32 MxMIDIManager::CalculateVolume(MxS32 p_volume) { - int result = (p_volume * 0xffff) / 100; + MxS32 result = (p_volume * 0xffff) / 100; return (result << 0x10) | result; } // OFFSET: LEGO1 0x100c07f0 void MxMIDIManager::SetMIDIVolume() { - int result = (this->m_volume * this->m_multiplier) / 0x64; + MxS32 result = (this->m_volume * this->m_multiplier) / 0x64; HMIDISTRM streamHandle = this->m_MIDIStreamH; + if (streamHandle) { - int volume = CalculateVolume(result); + MxS32 volume = CalculateVolume(result); midiOutSetVolume(streamHandle, volume); } } @@ -133,20 +134,20 @@ MxResult MxMIDIManager::StartMIDIThread(MxU32 p_frequencyMS, MxBool p_noRegister if (this->m_thread) { - if (this->m_thread->Start(0, 0) == FALSE) + if (this->m_thread->Start(0, 0) == SUCCESS) { - status = FALSE; + status = SUCCESS; } } } else { TickleManager()->RegisterClient(this, p_frequencyMS); - status = FALSE; + status = SUCCESS; } } - if (status != FALSE) + if (status != SUCCESS) { Destroy(); } @@ -155,5 +156,6 @@ MxResult MxMIDIManager::StartMIDIThread(MxU32 p_frequencyMS, MxBool p_noRegister { this->m_criticalSection.Leave(); } + return status; } \ No newline at end of file diff --git a/LEGO1/mxmidimanager.h b/LEGO1/mxmidimanager.h index dd4b7829..f944d67d 100644 --- a/LEGO1/mxmidimanager.h +++ b/LEGO1/mxmidimanager.h @@ -12,24 +12,24 @@ class MxMIDIManager : public MxAudioManager MxMIDIManager(); virtual ~MxMIDIManager() override; - void DeinitializeMIDI(); - MxS32 CalculateVolume(MxS32 p_volume); - void SetMIDIVolume(); - - virtual void Destroy(); // vtable+18 - virtual void SetVolume(MxS32 p_volume); // vtable+2c + virtual void Destroy() override; // vtable+18 + virtual void SetVolume(MxS32 p_volume) override; // vtable+2c virtual MxResult StartMIDIThread(MxU32 p_frequencyMS, MxU8 p_noRegister); // vtable+30 private: void LockedReinitialize(MxBool p_skipDestroy); + void DeinitializeMIDI(); + + MxS32 CalculateVolume(MxS32 p_volume); + void SetMIDIVolume(); HMIDISTRM m_MIDIStreamH; // 0x30 MxBool m_MIDIInitialized; // 0x34 - MxU32 m_unk38; // 0x38 - MxU32 m_unk3c; // 0x3c - MxU32 m_unk40; // 0x40 - MxU32 m_unk44; // 0x44 - MxU32 m_unk48; // 0x48 + undefined4 m_unk38; // 0x38 + undefined4 m_unk3c; // 0x3c + undefined4 m_unk40; // 0x40 + undefined4 m_unk44; // 0x44 + undefined4 m_unk48; // 0x48 MIDIHDR *m_MIDIHdrP; // 0x4c MxS32 m_multiplier; // 0x50 DWORD m_MIDIVolume; // 0x54