diff options
Diffstat (limited to 'src/control')
-rw-r--r-- | src/control/Garages.cpp | 6 | ||||
-rw-r--r-- | src/control/Replay.cpp | 16 | ||||
-rw-r--r-- | src/control/Script.cpp | 2 |
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: |