From 6cf4a6af6c1b24a1e684d6e42e585d56219028c2 Mon Sep 17 00:00:00 2001 From: Filip Gawin Date: Sun, 21 Jul 2019 12:36:30 +0200 Subject: [PATCH 1/2] Fix setting sampleIndex --- src/audio/AudioManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/audio/AudioManager.cpp b/src/audio/AudioManager.cpp index 368c08e8..0b1198ab 100644 --- a/src/audio/AudioManager.cpp +++ b/src/audio/AudioManager.cpp @@ -287,8 +287,8 @@ cAudioManager::AddSampleToRequestedQueue() calculatedVolume = m_sQueueSample.field_16 * (maxVolume - m_sQueueSample.m_bVolume); sampleIndex = m_bSampleRequestQueuesStatus[m_bActiveSampleQueue]; if(sampleIndex >= m_bActiveSamples) { - sampleIndex = *(&m_asSamples[1][26].field_91 + m_bActiveSamples + - 27 * m_bActiveSampleQueue); + sampleIndex = + m_abSampleQueueIndexTable[m_bActiveSampleQueue][m_bActiveSamples - 1]; if(m_asSamples[m_bActiveSampleQueue][sampleIndex].calculatedVolume <= calculatedVolume) return; From b00a92b20a9cd9dbe40ac561c6abddca523ee52e Mon Sep 17 00:00:00 2001 From: Filip Gawin Date: Sun, 21 Jul 2019 12:39:22 +0200 Subject: [PATCH 2/2] Try to fix rpg bug --- src/audio/AudioManager.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/audio/AudioManager.cpp b/src/audio/AudioManager.cpp index 0b1198ab..c0479002 100644 --- a/src/audio/AudioManager.cpp +++ b/src/audio/AudioManager.cpp @@ -172,9 +172,7 @@ cAudioManager::AddReflectionsToRequestedQueue() reflectionDistance = m_afReflectionsDistances[i]; if(reflectionDistance > 0.0f && reflectionDistance < 100.f && reflectionDistance < m_sQueueSample.m_fSoundIntensity) { - m_sQueueSample.m_bLoopsRemaining = - (reflectionDistance * - 0.38873f); // @todo assert value, here used from VC + m_sQueueSample.m_bLoopsRemaining = (reflectionDistance * 500.f / 1029.f); if(m_sQueueSample.m_bLoopsRemaining > 5u) { m_sQueueSample.m_fDistance = m_afReflectionsDistances[i]; m_sQueueSample.m_bEmittingVolume = emittingVolume;