Cleanup cAudioManager::ProcessVehicleSkidding
This commit is contained in:
parent
7ba5b3c353
commit
271517915f
@ -8865,8 +8865,8 @@ cAudioManager::ProcessVehicleSkidding(cVehicleParams *params)
|
|||||||
CAutomobile *automobile;
|
CAutomobile *automobile;
|
||||||
cTransmission *transmission;
|
cTransmission *transmission;
|
||||||
int32 emittingVol;
|
int32 emittingVol;
|
||||||
float newSkidVal = 0.f;
|
float newSkidVal = 0.0f;
|
||||||
float skidVal = 0.f;
|
float skidVal = 0.0f;
|
||||||
|
|
||||||
if (params->m_fDistance >= 1600.f)
|
if (params->m_fDistance >= 1600.f)
|
||||||
return;
|
return;
|
||||||
@ -8875,47 +8875,36 @@ cAudioManager::ProcessVehicleSkidding(cVehicleParams *params)
|
|||||||
return;
|
return;
|
||||||
CalculateDistance(params->m_bDistanceCalculated, params->m_fDistance);
|
CalculateDistance(params->m_bDistanceCalculated, params->m_fDistance);
|
||||||
for (int32 i = 0; i < ARRAY_SIZE(automobile->m_aWheelState); i++) {
|
for (int32 i = 0; i < ARRAY_SIZE(automobile->m_aWheelState); i++) {
|
||||||
if (!automobile->m_aWheelState[i] || automobile->Damage.GetWheelStatus(i) == WHEEL_STATUS_MISSING)
|
if (automobile->m_aWheelState[i] == WHEEL_STATE_NORMAL || automobile->Damage.GetWheelStatus(i) == WHEEL_STATUS_MISSING)
|
||||||
continue;
|
continue;
|
||||||
transmission = params->m_pTransmission;
|
transmission = params->m_pTransmission;
|
||||||
if (transmission->nDriveType == '4') {
|
switch (transmission->nDriveType)
|
||||||
|
{
|
||||||
|
case '4':
|
||||||
newSkidVal = GetVehicleDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
newSkidVal = GetVehicleDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
||||||
if (newSkidVal > skidVal)
|
break;
|
||||||
skidVal = newSkidVal;
|
case 'F':
|
||||||
continue;
|
if (i == CARWHEEL_FRONT_LEFT || i == CARWHEEL_FRONT_RIGHT)
|
||||||
}
|
newSkidVal = GetVehicleDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
||||||
if (transmission->nDriveType != 'F') {
|
else
|
||||||
if (transmission->nDriveType != 'R') {
|
|
||||||
if (newSkidVal > skidVal)
|
|
||||||
skidVal = newSkidVal;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (i != 1 && i != 3) {
|
|
||||||
newSkidVal = GetVehicleNonDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
newSkidVal = GetVehicleNonDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
||||||
if (newSkidVal > skidVal)
|
break;
|
||||||
skidVal = newSkidVal;
|
case 'R':
|
||||||
continue;
|
if (i == CARWHEEL_REAR_LEFT || i == CARWHEEL_REAR_RIGHT)
|
||||||
}
|
newSkidVal = GetVehicleDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
||||||
newSkidVal = GetVehicleDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
else
|
||||||
if (newSkidVal > skidVal)
|
newSkidVal = GetVehicleNonDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
||||||
skidVal = newSkidVal;
|
break;
|
||||||
continue;
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (i == 0 || i == 2) {
|
skidVal = Max(skidVal, newSkidVal);
|
||||||
newSkidVal = GetVehicleDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
|
||||||
if (newSkidVal > skidVal)
|
|
||||||
skidVal = newSkidVal;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
newSkidVal = GetVehicleNonDriveWheelSkidValue(i, automobile, transmission, params->m_fVelocityChange);
|
|
||||||
if (newSkidVal > skidVal)
|
|
||||||
skidVal = newSkidVal;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (skidVal > 0.0f) {
|
if (skidVal > 0.0f) {
|
||||||
emittingVol = 50.f * skidVal;
|
emittingVol = 50.f * skidVal;
|
||||||
m_sQueueSample.m_nVolume = ComputeVolume(emittingVol, 40.f, m_sQueueSample.m_fDistance);
|
m_sQueueSample.m_nVolume = ComputeVolume(emittingVol, 40.f, m_sQueueSample.m_fDistance);
|
||||||
if (m_sQueueSample.m_nVolume) {
|
if (m_sQueueSample.m_nVolume != 0) {
|
||||||
m_sQueueSample.m_nCounter = 3;
|
m_sQueueSample.m_nCounter = 3;
|
||||||
switch (params->m_pVehicle->m_nSurfaceTouched) {
|
switch (params->m_pVehicle->m_nSurfaceTouched) {
|
||||||
case SURFACE_GRASS:
|
case SURFACE_GRASS:
|
||||||
@ -9242,10 +9231,7 @@ cAudioManager::Service()
|
|||||||
void
|
void
|
||||||
cAudioManager::ServiceSoundEffects()
|
cAudioManager::ServiceSoundEffects()
|
||||||
{
|
{
|
||||||
if (m_FrameCounter++ % 5)
|
m_bFifthFrameFlag = (m_FrameCounter++ % 5) == 0;
|
||||||
m_bFifthFrameFlag = false;
|
|
||||||
else
|
|
||||||
m_bFifthFrameFlag = true;
|
|
||||||
if (m_nUserPause && !m_nPreviousUserPause) {
|
if (m_nUserPause && !m_nPreviousUserPause) {
|
||||||
for (int32 i = 0; i < allChannels; i++)
|
for (int32 i = 0; i < allChannels; i++)
|
||||||
SampleManager.StopChannel(i);
|
SampleManager.StopChannel(i);
|
||||||
|
Loading…
Reference in New Issue
Block a user