diff --git a/src/OpenSHC/Audio/mss/SoundSystem/setStreamAndSampleVolumeUnk.cpp b/src/OpenSHC/Audio/mss/SoundSystem/setStreamAndSampleVolumeUnk.cpp new file mode 100644 index 0000000..44485ed --- /dev/null +++ b/src/OpenSHC/Audio/mss/SoundSystem/setStreamAndSampleVolumeUnk.cpp @@ -0,0 +1,29 @@ +#include "OpenSHC/Audio/mss/SoundSystem.func.hpp" + +namespace OpenSHC { +namespace Audio { + namespace MSS { + + // NOTE: + // Quick test showed usage for SND_STR_MUSIC (0) and SND_STR_SFX_2Unk (2), but this might be coincidental + // Test showed usage mostly for fading music out, during gameplay or during menu switches + + // FUNCTION: STRONGHOLDCRUSADER 0x00479AF0 + void SoundSystem::setStreamAndSampleVolumeUnk(SHC_SoundStreamInt sndStreamIndex, int volumeParam) + { + if (!(this->waveOutOpenUnk_0x8 && this->streamActiveUnk_0x20[sndStreamIndex])) { + return; + } + + if (sndStreamIndex == enums::SND_STR_MUSIC) { + AIL_set_sample_volume(this->musicSampleUnk_0x170, (this->streamVolume[0] * volumeParam) / 100); + } else { + AIL_set_stream_volume( + this->stream_0xc[sndStreamIndex], (this->streamVolume[sndStreamIndex] * volumeParam) / 100); + } + this->streamFileVolumeCurrentUnk_0x5c[sndStreamIndex] = volumeParam; + } + + } +} +} diff --git a/status/addresses-SHC-3BB0A8C1.txt b/status/addresses-SHC-3BB0A8C1.txt index f1a6853..050fc9d 100644 --- a/status/addresses-SHC-3BB0A8C1.txt +++ b/status/addresses-SHC-3BB0A8C1.txt @@ -10883,7 +10883,7 @@ SHC_3BB0A8C1_0x00479790 | 0.0% | Pending SHC_3BB0A8C1_0x004799A0 | 0.0% | Pending SHC_3BB0A8C1_0x00479A60 | 0.0% | Pending SHC_3BB0A8C1_0x00479AB0 | 0.0% | Pending -SHC_3BB0A8C1_0x00479AF0 | 0.0% | Pending +SHC_3BB0A8C1_0x00479AF0 | 100.0% | Reimplemented SHC_3BB0A8C1_0x00479B70 | 0.0% | Pending SHC_3BB0A8C1_0x00479C20 | 0.0% | Pending SHC_3BB0A8C1_0x00479C80 | 0.0% | Pending