From 24a7f108c8bc5bb00237d634a99740bbe6dfc8a1 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 1/2] reimplement: SHC_3BB0A8C1_0x00479AB0 100% --- .../SoundSystem/shouldSoundXNotBePlaying.cpp | 31 +++++++++++++++++++ status/addresses-SHC-3BB0A8C1.txt | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) 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/status/addresses-SHC-3BB0A8C1.txt b/status/addresses-SHC-3BB0A8C1.txt index 1a684d6..15461ae 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 From 82a7b24b5a31d3933b8d3ad96000a4670ec41696 Mon Sep 17 00:00:00 2001 From: TheRedDaemon <66257843+TheRedDaemon@users.noreply.github.com> Date: Mon, 8 Jun 2026 17:09:49 +0200 Subject: [PATCH 2/2] reimplement: SHC_3BB0A8C1_0x00479AB0 fix format --- .../Audio/mss/SoundSystem/shouldSoundXNotBePlaying.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/OpenSHC/Audio/mss/SoundSystem/shouldSoundXNotBePlaying.cpp b/src/OpenSHC/Audio/mss/SoundSystem/shouldSoundXNotBePlaying.cpp index 14c9317..bdc3e2c 100644 --- a/src/OpenSHC/Audio/mss/SoundSystem/shouldSoundXNotBePlaying.cpp +++ b/src/OpenSHC/Audio/mss/SoundSystem/shouldSoundXNotBePlaying.cpp @@ -1,6 +1,6 @@ -#include "OpenSHC/Audio/MSS/SoundSystem.hpp" +#include "../SoundSystem.func.hpp" -#include "OpenSHC/Audio/MSS/SoundSystem.func.hpp" +#include "OpenSHC/Audio/MSS/SoundSystem.hpp" #include "OpenSHC/Globals/DAT_GameState.hpp" #include "OpenSHC/Globals/DAT_GameSynchronyState.hpp"