summaryrefslogtreecommitdiffstats
path: root/src/audio/AudioLogic.cpp
diff options
context:
space:
mode:
authorRoman Masanin <36927roma@gmail.com>2020-09-26 19:24:25 +0200
committerRoman Masanin <36927roma@gmail.com>2020-09-26 19:24:25 +0200
commitc61160fee351f898e36e9db505787fac31ecdf9b (patch)
treee016b98db4679b013a90ce29663933d58d578f9d /src/audio/AudioLogic.cpp
parentcomplete cleanup heli and flatTyre (diff)
downloadre3-c61160fee351f898e36e9db505787fac31ecdf9b.tar
re3-c61160fee351f898e36e9db505787fac31ecdf9b.tar.gz
re3-c61160fee351f898e36e9db505787fac31ecdf9b.tar.bz2
re3-c61160fee351f898e36e9db505787fac31ecdf9b.tar.lz
re3-c61160fee351f898e36e9db505787fac31ecdf9b.tar.xz
re3-c61160fee351f898e36e9db505787fac31ecdf9b.tar.zst
re3-c61160fee351f898e36e9db505787fac31ecdf9b.zip
Diffstat (limited to 'src/audio/AudioLogic.cpp')
-rw-r--r--src/audio/AudioLogic.cpp96
1 files changed, 45 insertions, 51 deletions
diff --git a/src/audio/AudioLogic.cpp b/src/audio/AudioLogic.cpp
index 45f9b81b..b04030dc 100644
--- a/src/audio/AudioLogic.cpp
+++ b/src/audio/AudioLogic.cpp
@@ -2628,14 +2628,14 @@ cAudioManager::ProcessVehicleOneShots(cVehicleParams *params)
case SOUND_31:{
const float SOUND_INTENSITY = 35.0f;
relVol = ((CAutomobile*)params->m_pVehicle)->m_aWheelSpeed[1] * 50.0f / 11.0f;
- if (relVol < 0.2f || 1.0f == relVol)
+ if (relVol < 0.2f || relVol == 1.0f)
continue;
emittingVol = (1.0f - relVol) * 70.0f;
maxDist = SQR(SOUND_INTENSITY);
m_sQueueSample.m_nSampleIndex = SFX_CAR_HELI_ROT;
m_sQueueSample.m_nBankIndex = SFX_BANK_0;
m_sQueueSample.m_nCounter = heliIndex + 89;
- heliIndex = heliIndex != 1 ? heliIndex + 1 : 0;
+ heliIndex = heliIndex != 1 ? heliIndex + 1 : 0; //maybe better use 1 and 0, to avoid extreme values
m_sQueueSample.m_nFrequency = (8000.0f * relVol) + 16000;
m_sQueueSample.m_nFrequency += RandomDisplacement(m_sQueueSample.m_nFrequency / 32);
m_sQueueSample.m_nReleasingVolumeModificator = 2;
@@ -3028,12 +3028,6 @@ cAudioManager::ProcessBoatMovingOverWater(cVehicleParams *params)
return true;
}
-struct tHelicopterSampleData {
- float m_fMaxDistance;
- float m_fBaseDistance;
- uint8 m_bBaseVolume;
-};
-
void
cAudioManager::ProcessCarHeli(cVehicleParams* params)
{
@@ -3049,13 +3043,13 @@ cAudioManager::ProcessCarHeli(cVehicleParams* params)
int16 accelerateState;
uint32 freq;
float propellerSpeed;
- float freqModifier; //may be hieght
+ float freqModifier; //may be relate to angle with horison
float cameraAngle;
bool distanceCalculatedOld;
float distanceOld;
CVector vecPosOld;
- float volumeModifier;
+ float volumeModifier;//TODO find better name
bool hunterBool;
static uint32 freqFrontPrev = 14287;
@@ -4933,37 +4927,37 @@ CVector aVecExtraSoundPosition[] = { {-1042.546f, 88.793999f, 11.324f}, {-1004.4
void
cAudioManager::ProcessExtraSounds()
{
- const float extraSoundIntensity = 18.0f;
- const uint8 extraSoundVolume = 50;
+ const float SOUND_INTENSITY = 18.0f;
+ const uint8 EMITTING_VOLUME = 50;
float distance;
for (int i = 0; i < ARRAY_SIZE(aVecExtraSoundPosition); i++) {
m_sQueueSample.m_vecPos = aVecExtraSoundPosition[i];
distance = GetDistanceSquared(m_sQueueSample.m_vecPos);
- if (distance < SQR(extraSoundIntensity)) {
+ if (distance < SQR(SOUND_INTENSITY)) {
if (distance > 0.0)
m_sQueueSample.m_fDistance = Sqrt(distance);
else
m_sQueueSample.m_fDistance = 0.0f;
- m_sQueueSample.m_nVolume = ComputeVolume(extraSoundVolume, extraSoundIntensity, m_sQueueSample.m_fDistance);
+ m_sQueueSample.m_nVolume = ComputeVolume(EMITTING_VOLUME, SOUND_INTENSITY, m_sQueueSample.m_fDistance);
if (m_sQueueSample.m_nVolume != 0) {
- this->m_sQueueSample.m_nCounter = i;
- this->m_sQueueSample.m_nSampleIndex = SFX_ARCADE;
- this->m_sQueueSample.m_nBankIndex = SFX_BANK_0;
- this->m_sQueueSample.m_nFrequency = SampleManager.GetSampleBaseFrequency(SFX_ARCADE);
- this->m_sQueueSample.m_bIs2D = false;
- this->m_sQueueSample.m_nLoopCount = 0;
- this->m_sQueueSample.m_bReleasingSoundFlag = false;
- this->m_sQueueSample.m_nReleasingVolumeModificator = 4;
- this->m_sQueueSample.m_fSpeedMultiplier = 3.0f;
- this->m_sQueueSample.m_nEmittingVolume = extraSoundVolume;
- this->m_sQueueSample.m_nLoopStart = SampleManager.GetSampleLoopStartOffset(SFX_ARCADE);
- this->m_sQueueSample.m_nLoopEnd = SampleManager.GetSampleLoopEndOffset(SFX_ARCADE);
- this->m_sQueueSample.m_bReverbFlag = true;
- this->m_sQueueSample.m_fSoundIntensity = extraSoundIntensity;
- this->m_sQueueSample.m_bRequireReflection = false;
- this->m_sQueueSample.m_nReleasingVolumeDivider = 3;
+ m_sQueueSample.m_nCounter = i;
+ m_sQueueSample.m_nSampleIndex = SFX_ARCADE;
+ m_sQueueSample.m_nBankIndex = SFX_BANK_0;
+ m_sQueueSample.m_nFrequency = SampleManager.GetSampleBaseFrequency(SFX_ARCADE);
+ m_sQueueSample.m_bIs2D = false;
+ m_sQueueSample.m_nLoopCount = 0;
+ m_sQueueSample.m_bReleasingSoundFlag = false;
+ m_sQueueSample.m_nReleasingVolumeModificator = 4;
+ m_sQueueSample.m_fSpeedMultiplier = 3.0f;
+ m_sQueueSample.m_nEmittingVolume = EMITTING_VOLUME;
+ m_sQueueSample.m_nLoopStart = SampleManager.GetSampleLoopStartOffset(SFX_ARCADE);
+ m_sQueueSample.m_nLoopEnd = SampleManager.GetSampleLoopEndOffset(SFX_ARCADE);
+ m_sQueueSample.m_bReverbFlag = true;
+ m_sQueueSample.m_fSoundIntensity = SOUND_INTENSITY;
+ m_sQueueSample.m_bRequireReflection = false;
+ m_sQueueSample.m_nReleasingVolumeDivider = 3;
AddSampleToRequestedQueue();
}
}
@@ -4973,8 +4967,8 @@ cAudioManager::ProcessExtraSounds()
void
cAudioManager::ProcessEscalators()
{
- const float escalatorsSoundIntensity = 30.0f;
- const uint8 escalatorsSoundVolume = 26;
+ const float SOUND_INTENSITY = 30.0f;
+ const uint8 EMITTING_VOLUME = 26;
float distance;
@@ -4983,29 +4977,29 @@ cAudioManager::ProcessEscalators()
continue;
m_sQueueSample.m_vecPos = CEscalators::aEscalators[i].m_midPoint;
distance = GetDistanceSquared(m_sQueueSample.m_vecPos);
- if (distance < SQR(escalatorsSoundIntensity)) {
- if (distance > 0.0)
+ if (distance < SQR(SOUND_INTENSITY)) {
+ if (distance > 0.0f)
m_sQueueSample.m_fDistance = Sqrt(distance);
else
m_sQueueSample.m_fDistance = 0.0f;
- m_sQueueSample.m_nVolume = ComputeVolume(escalatorsSoundVolume, escalatorsSoundIntensity, m_sQueueSample.m_fDistance);
+ m_sQueueSample.m_nVolume = ComputeVolume(EMITTING_VOLUME, SOUND_INTENSITY, m_sQueueSample.m_fDistance);
if (m_sQueueSample.m_nVolume != 0) {
- this->m_sQueueSample.m_nSampleIndex = SFX_BOAT_V12_LOOP;
- this->m_sQueueSample.m_nBankIndex = SFX_BANK_0;
- this->m_sQueueSample.m_nFrequency = i * 50 % 250 + 3973;
- this->m_sQueueSample.m_nReleasingVolumeModificator = 3;
- this->m_sQueueSample.m_fSpeedMultiplier = 3.0f;
- this->m_sQueueSample.m_nReleasingVolumeDivider = 5;
- this->m_sQueueSample.m_fSoundIntensity = escalatorsSoundIntensity;
- this->m_sQueueSample.m_nCounter = i;
- this->m_sQueueSample.m_bIs2D = false;
- this->m_sQueueSample.m_nLoopCount = 0;
- this->m_sQueueSample.m_nEmittingVolume = escalatorsSoundVolume;
- this->m_sQueueSample.m_nLoopStart = SampleManager.GetSampleLoopStartOffset(SFX_BOAT_V12_LOOP);
- this->m_sQueueSample.m_nLoopEnd = SampleManager.GetSampleLoopEndOffset(SFX_BOAT_V12_LOOP);
- this->m_sQueueSample.m_bReverbFlag = true;
- this->m_sQueueSample.m_bReleasingSoundFlag = false;
- this->m_sQueueSample.m_bRequireReflection = false;
+ m_sQueueSample.m_nSampleIndex = SFX_BOAT_V12_LOOP;
+ m_sQueueSample.m_nBankIndex = SFX_BANK_0;
+ m_sQueueSample.m_nFrequency = i * 50 % 250 + 3973;
+ m_sQueueSample.m_nReleasingVolumeModificator = 3;
+ m_sQueueSample.m_fSpeedMultiplier = 3.0f;
+ m_sQueueSample.m_nReleasingVolumeDivider = 5;
+ m_sQueueSample.m_fSoundIntensity = SOUND_INTENSITY;
+ m_sQueueSample.m_nCounter = i;
+ m_sQueueSample.m_bIs2D = false;
+ m_sQueueSample.m_nLoopCount = 0;
+ m_sQueueSample.m_nEmittingVolume = EMITTING_VOLUME;
+ m_sQueueSample.m_nLoopStart = SampleManager.GetSampleLoopStartOffset(SFX_BOAT_V12_LOOP);
+ m_sQueueSample.m_nLoopEnd = SampleManager.GetSampleLoopEndOffset(SFX_BOAT_V12_LOOP);
+ m_sQueueSample.m_bReverbFlag = true;
+ m_sQueueSample.m_bReleasingSoundFlag = false;
+ m_sQueueSample.m_bRequireReflection = false;
AddSampleToRequestedQueue();
}
}