From 17401b4f3093d900406a8cc3a0408048d6becf70 Mon Sep 17 00:00:00 2001 From: TheRedDaemon <66257843+TheRedDaemon@users.noreply.github.com> Date: Fri, 15 May 2026 16:33:14 +0200 Subject: [PATCH] reimplement: SHC_3BB0A8C1_0x00479AB0 100% --- .../SoundSystem/shouldSoundXNotBePlaying.cpp | 31 +++++++++++++++++++ src/OpenSHC/Synchrony/GameSynchronyState.hpp | 1 - status/addresses-SHC-3BB0A8C1.txt | 2 +- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 src/OpenSHC/Audio/mss/SoundSystem/shouldSoundXNotBePlaying.cpp diff --git a/src/OpenSHC/Audio/mss/SoundSystem/shouldSoundXNotBePlaying.cpp b/src/OpenSHC/Audio/mss/SoundSystem/shouldSoundXNotBePlaying.cpp new file mode 100644 index 0000000..14c9317 --- /dev/null +++ b/src/OpenSHC/Audio/mss/SoundSystem/shouldSoundXNotBePlaying.cpp @@ -0,0 +1,31 @@ +#include "OpenSHC/Audio/MSS/SoundSystem.hpp" + +#include "OpenSHC/Audio/MSS/SoundSystem.func.hpp" + +#include "OpenSHC/Globals/DAT_GameState.hpp" +#include "OpenSHC/Globals/DAT_GameSynchronyState.hpp" + +namespace OpenSHC { +namespace Audio { + namespace MSS { + + // FUNCTION: STRONGHOLDCRUSADER 0x00479AB0 + BOOLEnum SoundSystem::shouldSoundXNotBePlaying() + { + if (DAT_GameState::ptr->playerDataArray[DAT_GameSynchronyState::ptr->currentPlayerSlotID] + .playerDeathRelated) { + return FALSE; + } + + if (MACRO_CALL_MEMBER(SoundSystem_Func::isSampleOrStreamPlaying, this)(enums::SND_STR_SPEECH_1)) { + return TRUE; + } + if (MACRO_CALL_MEMBER(SoundSystem_Func::isSampleOrStreamPlaying, this)(enums::SND_STR_SPEECH_2)) { + return TRUE; + } + return FALSE; + } + + } +} +} diff --git a/src/OpenSHC/Synchrony/GameSynchronyState.hpp b/src/OpenSHC/Synchrony/GameSynchronyState.hpp index 6f64989..3d72c31 100644 --- a/src/OpenSHC/Synchrony/GameSynchronyState.hpp +++ b/src/OpenSHC/Synchrony/GameSynchronyState.hpp @@ -30,7 +30,6 @@ #include "dplay.h" #include "dplobby.h" #include "guiddef.h" -#include "inaddr.h" #include "mbstring.h" #include "winnt.h" diff --git a/status/addresses-SHC-3BB0A8C1.txt b/status/addresses-SHC-3BB0A8C1.txt index 0522005..8ae95c6 100644 --- a/status/addresses-SHC-3BB0A8C1.txt +++ b/status/addresses-SHC-3BB0A8C1.txt @@ -10882,7 +10882,7 @@ SHC_3BB0A8C1_0x00479540 | 0.0% | Pending SHC_3BB0A8C1_0x00479790 | 0.0% | Pending SHC_3BB0A8C1_0x004799A0 | 0.0% | Pending SHC_3BB0A8C1_0x00479A60 | 100.0% | Reimplemented -SHC_3BB0A8C1_0x00479AB0 | 0.0% | Pending +SHC_3BB0A8C1_0x00479AB0 | 100.0% | Reimplemented SHC_3BB0A8C1_0x00479AF0 | 100.0% | Reimplemented SHC_3BB0A8C1_0x00479B70 | 0.0% | Pending SHC_3BB0A8C1_0x00479C20 | 0.0% | Pending