From b4c9d78eb48f0232cb4020969284bb2aad26b531 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sun, 4 Feb 2024 12:44:51 -0500 Subject: [PATCH] Minor fixes --- .../src/audio/lego3dwavepresenter.cpp | 3 +++ .../legoomni/src/audio/legosoundmanager.cpp | 6 ++--- .../src/audio/mxbackgroundaudiomanager.cpp | 23 +++++++++---------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/LEGO1/lego/legoomni/src/audio/lego3dwavepresenter.cpp b/LEGO1/lego/legoomni/src/audio/lego3dwavepresenter.cpp index 96fa7f2d..b4b0a26d 100644 --- a/LEGO1/lego/legoomni/src/audio/lego3dwavepresenter.cpp +++ b/LEGO1/lego/legoomni/src/audio/lego3dwavepresenter.cpp @@ -7,9 +7,11 @@ MxResult Lego3DWavePresenter::AddToManager() { MxResult result = MxWavePresenter::AddToManager(); MxWavePresenter::Init(); + if (MxOmni::IsSound3D()) { m_is3d = TRUE; } + return result; } @@ -30,6 +32,7 @@ void Lego3DWavePresenter::StartingTickle() if (MxOmni::IsSound3D()) { m_is3d = TRUE; } + MxWavePresenter::StartingTickle(); // TODO diff --git a/LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp b/LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp index 748eecdb..f0be968d 100644 --- a/LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp +++ b/LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp @@ -17,7 +17,7 @@ LegoSoundManager::~LegoSoundManager() // FUNCTION: LEGO1 0x100299a0 void LegoSoundManager::Init() { - m_unk0x40 = 0; + m_unk0x40 = NULL; m_listener = NULL; } @@ -43,7 +43,7 @@ MxResult LegoSoundManager::Create(MxU32 p_frequencyMS, MxBool p_createThread) locked = TRUE; if (MxOmni::IsSound3D()) { - if (m_dsBuffer->QueryInterface(IID_IDirectSound3DListener, (LPVOID*) &m_listener) != S_OK) { + if (m_dsBuffer->QueryInterface(IID_IDirectSound3DListener, (LPVOID*) &m_listener) != DS_OK) { goto done; } @@ -87,7 +87,7 @@ void LegoSoundManager::Destroy() // FUNCTION: LEGO1 0x1002a3a0 MxResult LegoSoundManager::Tickle() { - MxMediaManager::Tickle(); + MxSoundManager::Tickle(); MxAutoLocker lock(&m_criticalSection); return m_unk0x40->Tickle(); diff --git a/LEGO1/lego/legoomni/src/audio/mxbackgroundaudiomanager.cpp b/LEGO1/lego/legoomni/src/audio/mxbackgroundaudiomanager.cpp index 581d97c5..f04be02b 100644 --- a/LEGO1/lego/legoomni/src/audio/mxbackgroundaudiomanager.cpp +++ b/LEGO1/lego/legoomni/src/audio/mxbackgroundaudiomanager.cpp @@ -7,6 +7,7 @@ #include "mxpresenter.h" #include "mxstreamer.h" #include "mxticklemanager.h" +#include "mxutil.h" DECOMP_SIZE_ASSERT(MxBackgroundAudioManager, 0x150) @@ -161,26 +162,24 @@ void MxBackgroundAudioManager::FUN_1007ef40() // FUNCTION: LEGO1 0x1007f0e0 void MxBackgroundAudioManager::FadeInOrFadeOut() { - // This function probably is the fade in/out routine + MxS32 volume, compare; + if (m_unk0xa0 != NULL) { - undefined4 volume = m_unk0xa0->GetVolume(); - MxU32 compare = 30; - if (m_unk0x148 == 0) { + volume = m_unk0xa0->GetVolume(); + + if (m_unk0x148 != 0) { + compare = 30; + } + else { compare = m_targetVolume; } if (volume < compare) { - volume = m_unk0x140 + volume; - if (compare <= volume) { - volume = compare; - } + volume = Min(volume + m_unk0x140, compare); m_unk0xa0->SetVolume(volume); } else if (compare < volume) { - volume = volume - m_unk0x140; - if (volume <= compare) { - volume = compare; - } + volume = Max(volume - m_unk0x140, compare); m_unk0xa0->SetVolume(volume); } else {