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

View File

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