mirror of
https://github.com/GTAmodding/re3.git
synced 2025-07-12 12:44:09 +00:00
Audio fixes
This commit is contained in:
parent
33fd33b03a
commit
32d3ea0a2d
3 changed files with 109 additions and 104 deletions
|
@ -4201,109 +4201,109 @@ cAudioManager::ProcessPedOneShots(cPedParams ¶ms)
|
|||
switch (sound) {
|
||||
case SOUND_STEP_START:
|
||||
case SOUND_STEP_END:
|
||||
if (!params.m_pPed->bIsLooking) {
|
||||
emittingVol = m_anRandomTable[3] % 15 + 45;
|
||||
if (FindPlayerPed() != m_asAudioEntities[m_sQueueSample.m_nEntityIndex].m_pEntity)
|
||||
emittingVol /= 2;
|
||||
maxDist = 400.f;
|
||||
switch (params.m_pPed->m_nSurfaceTouched) {
|
||||
case SURFACE_GRASS:
|
||||
sampleIndex = m_anRandomTable[1] % 5 + SFX_FOOTSTEP_GRASS_1;
|
||||
break;
|
||||
case SURFACE_GRAVEL:
|
||||
case SURFACE_MUD_DRY:
|
||||
sampleIndex = m_anRandomTable[4] % 5 + SFX_FOOTSTEP_GRAVEL_1;
|
||||
break;
|
||||
case SURFACE_CAR:
|
||||
case SURFACE_GARAGE_DOOR:
|
||||
case SURFACE_CAR_PANEL:
|
||||
case SURFACE_THICK_METAL_PLATE:
|
||||
case SURFACE_SCAFFOLD_POLE:
|
||||
case SURFACE_LAMP_POST:
|
||||
case SURFACE_FIRE_HYDRANT:
|
||||
case SURFACE_GIRDER:
|
||||
case SURFACE_METAL_CHAIN_FENCE:
|
||||
case SURFACE_CONTAINER:
|
||||
case SURFACE_NEWS_VENDOR:
|
||||
sampleIndex = m_anRandomTable[0] % 5 + SFX_FOOTSTEP_METAL_1;
|
||||
break;
|
||||
case SURFACE_SAND:
|
||||
sampleIndex = (m_anRandomTable[4] & 3) + SFX_FOOTSTEP_SAND_1;
|
||||
break;
|
||||
case SURFACE_WATER:
|
||||
sampleIndex = (m_anRandomTable[3] & 3) + SFX_FOOTSTEP_WATER_1;
|
||||
break;
|
||||
case SURFACE_WOOD_CRATES:
|
||||
case SURFACE_WOOD_BENCH:
|
||||
case SURFACE_WOOD_SOLID:
|
||||
sampleIndex = m_anRandomTable[2] % 5 + SFX_FOOTSTEP_WOOD_1;
|
||||
break;
|
||||
case SURFACE_HEDGE:
|
||||
sampleIndex = m_anRandomTable[2] % 5 + SFX_COL_VEG_1;
|
||||
break;
|
||||
default:
|
||||
sampleIndex = m_anRandomTable[2] % 5 + SFX_FOOTSTEP_CONCRETE_1;
|
||||
break;
|
||||
}
|
||||
m_sQueueSample.m_nSampleIndex = sampleIndex;
|
||||
m_sQueueSample.m_nBankIndex = SFX_BANK_0;
|
||||
m_sQueueSample.m_nCounter = m_asAudioEntities[m_sQueueSample.m_nEntityIndex].m_awAudioEvent[i] - 32;
|
||||
m_sQueueSample.m_nFrequency = SampleManager.GetSampleBaseFrequency(m_sQueueSample.m_nSampleIndex);
|
||||
m_sQueueSample.m_nFrequency += RandomDisplacement(m_sQueueSample.m_nFrequency / 17);
|
||||
switch (params.m_pPed->m_nMoveState) {
|
||||
case PEDMOVE_WALK:
|
||||
emittingVol /= 4;
|
||||
m_sQueueSample.m_nFrequency = 9 * m_sQueueSample.m_nFrequency / 10;
|
||||
break;
|
||||
case PEDMOVE_RUN:
|
||||
emittingVol /= 2;
|
||||
m_sQueueSample.m_nFrequency = 11 * m_sQueueSample.m_nFrequency / 10;
|
||||
break;
|
||||
case PEDMOVE_SPRINT:
|
||||
m_sQueueSample.m_nFrequency = 12 * m_sQueueSample.m_nFrequency / 10;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
m_sQueueSample.m_nReleasingVolumeModificator = 5;
|
||||
m_sQueueSample.m_fSpeedMultiplier = 0.0f;
|
||||
m_sQueueSample.m_fSoundIntensity = 20.0f;
|
||||
m_sQueueSample.m_nLoopCount = 1;
|
||||
m_sQueueSample.m_nLoopStart = 0;
|
||||
m_sQueueSample.m_nLoopEnd = -1;
|
||||
m_sQueueSample.m_nEmittingVolume = emittingVol;
|
||||
m_sQueueSample.m_bIs2D = false;
|
||||
m_sQueueSample.m_bReleasingSoundFlag = true;
|
||||
m_sQueueSample.m_bRequireReflection = true;
|
||||
if (params.m_pPed->bIsInTheAir)
|
||||
continue;
|
||||
emittingVol = m_anRandomTable[3] % 15 + 45;
|
||||
if (FindPlayerPed() != m_asAudioEntities[m_sQueueSample.m_nEntityIndex].m_pEntity)
|
||||
emittingVol /= 2;
|
||||
maxDist = 400.f;
|
||||
switch (params.m_pPed->m_nSurfaceTouched) {
|
||||
case SURFACE_GRASS:
|
||||
sampleIndex = m_anRandomTable[1] % 5 + SFX_FOOTSTEP_GRASS_1;
|
||||
break;
|
||||
case SURFACE_GRAVEL:
|
||||
case SURFACE_MUD_DRY:
|
||||
sampleIndex = m_anRandomTable[4] % 5 + SFX_FOOTSTEP_GRAVEL_1;
|
||||
break;
|
||||
case SURFACE_CAR:
|
||||
case SURFACE_GARAGE_DOOR:
|
||||
case SURFACE_CAR_PANEL:
|
||||
case SURFACE_THICK_METAL_PLATE:
|
||||
case SURFACE_SCAFFOLD_POLE:
|
||||
case SURFACE_LAMP_POST:
|
||||
case SURFACE_FIRE_HYDRANT:
|
||||
case SURFACE_GIRDER:
|
||||
case SURFACE_METAL_CHAIN_FENCE:
|
||||
case SURFACE_CONTAINER:
|
||||
case SURFACE_NEWS_VENDOR:
|
||||
sampleIndex = m_anRandomTable[0] % 5 + SFX_FOOTSTEP_METAL_1;
|
||||
break;
|
||||
case SURFACE_SAND:
|
||||
sampleIndex = (m_anRandomTable[4] & 3) + SFX_FOOTSTEP_SAND_1;
|
||||
break;
|
||||
case SURFACE_WATER:
|
||||
sampleIndex = (m_anRandomTable[3] & 3) + SFX_FOOTSTEP_WATER_1;
|
||||
break;
|
||||
case SURFACE_WOOD_CRATES:
|
||||
case SURFACE_WOOD_BENCH:
|
||||
case SURFACE_WOOD_SOLID:
|
||||
sampleIndex = m_anRandomTable[2] % 5 + SFX_FOOTSTEP_WOOD_1;
|
||||
break;
|
||||
case SURFACE_HEDGE:
|
||||
sampleIndex = m_anRandomTable[2] % 5 + SFX_COL_VEG_1;
|
||||
break;
|
||||
default:
|
||||
sampleIndex = m_anRandomTable[2] % 5 + SFX_FOOTSTEP_CONCRETE_1;
|
||||
break;
|
||||
}
|
||||
m_sQueueSample.m_nSampleIndex = sampleIndex;
|
||||
m_sQueueSample.m_nBankIndex = SFX_BANK_0;
|
||||
m_sQueueSample.m_nCounter = m_asAudioEntities[m_sQueueSample.m_nEntityIndex].m_awAudioEvent[i] - SOUND_STEP_START + 1;
|
||||
m_sQueueSample.m_nFrequency = SampleManager.GetSampleBaseFrequency(m_sQueueSample.m_nSampleIndex);
|
||||
m_sQueueSample.m_nFrequency += RandomDisplacement(m_sQueueSample.m_nFrequency / 17);
|
||||
switch (params.m_pPed->m_nMoveState) {
|
||||
case PEDMOVE_WALK:
|
||||
emittingVol /= 4;
|
||||
m_sQueueSample.m_nFrequency = 9 * m_sQueueSample.m_nFrequency / 10;
|
||||
break;
|
||||
case PEDMOVE_RUN:
|
||||
emittingVol /= 2;
|
||||
m_sQueueSample.m_nFrequency = 11 * m_sQueueSample.m_nFrequency / 10;
|
||||
break;
|
||||
case PEDMOVE_SPRINT:
|
||||
m_sQueueSample.m_nFrequency = 12 * m_sQueueSample.m_nFrequency / 10;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
m_sQueueSample.m_nReleasingVolumeModificator = 5;
|
||||
m_sQueueSample.m_fSpeedMultiplier = 0.0f;
|
||||
m_sQueueSample.m_fSoundIntensity = 20.0f;
|
||||
m_sQueueSample.m_nLoopCount = 1;
|
||||
m_sQueueSample.m_nLoopStart = 0;
|
||||
m_sQueueSample.m_nLoopEnd = -1;
|
||||
m_sQueueSample.m_nEmittingVolume = emittingVol;
|
||||
m_sQueueSample.m_bIs2D = false;
|
||||
m_sQueueSample.m_bReleasingSoundFlag = true;
|
||||
m_sQueueSample.m_bRequireReflection = true;
|
||||
break;
|
||||
case SOUND_FALL_LAND:
|
||||
case SOUND_FALL_COLLAPSE:
|
||||
if (!ped->bIsLooking) {
|
||||
maxDist = SQR(30);
|
||||
emittingVol = m_anRandomTable[3] % 20 + 80;
|
||||
if (ped->m_nSurfaceTouched == SURFACE_WATER) {
|
||||
m_sQueueSample.m_nSampleIndex = (m_anRandomTable[3] & 3) + SFX_FOOTSTEP_WATER_1;
|
||||
} else if (sound == SOUND_FALL_LAND) {
|
||||
m_sQueueSample.m_nSampleIndex = SFX_BODY_LAND;
|
||||
} else {
|
||||
m_sQueueSample.m_nSampleIndex = SFX_BODY_LAND_AND_FALL;
|
||||
}
|
||||
m_sQueueSample.m_nBankIndex = SFX_BANK_0;
|
||||
m_sQueueSample.m_nCounter = 1;
|
||||
m_sQueueSample.m_nFrequency = SampleManager.GetSampleBaseFrequency(m_sQueueSample.m_nSampleIndex);
|
||||
m_sQueueSample.m_nFrequency += RandomDisplacement(m_sQueueSample.m_nFrequency / 17);
|
||||
m_sQueueSample.m_nReleasingVolumeModificator = 2;
|
||||
m_sQueueSample.m_fSpeedMultiplier = 0.0f;
|
||||
m_sQueueSample.m_fSoundIntensity = 30.0f;
|
||||
m_sQueueSample.m_nLoopCount = 1;
|
||||
m_sQueueSample.m_nLoopStart = 0;
|
||||
m_sQueueSample.m_nLoopEnd = -1;
|
||||
m_sQueueSample.m_nEmittingVolume = emittingVol;
|
||||
m_sQueueSample.m_bIs2D = false;
|
||||
m_sQueueSample.m_bReleasingSoundFlag = true;
|
||||
m_sQueueSample.m_bRequireReflection = true;
|
||||
if (params.m_pPed->bIsInTheAir)
|
||||
continue;
|
||||
maxDist = SQR(30);
|
||||
emittingVol = m_anRandomTable[3] % 20 + 80;
|
||||
if (ped->m_nSurfaceTouched == SURFACE_WATER) {
|
||||
m_sQueueSample.m_nSampleIndex = (m_anRandomTable[3] & 3) + SFX_FOOTSTEP_WATER_1;
|
||||
} else if (sound == SOUND_FALL_LAND) {
|
||||
m_sQueueSample.m_nSampleIndex = SFX_BODY_LAND;
|
||||
} else {
|
||||
m_sQueueSample.m_nSampleIndex = SFX_BODY_LAND_AND_FALL;
|
||||
}
|
||||
m_sQueueSample.m_nBankIndex = SFX_BANK_0;
|
||||
m_sQueueSample.m_nCounter = 1;
|
||||
m_sQueueSample.m_nFrequency = SampleManager.GetSampleBaseFrequency(m_sQueueSample.m_nSampleIndex);
|
||||
m_sQueueSample.m_nFrequency += RandomDisplacement(m_sQueueSample.m_nFrequency / 17);
|
||||
m_sQueueSample.m_nReleasingVolumeModificator = 2;
|
||||
m_sQueueSample.m_fSpeedMultiplier = 0.0f;
|
||||
m_sQueueSample.m_fSoundIntensity = 30.0f;
|
||||
m_sQueueSample.m_nLoopCount = 1;
|
||||
m_sQueueSample.m_nLoopStart = 0;
|
||||
m_sQueueSample.m_nLoopEnd = -1;
|
||||
m_sQueueSample.m_nEmittingVolume = emittingVol;
|
||||
m_sQueueSample.m_bIs2D = false;
|
||||
m_sQueueSample.m_bReleasingSoundFlag = true;
|
||||
m_sQueueSample.m_bRequireReflection = true;
|
||||
break;
|
||||
case SOUND_FIGHT_37:
|
||||
m_sQueueSample.m_nSampleIndex = SFX_FIGHT_1;
|
||||
|
@ -4342,6 +4342,7 @@ cAudioManager::ProcessPedOneShots(cPedParams ¶ms)
|
|||
m_sQueueSample.m_nFrequency = 20000;
|
||||
goto AddFightSound;
|
||||
case SOUND_FIGHT_46:
|
||||
case SOUND_187:
|
||||
m_sQueueSample.m_nSampleIndex = SFX_FIGHT_5;
|
||||
m_sQueueSample.m_nFrequency = 18000;
|
||||
goto AddFightSound;
|
||||
|
@ -4461,7 +4462,7 @@ cAudioManager::ProcessPedOneShots(cPedParams ¶ms)
|
|||
continue;
|
||||
m_sQueueSample.m_nSampleIndex = SFX_CAR_ACCEL_13;
|
||||
m_sQueueSample.m_nBankIndex = SFX_BANK_0; // SFX_BANK_CAR_CHAINSAW
|
||||
m_sQueueSample.m_nCounter = 64;
|
||||
m_sQueueSample.m_nCounter = 70;
|
||||
m_sQueueSample.m_nFrequency = 27000;
|
||||
m_sQueueSample.m_nReleasingVolumeModificator = 3;
|
||||
m_sQueueSample.m_fSpeedMultiplier = 3.0f;
|
||||
|
@ -5159,7 +5160,7 @@ cAudioManager::ProcessPedOneShots(cPedParams ¶ms)
|
|||
m_sQueueSample.m_nReleasingVolumeDivider = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
continue;
|
||||
default:
|
||||
SetupPedComments(params, sound);
|
||||
continue;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue