From a15d5589b360ff95dc42dbeda95910fa1c4b19ae Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Thu, 2 Sep 2021 18:49:49 +0300 Subject: [PATCH] Fix reflection counter --- src/audio/AudioManager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/audio/AudioManager.cpp b/src/audio/AudioManager.cpp index 12738c75..5d832698 100644 --- a/src/audio/AudioManager.cpp +++ b/src/audio/AudioManager.cpp @@ -723,6 +723,7 @@ cAudioManager::AddReflectionsToRequestedQueue() { float reflectionDistance; int32 noise; + uint32 oldCounter = m_sQueueSample.m_nCounter; uint8 emittingVolume = (m_sQueueSample.m_nVolume >> 1) + (m_sQueueSample.m_nVolume >> 3); for (uint32 i = 0; i < ARRAY_SIZE(m_afReflectionsDistances); i++) { @@ -734,7 +735,7 @@ cAudioManager::AddReflectionsToRequestedQueue() SET_EMITTING_VOLUME(emittingVolume); m_sQueueSample.m_nVolume = ComputeVolume(emittingVolume, m_sQueueSample.m_MaxDistance, m_sQueueSample.m_fDistance); if (m_sQueueSample.m_nVolume > emittingVolume >> 4) { - m_sQueueSample.m_nCounter += (i + 1) << 8; + m_sQueueSample.m_nCounter = oldCounter + ((i + 1) << 8); if (m_sQueueSample.m_nLoopCount > 0) { noise = RandomDisplacement(m_sQueueSample.m_nFrequency >> 5); if (noise > 0)