diff --git a/src/OpenSHC/Audio/mss/SoundSystem/meth_0x47b700.cpp b/src/OpenSHC/Audio/mss/SoundSystem/meth_0x47b700.cpp new file mode 100644 index 0000000..f59d3d1 --- /dev/null +++ b/src/OpenSHC/Audio/mss/SoundSystem/meth_0x47b700.cpp @@ -0,0 +1,35 @@ +#include "../SoundSystem.func.hpp" + +#include "OpenSHC/Audio/MSS/SoundFlagsAndLoopCountBitwiseFlagEnum.hpp" + +#include "OpenSHC/Globals/DAT_GameCore.hpp" +#include "OpenSHC/Globals/DAT_SFXDefinedData.hpp" + +namespace OpenSHC { +namespace Audio { + namespace MSS { + + // FUNCTION: STRONGHOLDCRUSADER 0x0047B700 + void SoundSystem::meth_0x47b700(char* param_1) + { + if (!this->waveOutOpenUnk_0x8) { + return; + } + if (this->streamActiveUnk_0x20[DAT_SFXDefinedData::instance.field7_0x4e4]) { + MACRO_CALL_MEMBER(SoundSystem_Func::endSoundStream, this)( + (SHC_SoundStream)DAT_SFXDefinedData::instance.field7_0x4e4); + } + SHC_SoundStream const soundStream = (SHC_SoundStream)DAT_SFXDefinedData::instance.field7_0x4e4; + this->streamFileVolumeNextUnk_0x48[3] = 100; + this->streamFileVolumeNextUnk_0x48[4] = 100; + if (DAT_GameCore::instance.currentMenuViewType == UI::Enums::MVT_UNUSED_EXTREME_AD) { + MACRO_CALL_MEMBER(SoundSystem_Func::playSoundStreamUnk, this)(soundStream, param_1, 1); + } else { + MACRO_CALL_MEMBER(SoundSystem_Func::playSoundStreamUnk, this)( + soundStream, param_1, FLAG_SOUND_UNKNOWN_FLAG_1 | 1); + } + } + } + +} +} diff --git a/status/addresses-SHC-3BB0A8C1.txt b/status/addresses-SHC-3BB0A8C1.txt index ae50397..7741831 100644 --- a/status/addresses-SHC-3BB0A8C1.txt +++ b/status/addresses-SHC-3BB0A8C1.txt @@ -10931,7 +10931,7 @@ SHC_3BB0A8C1_0x0047B590 | 100.0% | Reimplemented SHC_3BB0A8C1_0x0047B5C0 | 100.0% | Reimplemented SHC_3BB0A8C1_0x0047B5F0 | 100.0% | Reimplemented SHC_3BB0A8C1_0x0047B670 | 100.0% | Reimplemented -SHC_3BB0A8C1_0x0047B700 | 0.0% | Pending +SHC_3BB0A8C1_0x0047B700 | 100.0% | Reimplemented SHC_3BB0A8C1_0x0047B760 | 100.0% | Reimplemented SHC_3BB0A8C1_0x0047B7D0 | 100.0% | Reimplemented SHC_3BB0A8C1_0x0047B800 | 100.0% | Reimplemented