summaryrefslogtreecommitdiffstats
path: root/src/control
diff options
context:
space:
mode:
Diffstat (limited to 'src/control')
-rw-r--r--src/control/Garages.cpp6
-rw-r--r--src/control/Replay.cpp16
-rw-r--r--src/control/Script.cpp2
3 files changed, 15 insertions, 9 deletions
diff --git a/src/control/Garages.cpp b/src/control/Garages.cpp
index c9112f81..e1f06c97 100644
--- a/src/control/Garages.cpp
+++ b/src/control/Garages.cpp
@@ -1886,7 +1886,13 @@ CVehicle* CStoredCar::RestoreCar()
#ifdef FIX_BUGS
if (pVehicle->IsCar())
#endif
+ {
((CAutomobile*)pVehicle)->m_bombType = m_nCarBombType;
+#ifdef FIX_BUGS
+ if (m_nCarBombType != CARBOMB_NONE)
+ ((CAutomobile*)pVehicle)->m_pBombRigger = FindPlayerPed();
+#endif
+ }
pVehicle->bHasBeenOwnedByPlayer = true;
pVehicle->m_nDoorLock = CARLOCK_UNLOCKED;
pVehicle->bBulletProof = m_bBulletproof;
diff --git a/src/control/Replay.cpp b/src/control/Replay.cpp
index 8276f94a..f21703ac 100644
--- a/src/control/Replay.cpp
+++ b/src/control/Replay.cpp
@@ -744,7 +744,7 @@ void CReplay::ProcessCarUpdate(CVehicle *vehicle, float interpolation, CAddressI
car->Damage.SetDoorStatus(DOOR_FRONT_LEFT, DOOR_STATUS_SWINGING);
if (vp->door_angles[1])
car->Damage.SetDoorStatus(DOOR_FRONT_RIGHT, DOOR_STATUS_SWINGING);
- if (vp->door_status & 1 && car->Damage.GetDoorStatus(DOOR_BONNET) != DOOR_STATUS_MISSING){
+ if (vp->door_status & 1 && car->Damage.GetDoorStatus(DOOR_BONNET) != DOOR_STATUS_MISSING) {
car->Damage.SetDoorStatus(DOOR_BONNET, DOOR_STATUS_MISSING);
car->SetDoorDamage(CAR_BONNET, DOOR_BONNET, true);
}
@@ -768,14 +768,14 @@ void CReplay::ProcessCarUpdate(CVehicle *vehicle, float interpolation, CAddressI
car->Damage.SetDoorStatus(DOOR_REAR_RIGHT, DOOR_STATUS_MISSING);
car->SetDoorDamage(CAR_DOOR_RR, DOOR_REAR_RIGHT, true);
}
- vehicle->bEngineOn = true;
- if (vehicle->IsCar())
- ((CAutomobile*)vehicle)->m_nDriveWheelsOnGround = 4;
- CWorld::Remove(vehicle);
- CWorld::Add(vehicle);
- if (vehicle->IsBoat())
- ((CBoat*)vehicle)->m_bIsAnchored = false;
}
+ vehicle->bEngineOn = true;
+ if (vehicle->IsCar())
+ ((CAutomobile*)vehicle)->m_nDriveWheelsOnGround = 4;
+ CWorld::Remove(vehicle);
+ CWorld::Add(vehicle);
+ if (vehicle->IsBoat())
+ ((CBoat*)vehicle)->m_bIsAnchored = false;
}
bool CReplay::PlayBackThisFrameInterpolation(CAddressInReplayBuffer *buffer, float interpolation, uint32 *pTimer){
diff --git a/src/control/Script.cpp b/src/control/Script.cpp
index 793b61c3..ceecbeb3 100644
--- a/src/control/Script.cpp
+++ b/src/control/Script.cpp
@@ -9614,7 +9614,7 @@ int8 CRunningScript::ProcessCommands900To999(int32 command)
CBaseModelInfo* pInfo = CModelInfo::GetModelInfo(model);
script_assert(pInfo->GetModelType() == MITYPE_VEHICLE);
CVehicleModelInfo* pVehicleInfo = (CVehicleModelInfo*)pInfo;
- if (pVehicleInfo->m_vehicleType != VEHICLE_TYPE_CAR) {
+ if (pVehicleInfo->m_vehicleType == VEHICLE_TYPE_CAR) {
switch (model) {
case MI_LANDSTAL:
case MI_LINERUN: