diff --git a/Runtime/Audio/CSfxManager.cpp b/Runtime/Audio/CSfxManager.cpp index a0365c7f8..bfe278302 100644 --- a/Runtime/Audio/CSfxManager.cpp +++ b/Runtime/Audio/CSfxManager.cpp @@ -216,8 +216,7 @@ void CSfxManager::KillAll(ESfxChannels chan) for (auto it = chanObj.x48_handles.begin() ; it != chanObj.x48_handles.end() ;) { const CSfxHandle& handle = *it; - if (handle->IsPlaying()) - handle->Stop(); + handle->Stop(); handle->Release(); it = chanObj.x48_handles.erase(it); } @@ -392,8 +391,7 @@ void CSfxManager::StopSound(const CSfxHandle& handle) if (!handle) return; m_doUpdate = true; - if (handle->IsPlaying()) - handle->Stop(); + handle->Stop(); handle->Release(); CSfxChannel& chanObj = m_channels[int(m_currentChannel)]; chanObj.x48_handles.erase(handle); @@ -501,8 +499,7 @@ void CSfxManager::StopAndRemoveAllEmitters() for (auto it = chanObj.x48_handles.begin() ; it != chanObj.x48_handles.end() ;) { const CSfxHandle& handle = *it; - if (handle->IsPlaying()) - handle->Stop(); + handle->Stop(); handle->Release(); it = chanObj.x48_handles.erase(it); } @@ -708,6 +705,7 @@ void CSfxManager::Update(float dt) const CSfxHandle& handle = *it; if (!handle->IsPlaying() && !handle->IsLooped()) { + handle->Stop(); handle->Release(); m_doUpdate = true; it = chanObj.x48_handles.erase(it); diff --git a/amuse b/amuse index 89233e98b..2f4d0e754 160000 --- a/amuse +++ b/amuse @@ -1 +1 @@ -Subproject commit 89233e98b59e6e720641af2f6d5f2d29f9c79864 +Subproject commit 2f4d0e75410f10fbbdd3d732ad9fec80f19b6f1d diff --git a/hecl b/hecl index 9fa4daf59..3afe0163b 160000 --- a/hecl +++ b/hecl @@ -1 +1 @@ -Subproject commit 9fa4daf596c4a96a540aa15b85e55df7a1031c5c +Subproject commit 3afe0163bfa7265253b640701ec36c963230707a