CVehicle fixes and cleanup

This commit is contained in:
aap 2021-08-04 13:54:04 +02:00
parent 09748d094a
commit 4f461bd7be
2 changed files with 10 additions and 11 deletions

View File

@ -527,7 +527,8 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon
#ifdef FIX_BUGS
// contactSpeedFwd is independent of framerate but fwd has timestep as a factor
// so we probably have to fix this
fwd *= CTimer::GetTimeStepFix();
// better get rid of it here too
//fwd *= CTimer::GetTimeStepFix();
#endif
if(!bBraking){
@ -860,12 +861,11 @@ CVehicle::ProcessDelayedExplosion(void)
if(IsCar() && ((CAutomobile*)this)->m_bombType == CARBOMB_TIMEDACTIVE && (m_nBombTimer & 0xFE00) != (prev & 0xFE00))
DMAudio.PlayOneShot(m_audioEntityId, SOUND_CAR_BOMB_TICK, 0.0f);
if (m_nBombTimer != 0)
return;
if(FindPlayerVehicle() != this && m_pBlowUpEntity == FindPlayerPed())
CWorld::Players[CWorld::PlayerInFocus].AwardMoneyForExplosion(this);
BlowUpCar(m_pBlowUpEntity);
if (m_nBombTimer == 0){
if(FindPlayerVehicle() != this && m_pBlowUpEntity == FindPlayerPed())
CWorld::Players[CWorld::PlayerInFocus].AwardMoneyForExplosion(this);
BlowUpCar(m_pBlowUpEntity);
}
}
bool
@ -1207,7 +1207,7 @@ CVehicle::ProcessCarAlarm(void)
{
uint32 step;
if(!IsAlarmOn())
if(m_nAlarmState == 0 || m_nAlarmState == -1)
return;
step = CTimer::GetTimeStepInMilliseconds();

View File

@ -25,8 +25,7 @@ enum eCarLock {
CARLOCK_LOCKOUT_PLAYER_ONLY,
CARLOCK_LOCKED_PLAYER_INSIDE,
CARLOCK_LOCKED_INITIALLY,
CARLOCK_FORCE_SHUT_DOORS,
CARLOCK_SKIP_SHUT_DOORS
CARLOCK_FORCE_SHUT_DOORS
};
enum eDoors
@ -187,7 +186,7 @@ public:
uint8 m_bRainSamplesCounter;
uint8 m_nCarHornTimer;
uint8 m_nCarHornPattern; // last horn?
bool m_bSirenOrAlarm;
uint8 m_bSirenOrAlarm;
int8 m_comedyControlState;
CStoredCollPoly m_aCollPolys[2]; // poly which is under front/rear part of car
float m_fSteerInput;