Merge pull request #514 from Nick007J/miami

remove ifdefs
This commit is contained in:
aap 2020-05-05 17:23:23 +02:00 committed by GitHub
commit 2c0b82ec1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 1 additions and 141 deletions

View File

@ -26,7 +26,6 @@ enum eCarMission : uint8
MISSION_BLOCKCAR_FARAWAY, MISSION_BLOCKCAR_FARAWAY,
MISSION_BLOCKCAR_CLOSE, MISSION_BLOCKCAR_CLOSE,
MISSION_BLOCKCAR_HANDBRAKESTOP, MISSION_BLOCKCAR_HANDBRAKESTOP,
#ifdef MIAMI
MISSION_HELI_FLYTOCOORS, MISSION_HELI_FLYTOCOORS,
MISSION_ATTACKPLAYER, MISSION_ATTACKPLAYER,
MISSION_PLANE_FLYTOCOORS, MISSION_PLANE_FLYTOCOORS,
@ -34,7 +33,6 @@ enum eCarMission : uint8
MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_1, MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_1,
MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_2, MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_2,
MISSION_BLOCKPLAYER_FORWARDANDBACK MISSION_BLOCKPLAYER_FORWARDANDBACK
#endif
}; };
enum eCarTempAction : uint8 enum eCarTempAction : uint8
@ -84,18 +82,14 @@ public:
uint32 m_nTimeTempAction; uint32 m_nTimeTempAction;
float m_fMaxTrafficSpeed; float m_fMaxTrafficSpeed;
uint8 m_nCruiseSpeed; uint8 m_nCruiseSpeed;
#ifdef MIAMI
uint8 m_nCruiseSpeedMultiplierType; uint8 m_nCruiseSpeedMultiplierType;
float m_fCruiseSpeedMultiplier; float m_fCruiseSpeedMultiplier;
#endif
uint8 m_bSlowedDownBecauseOfCars : 1; uint8 m_bSlowedDownBecauseOfCars : 1;
uint8 m_bSlowedDownBecauseOfPeds : 1; uint8 m_bSlowedDownBecauseOfPeds : 1;
uint8 m_bStayInCurrentLevel : 1; uint8 m_bStayInCurrentLevel : 1;
uint8 m_bStayInFastLane : 1; uint8 m_bStayInFastLane : 1;
uint8 m_bIgnorePathfinding : 1; uint8 m_bIgnorePathfinding : 1;
#ifdef MIAMI
uint8 m_nSwitchDistance; uint8 m_nSwitchDistance;
#endif
CVector m_vecDestinationCoors; CVector m_vecDestinationCoors;
CPathNode *m_aPathFindNodesInfo[NUM_PATH_NODES_IN_AUTOPILOT]; CPathNode *m_aPathFindNodesInfo[NUM_PATH_NODES_IN_AUTOPILOT];
int16 m_nPathFindNodesCount; int16 m_nPathFindNodesCount;
@ -125,10 +119,8 @@ public:
m_nTimeToStartMission = CTimer::GetTimeInMilliseconds(); m_nTimeToStartMission = CTimer::GetTimeInMilliseconds();
m_nAntiReverseTimer = m_nTimeToStartMission; m_nAntiReverseTimer = m_nTimeToStartMission;
m_bStayInFastLane = false; m_bStayInFastLane = false;
#ifdef MIAMI
m_nCruiseSpeedMultiplierType = 0; m_nCruiseSpeedMultiplierType = 0;
m_fCruiseSpeedMultiplier = 1.0f; m_fCruiseSpeedMultiplier = 1.0f;
#endif
} }
void ModifySpeed(float); void ModifySpeed(float);

View File

@ -24,11 +24,7 @@
//--MIAMI: done //--MIAMI: done
float CCarAI::FindSwitchDistanceClose(CVehicle* pVehicle) float CCarAI::FindSwitchDistanceClose(CVehicle* pVehicle)
{ {
#ifndef MIAMI
return 30.0f;
#else
return pVehicle->AutoPilot.m_nSwitchDistance; return pVehicle->AutoPilot.m_nSwitchDistance;
#endif
} }
//--MIAMI: done //--MIAMI: done
@ -45,7 +41,6 @@ float CCarAI::FindSwitchDistanceFar(CVehicle* pVehicle)
return FindSwitchDistanceFarNormalVehicle(pVehicle); return FindSwitchDistanceFarNormalVehicle(pVehicle);
} }
#ifdef MIAMI
//--MIAMI: done //--MIAMI: done
void CCarAI::BackToCruisingIfNoWantedLevel(CVehicle* pVehicle) void CCarAI::BackToCruisingIfNoWantedLevel(CVehicle* pVehicle)
{ {
@ -59,7 +54,6 @@ void CCarAI::BackToCruisingIfNoWantedLevel(CVehicle* pVehicle)
pVehicle->AutoPilot.m_nCarMission = MISSION_NONE; pVehicle->AutoPilot.m_nCarMission = MISSION_NONE;
} }
} }
#endif
//--MIAMI: done //--MIAMI: done
void CCarAI::UpdateCarAI(CVehicle* pVehicle) void CCarAI::UpdateCarAI(CVehicle* pVehicle)
@ -148,24 +142,9 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
pVehicle->m_bSirenOrAlarm = false; pVehicle->m_bSirenOrAlarm = false;
pVehicle->m_nCarHornTimer = 0; pVehicle->m_nCarHornTimer = 0;
} }
#ifdef MIAMI
if (pVehicle->bIsLawEnforcer) if (pVehicle->bIsLawEnforcer)
MellowOutChaseSpeed(pVehicle); MellowOutChaseSpeed(pVehicle);
BackToCruisingIfNoWantedLevel(pVehicle); BackToCruisingIfNoWantedLevel(pVehicle);
#else
if (FindPlayerPed()->m_pWanted->m_bIgnoredByEveryone || pVehicle->bIsLawEnforcer &&
(FindPlayerPed()->m_pWanted->m_nWantedLevel == 0 || FindPlayerPed()->m_pWanted->m_bIgnoredByCops || CCullZones::NoPolice())){
CCarCtrl::JoinCarWithRoadSystem(pVehicle);
pVehicle->AutoPilot.m_nCarMission = MISSION_CRUISE;
pVehicle->AutoPilot.m_nDrivingStyle = DRIVINGSTYLE_STOP_FOR_CARS;
pVehicle->m_bSirenOrAlarm = false;
if (CCullZones::NoPolice())
pVehicle->AutoPilot.m_nCarMission = MISSION_NONE;
}
else if (pVehicle->bIsLawEnforcer)
MellowOutChaseSpeed(pVehicle);
#endif
break; break;
case MISSION_BLOCKPLAYER_FARAWAY: case MISSION_BLOCKPLAYER_FARAWAY:
if (FindSwitchDistanceClose(pVehicle) > (FindPlayerCoors() - pVehicle->GetPosition()).Magnitude2D() || if (FindSwitchDistanceClose(pVehicle) > (FindPlayerCoors() - pVehicle->GetPosition()).Magnitude2D() ||
@ -174,19 +153,7 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
if (pVehicle->UsesSiren(pVehicle->GetModelIndex())) if (pVehicle->UsesSiren(pVehicle->GetModelIndex()))
pVehicle->m_bSirenOrAlarm = true; pVehicle->m_bSirenOrAlarm = true;
} }
#ifndef MIAMI
if (FindPlayerPed()->m_pWanted->m_bIgnoredByEveryone || pVehicle->bIsLawEnforcer &&
(FindPlayerPed()->m_pWanted->m_nWantedLevel == 0 || FindPlayerPed()->m_pWanted->m_bIgnoredByCops || CCullZones::NoPolice())) {
CCarCtrl::JoinCarWithRoadSystem(pVehicle);
pVehicle->AutoPilot.m_nCarMission = MISSION_CRUISE;
pVehicle->AutoPilot.m_nDrivingStyle = DRIVINGSTYLE_STOP_FOR_CARS;
pVehicle->m_bSirenOrAlarm = false;
if (CCullZones::NoPolice())
pVehicle->AutoPilot.m_nCarMission = MISSION_NONE;
}
#else
BackToCruisingIfNoWantedLevel(pVehicle); BackToCruisingIfNoWantedLevel(pVehicle);
#endif
break; break;
case MISSION_BLOCKPLAYER_CLOSE: case MISSION_BLOCKPLAYER_CLOSE:
if (FindSwitchDistanceFar(pVehicle) >= (FindPlayerCoors() - pVehicle->GetPosition()).Magnitude2D() || if (FindSwitchDistanceFar(pVehicle) >= (FindPlayerCoors() - pVehicle->GetPosition()).Magnitude2D() ||
@ -216,30 +183,12 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
pVehicle->m_bSirenOrAlarm = false; pVehicle->m_bSirenOrAlarm = false;
pVehicle->m_nCarHornTimer = 0; pVehicle->m_nCarHornTimer = 0;
} }
#ifdef MIAMI
if (pVehicle->bIsLawEnforcer) if (pVehicle->bIsLawEnforcer)
MellowOutChaseSpeed(pVehicle); MellowOutChaseSpeed(pVehicle);
BackToCruisingIfNoWantedLevel(pVehicle); BackToCruisingIfNoWantedLevel(pVehicle);
#else
if (FindPlayerPed()->m_pWanted->m_bIgnoredByEveryone || pVehicle->bIsLawEnforcer &&
(FindPlayerPed()->m_pWanted->m_nWantedLevel == 0 || FindPlayerPed()->m_pWanted->m_bIgnoredByCops || CCullZones::NoPolice())) {
CCarCtrl::JoinCarWithRoadSystem(pVehicle);
pVehicle->AutoPilot.m_nCarMission = MISSION_CRUISE;
pVehicle->AutoPilot.m_nDrivingStyle = DRIVINGSTYLE_STOP_FOR_CARS;
pVehicle->m_bSirenOrAlarm = false;
if (CCullZones::NoPolice())
pVehicle->AutoPilot.m_nCarMission = MISSION_NONE;
}
if (pVehicle->bIsLawEnforcer)
MellowOutChaseSpeed(pVehicle);
#endif
break; break;
case MISSION_GOTOCOORDS: case MISSION_GOTOCOORDS:
#ifdef MIAMI
if ((pVehicle->AutoPilot.m_vecDestinationCoors - pVehicle->GetPosition()).Magnitude2D() < FindSwitchDistanceClose(pVehicle) || if ((pVehicle->AutoPilot.m_vecDestinationCoors - pVehicle->GetPosition()).Magnitude2D() < FindSwitchDistanceClose(pVehicle) ||
#else
if ((pVehicle->AutoPilot.m_vecDestinationCoors - pVehicle->GetPosition()).Magnitude2D() < DISTANCE_TO_SWITCH_DISTANCE_GOTO ||
#endif
pVehicle->AutoPilot.m_bIgnorePathfinding) pVehicle->AutoPilot.m_bIgnorePathfinding)
pVehicle->AutoPilot.m_nCarMission = MISSION_GOTOCOORDS_STRAIGHT; pVehicle->AutoPilot.m_nCarMission = MISSION_GOTOCOORDS_STRAIGHT;
break; break;
@ -251,12 +200,10 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
if (distance < 5.0f){ if (distance < 5.0f){
pVehicle->AutoPilot.m_nCarMission = MISSION_NONE; pVehicle->AutoPilot.m_nCarMission = MISSION_NONE;
pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE; pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE;
#ifdef MIAMI
if (pVehicle->bParking) { if (pVehicle->bParking) {
TellOccupantsToLeaveCar(pVehicle); TellOccupantsToLeaveCar(pVehicle);
pVehicle->bParking = false; pVehicle->bParking = false;
} }
#endif
} }
else if (distance > FindSwitchDistanceFarNormalVehicle(pVehicle) && !pVehicle->AutoPilot.m_bIgnorePathfinding && (CTimer::GetFrameCounter() & 7) == 0){ else if (distance > FindSwitchDistanceFarNormalVehicle(pVehicle) && !pVehicle->AutoPilot.m_bIgnorePathfinding && (CTimer::GetFrameCounter() & 7) == 0){
pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE; pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE;
@ -313,12 +260,10 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
if (distance < 1.0f) { if (distance < 1.0f) {
pVehicle->AutoPilot.m_nCarMission = MISSION_NONE; pVehicle->AutoPilot.m_nCarMission = MISSION_NONE;
pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE; pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE;
#ifdef MIAMI
if (pVehicle->bParking) { if (pVehicle->bParking) {
TellOccupantsToLeaveCar(pVehicle); TellOccupantsToLeaveCar(pVehicle);
pVehicle->bParking = false; pVehicle->bParking = false;
} }
#endif
} }
else if (distance > FindSwitchDistanceFarNormalVehicle(pVehicle) && !pVehicle->AutoPilot.m_bIgnorePathfinding && (CTimer::GetFrameCounter() & 7) == 0) { else if (distance > FindSwitchDistanceFarNormalVehicle(pVehicle) && !pVehicle->AutoPilot.m_bIgnorePathfinding && (CTimer::GetFrameCounter() & 7) == 0) {
pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE; pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE;
@ -338,30 +283,10 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
break; break;
case MISSION_RAMCAR_CLOSE: case MISSION_RAMCAR_CLOSE:
if (pVehicle->AutoPilot.m_pTargetCar){ if (pVehicle->AutoPilot.m_pTargetCar){
#ifndef MIAMI
if
#ifdef FIX_BUGS
(FindPlayerVehicle() == pVehicle->AutoPilot.m_pTargetCar &&
#endif
(FindPlayerPed()->m_pWanted->m_bIgnoredByEveryone || pVehicle->bIsLawEnforcer &&
(FindPlayerPed()->m_pWanted->m_nWantedLevel == 0 || FindPlayerPed()->m_pWanted->m_bIgnoredByCops || CCullZones::NoPolice()))
#ifdef FIX_BUGS
)
#endif
{
CCarCtrl::JoinCarWithRoadSystem(pVehicle);
pVehicle->AutoPilot.m_nCarMission = MISSION_CRUISE;
pVehicle->AutoPilot.m_nDrivingStyle = DRIVINGSTYLE_STOP_FOR_CARS;
pVehicle->m_bSirenOrAlarm = false;
if (CCullZones::NoPolice())
pVehicle->AutoPilot.m_nCarMission = MISSION_NONE;
}
#else
#ifdef FIX_BUGS // btw fixed in SA #ifdef FIX_BUGS // btw fixed in SA
if (FindPlayerVehicle() == pVehicle->AutoPilot.m_pTargetCar) if (FindPlayerVehicle() == pVehicle->AutoPilot.m_pTargetCar)
#endif #endif
BackToCruisingIfNoWantedLevel(pVehicle); BackToCruisingIfNoWantedLevel(pVehicle);
#endif
if ((pVehicle->AutoPilot.m_pTargetCar->GetPosition() - pVehicle->GetPosition()).Magnitude2D() <= FindSwitchDistanceFar(pVehicle) || if ((pVehicle->AutoPilot.m_pTargetCar->GetPosition() - pVehicle->GetPosition()).Magnitude2D() <= FindSwitchDistanceFar(pVehicle) ||
pVehicle->AutoPilot.m_bIgnorePathfinding){ pVehicle->AutoPilot.m_bIgnorePathfinding){
if (pVehicle->GetHasCollidedWith(pVehicle->AutoPilot.m_pTargetCar)){ if (pVehicle->GetHasCollidedWith(pVehicle->AutoPilot.m_pTargetCar)){
@ -403,7 +328,6 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
pVehicle->AutoPilot.m_nCarMission = MISSION_NONE; pVehicle->AutoPilot.m_nCarMission = MISSION_NONE;
} }
break; break;
#ifdef MIAMI
case MISSION_ATTACKPLAYER: case MISSION_ATTACKPLAYER:
if (pVehicle->bIsLawEnforcer) if (pVehicle->bIsLawEnforcer)
MellowOutChaseSpeedBoat(pVehicle); MellowOutChaseSpeedBoat(pVehicle);
@ -438,7 +362,6 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
pVehicle->AutoPilot.m_nCarMission = MISSION_BLOCKPLAYER_CLOSE; pVehicle->AutoPilot.m_nCarMission = MISSION_BLOCKPLAYER_CLOSE;
BackToCruisingIfNoWantedLevel(pVehicle); BackToCruisingIfNoWantedLevel(pVehicle);
} }
#endif
default: default:
if (pVehicle->bIsLawEnforcer && FindPlayerPed()->m_pWanted->m_nWantedLevel > 0 && !CCullZones::NoPolice()){ if (pVehicle->bIsLawEnforcer && FindPlayerPed()->m_pWanted->m_nWantedLevel > 0 && !CCullZones::NoPolice()){
if (ABS(FindPlayerCoors().x - pVehicle->GetPosition().x) > 10.0f || if (ABS(FindPlayerCoors().x - pVehicle->GetPosition().x) > 10.0f ||
@ -446,10 +369,7 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
pVehicle->AutoPilot.m_nCruiseSpeed = FindPoliceCarSpeedForWantedLevel(pVehicle); pVehicle->AutoPilot.m_nCruiseSpeed = FindPoliceCarSpeedForWantedLevel(pVehicle);
pVehicle->SetStatus(STATUS_PHYSICS); pVehicle->SetStatus(STATUS_PHYSICS);
pVehicle->AutoPilot.m_nCarMission = pVehicle->AutoPilot.m_nCarMission =
#ifdef MIAMI pVehicle->GetVehicleAppearance() == VEHICLE_BOAT ? FindPoliceBoatMissionForWantedLevel() : FindPoliceCarMissionForWantedLevel();
pVehicle->GetVehicleAppearance() == VEHICLE_BOAT ? FindPoliceBoatMissionForWantedLevel() :
#endif
FindPoliceCarMissionForWantedLevel();
pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE; pVehicle->AutoPilot.m_nTempAction = TEMPACT_NONE;
pVehicle->AutoPilot.m_nDrivingStyle = DRIVINGSTYLE_AVOID_CARS; pVehicle->AutoPilot.m_nDrivingStyle = DRIVINGSTYLE_AVOID_CARS;
}else if (pVehicle->AutoPilot.m_nCarMission == MISSION_CRUISE){ }else if (pVehicle->AutoPilot.m_nCarMission == MISSION_CRUISE){
@ -470,13 +390,11 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
pVehicle->AutoPilot.m_nCruiseSpeed = 0; pVehicle->AutoPilot.m_nCruiseSpeed = 0;
break; break;
} }
#ifdef MIAMI
if (pVehicle->bIsLawEnforcer && FindPlayerPed()->m_pWanted->m_nWantedLevel >= 1 && CCullZones::PoliceAbandonCars()) { if (pVehicle->bIsLawEnforcer && FindPlayerPed()->m_pWanted->m_nWantedLevel >= 1 && CCullZones::PoliceAbandonCars()) {
TellOccupantsToLeaveCar(pVehicle); TellOccupantsToLeaveCar(pVehicle);
pVehicle->AutoPilot.m_nCruiseSpeed = 0; pVehicle->AutoPilot.m_nCruiseSpeed = 0;
pVehicle->AutoPilot.m_nCarMission = MISSION_NONE; pVehicle->AutoPilot.m_nCarMission = MISSION_NONE;
} }
#endif
float flatSpeed = pVehicle->GetMoveSpeed().MagnitudeSqr2D(); float flatSpeed = pVehicle->GetMoveSpeed().MagnitudeSqr2D();
if (flatSpeed > SQR(0.018f)){ if (flatSpeed > SQR(0.018f)){
pVehicle->AutoPilot.m_nTimeToStartMission = CTimer::GetTimeInMilliseconds(); pVehicle->AutoPilot.m_nTimeToStartMission = CTimer::GetTimeInMilliseconds();
@ -485,16 +403,12 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
if (pVehicle->GetStatus() == STATUS_PHYSICS && pVehicle->AutoPilot.m_nTempAction == TEMPACT_NONE){ if (pVehicle->GetStatus() == STATUS_PHYSICS && pVehicle->AutoPilot.m_nTempAction == TEMPACT_NONE){
if (pVehicle->AutoPilot.m_nCarMission != MISSION_NONE){ if (pVehicle->AutoPilot.m_nCarMission != MISSION_NONE){
if (pVehicle->AutoPilot.m_nCarMission != MISSION_STOP_FOREVER && if (pVehicle->AutoPilot.m_nCarMission != MISSION_STOP_FOREVER &&
#ifdef MIAMI
pVehicle->AutoPilot.m_nCarMission != MISSION_BLOCKPLAYER_HANDBRAKESTOP && pVehicle->AutoPilot.m_nCarMission != MISSION_BLOCKPLAYER_HANDBRAKESTOP &&
#endif
pVehicle->AutoPilot.m_nCruiseSpeed != 0 && pVehicle->AutoPilot.m_nCruiseSpeed != 0 &&
(pVehicle->VehicleCreatedBy != RANDOM_VEHICLE || pVehicle->AutoPilot.m_nCarMission != MISSION_CRUISE)){ (pVehicle->VehicleCreatedBy != RANDOM_VEHICLE || pVehicle->AutoPilot.m_nCarMission != MISSION_CRUISE)){
if (pVehicle->AutoPilot.m_nDrivingStyle != DRIVINGSTYLE_STOP_FOR_CARS if (pVehicle->AutoPilot.m_nDrivingStyle != DRIVINGSTYLE_STOP_FOR_CARS
#ifdef MIAMI
&& pVehicle->AutoPilot.m_nDrivingStyle != DRIVINGSTYLE_STOP_FOR_CARS_IGNORE_LIGHTS || && pVehicle->AutoPilot.m_nDrivingStyle != DRIVINGSTYLE_STOP_FOR_CARS_IGNORE_LIGHTS ||
pVehicle->VehicleCreatedBy == MISSION_VEHICLE pVehicle->VehicleCreatedBy == MISSION_VEHICLE
#endif
) { ) {
if (CTimer::GetTimeInMilliseconds() - pVehicle->m_nLastTimeCollided > 500) if (CTimer::GetTimeInMilliseconds() - pVehicle->m_nLastTimeCollided > 500)
pVehicle->AutoPilot.m_nAntiReverseTimer = CTimer::GetTimeInMilliseconds(); pVehicle->AutoPilot.m_nAntiReverseTimer = CTimer::GetTimeInMilliseconds();
@ -526,7 +440,6 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
pVehicle->AutoPilot.m_nTimeTempAction = CTimer::GetTimeInMilliseconds() + 400; pVehicle->AutoPilot.m_nTimeTempAction = CTimer::GetTimeInMilliseconds() + 400;
} }
} }
#ifdef MIAMI
if (pVehicle->bIsLawEnforcer) { if (pVehicle->bIsLawEnforcer) {
if (pVehicle->AutoPilot.m_nCarMission == MISSION_RAMPLAYER_FARAWAY || if (pVehicle->AutoPilot.m_nCarMission == MISSION_RAMPLAYER_FARAWAY ||
pVehicle->AutoPilot.m_nCarMission == MISSION_RAMPLAYER_CLOSE) { pVehicle->AutoPilot.m_nCarMission == MISSION_RAMPLAYER_CLOSE) {
@ -534,7 +447,6 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
pVehicle->AutoPilot.m_nCarMission = MISSION_BLOCKPLAYER_FARAWAY; pVehicle->AutoPilot.m_nCarMission = MISSION_BLOCKPLAYER_FARAWAY;
} }
} }
#endif
if (pVehicle->GetUp().z < 0.7f){ if (pVehicle->GetUp().z < 0.7f){
pVehicle->AutoPilot.m_nTempAction = TEMPACT_WAIT; pVehicle->AutoPilot.m_nTempAction = TEMPACT_WAIT;
pVehicle->AutoPilot.m_nTimeTempAction = CTimer::GetTimeInMilliseconds() + 1000; pVehicle->AutoPilot.m_nTimeTempAction = CTimer::GetTimeInMilliseconds() + 1000;
@ -574,7 +486,6 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
if ((uint8)(pVehicle->m_randomSeed ^ CGeneral::GetRandomNumber()) == 0xAD) if ((uint8)(pVehicle->m_randomSeed ^ CGeneral::GetRandomNumber()) == 0xAD)
pVehicle->m_nCarHornTimer = 45; pVehicle->m_nCarHornTimer = 45;
} }
#ifdef MIAMI
float target = 1.0f; float target = 1.0f;
if (pVehicle->AutoPilot.m_nCarMission == MISSION_CRUISE) if (pVehicle->AutoPilot.m_nCarMission == MISSION_CRUISE)
target = CCarCtrl::FindSpeedMultiplierWithSpeedFromNodes(pVehicle->AutoPilot.m_nCruiseSpeedMultiplierType); target = CCarCtrl::FindSpeedMultiplierWithSpeedFromNodes(pVehicle->AutoPilot.m_nCruiseSpeedMultiplierType);
@ -603,7 +514,6 @@ void CCarAI::UpdateCarAI(CVehicle* pVehicle)
} }
} }
} }
#endif
} }
//--MIAMI: done //--MIAMI: done
@ -630,7 +540,6 @@ float CCarAI::GetCarToGoToCoors(CVehicle* pVehicle, CVector* pTarget)
return (pVehicle->GetPosition() - *pTarget).Magnitude2D(); return (pVehicle->GetPosition() - *pTarget).Magnitude2D();
} }
#ifdef MIAMI
//--MIAMI: done //--MIAMI: done
float CCarAI::GetCarToParkAtCoors(CVehicle* pVehicle, CVector* pTarget) float CCarAI::GetCarToParkAtCoors(CVehicle* pVehicle, CVector* pTarget)
{ {
@ -639,7 +548,6 @@ float CCarAI::GetCarToParkAtCoors(CVehicle* pVehicle, CVector* pTarget)
pVehicle->AutoPilot.m_nCruiseSpeed = 10; pVehicle->AutoPilot.m_nCruiseSpeed = 10;
return (pVehicle->GetPosition() - *pTarget).Magnitude2D(); return (pVehicle->GetPosition() - *pTarget).Magnitude2D();
} }
#endif
//--MIAMI: TODO: MI_VICECHEE //--MIAMI: TODO: MI_VICECHEE
void CCarAI::AddPoliceCarOccupants(CVehicle* pVehicle) void CCarAI::AddPoliceCarOccupants(CVehicle* pVehicle)
@ -661,7 +569,6 @@ void CCarAI::AddPoliceCarOccupants(CVehicle* pVehicle)
if (FindPlayerPed()->m_pWanted->m_nWantedLevel > 1) if (FindPlayerPed()->m_pWanted->m_nWantedLevel > 1)
pVehicle->SetupPassenger(0); pVehicle->SetupPassenger(0);
return; return;
#ifdef MIAMI
case MI_PREDATOR: case MI_PREDATOR:
pVehicle->SetUpDriver(); pVehicle->SetUpDriver();
return; return;
@ -677,7 +584,6 @@ void CCarAI::AddPoliceCarOccupants(CVehicle* pVehicle)
return; return;
} }
*/ */
#endif
default: default:
return; return;
} }
@ -708,18 +614,13 @@ void CCarAI::TellOccupantsToLeaveCar(CVehicle* pVehicle)
int timer = 100; int timer = 100;
for (int i = 0; i < pVehicle->m_nNumMaxPassengers; i++){ for (int i = 0; i < pVehicle->m_nNumMaxPassengers; i++){
if (pVehicle->pPassengers[i]) { if (pVehicle->pPassengers[i]) {
#ifdef MIAMI
pVehicle->pPassengers[i]->m_leaveCarTimer = timer; pVehicle->pPassengers[i]->m_leaveCarTimer = timer;
pVehicle->pPassengers[i]->SetObjective(OBJECTIVE_LEAVE_VEHICLE, pVehicle); pVehicle->pPassengers[i]->SetObjective(OBJECTIVE_LEAVE_VEHICLE, pVehicle);
timer += CGeneral::GetRandomNumberInRange(200, 400); timer += CGeneral::GetRandomNumberInRange(200, 400);
#else
pVehicle->pPassengers[i]->SetObjective(OBJECTIVE_LEAVE_VEHICLE, pVehicle);
#endif
} }
} }
} }
#ifdef MIAMI
//--MIAMI: done //--MIAMI: done
void CCarAI::TellOccupantsToFleeCar(CVehicle* pVehicle) void CCarAI::TellOccupantsToFleeCar(CVehicle* pVehicle)
{ {
@ -737,7 +638,6 @@ void CCarAI::TellOccupantsToFleeCar(CVehicle* pVehicle)
} }
} }
} }
#endif
//--MIAMI: done //--MIAMI: done
void CCarAI::TellCarToRamOtherCar(CVehicle* pVehicle, CVehicle* pTarget) void CCarAI::TellCarToRamOtherCar(CVehicle* pVehicle, CVehicle* pTarget)
@ -774,7 +674,6 @@ eCarMission CCarAI::FindPoliceCarMissionForWantedLevel()
} }
} }
#ifdef MIAMI
//--MIAMI: done //--MIAMI: done
eCarMission CCarAI::FindPoliceBoatMissionForWantedLevel() eCarMission CCarAI::FindPoliceBoatMissionForWantedLevel()
{ {
@ -789,7 +688,6 @@ eCarMission CCarAI::FindPoliceBoatMissionForWantedLevel()
default: return MISSION_BLOCKPLAYER_FARAWAY; default: return MISSION_BLOCKPLAYER_FARAWAY;
} }
} }
#endif
//--MIAMI: done //--MIAMI: done
int32 CCarAI::FindPoliceCarSpeedForWantedLevel(CVehicle* pVehicle) int32 CCarAI::FindPoliceCarSpeedForWantedLevel(CVehicle* pVehicle)
@ -845,15 +743,12 @@ void CCarAI::MellowOutChaseSpeed(CVehicle* pVehicle)
pVehicle->AutoPilot.m_nCruiseSpeed = 34; pVehicle->AutoPilot.m_nCruiseSpeed = 34;
} }
} }
#ifdef MIAMI
if (!FindPlayerVehicle() && FindPlayerPed()->GetMoveSpeed().Magnitude() < 0.07f) { if (!FindPlayerVehicle() && FindPlayerPed()->GetMoveSpeed().Magnitude() < 0.07f) {
if ((FindPlayerCoors() - pVehicle->GetPosition()).Magnitude() < 30.0f) if ((FindPlayerCoors() - pVehicle->GetPosition()).Magnitude() < 30.0f)
pVehicle->AutoPilot.m_nCruiseSpeed = Min(10, pVehicle->AutoPilot.m_nCruiseSpeed); pVehicle->AutoPilot.m_nCruiseSpeed = Min(10, pVehicle->AutoPilot.m_nCruiseSpeed);
} }
#endif
} }
#ifdef MIAMI
//--MIAMI: done //--MIAMI: done
void CCarAI::MellowOutChaseSpeedBoat(CVehicle* pVehicle) void CCarAI::MellowOutChaseSpeedBoat(CVehicle* pVehicle)
{ {
@ -867,7 +762,6 @@ void CCarAI::MellowOutChaseSpeedBoat(CVehicle* pVehicle)
case 6: pVehicle->AutoPilot.m_nCruiseSpeed = 40; break; case 6: pVehicle->AutoPilot.m_nCruiseSpeed = 40; break;
} }
} }
#endif
//--MIAMI: done //--MIAMI: done
void CCarAI::MakeWayForCarWithSiren(CVehicle *pVehicle) void CCarAI::MakeWayForCarWithSiren(CVehicle *pVehicle)
@ -892,10 +786,8 @@ void CCarAI::MakeWayForCarWithSiren(CVehicle *pVehicle)
continue; continue;
if (vehicle == pVehicle) if (vehicle == pVehicle)
continue; continue;
#ifdef MIAMI
if (vehicle->AutoPilot.m_nDrivingStyle == DRIVINGSTYLE_AVOID_CARS) if (vehicle->AutoPilot.m_nDrivingStyle == DRIVINGSTYLE_AVOID_CARS)
return; return;
#endif
if (Abs(pVehicle->GetPosition().z - vehicle->GetPosition().z) >= 5.0f) if (Abs(pVehicle->GetPosition().z - vehicle->GetPosition().z) >= 5.0f)
continue; continue;
CVector2D distance = vehicle->GetPosition() - pVehicle->GetPosition(); CVector2D distance = vehicle->GetPosition() - pVehicle->GetPosition();

View File

@ -10,32 +10,22 @@ public:
static float FindSwitchDistanceClose(CVehicle*); static float FindSwitchDistanceClose(CVehicle*);
static float FindSwitchDistanceFarNormalVehicle(CVehicle*); static float FindSwitchDistanceFarNormalVehicle(CVehicle*);
static float FindSwitchDistanceFar(CVehicle*); static float FindSwitchDistanceFar(CVehicle*);
#ifdef MIAMI
static void BackToCruisingIfNoWantedLevel(CVehicle*); static void BackToCruisingIfNoWantedLevel(CVehicle*);
#endif
static void UpdateCarAI(CVehicle*); static void UpdateCarAI(CVehicle*);
static void CarHasReasonToStop(CVehicle*); static void CarHasReasonToStop(CVehicle*);
static float GetCarToGoToCoors(CVehicle*, CVector*); static float GetCarToGoToCoors(CVehicle*, CVector*);
#ifdef MIAMI
static float GetCarToParkAtCoors(CVehicle*, CVector*); static float GetCarToParkAtCoors(CVehicle*, CVector*);
#endif
static void AddPoliceCarOccupants(CVehicle*); static void AddPoliceCarOccupants(CVehicle*);
static void AddAmbulanceOccupants(CVehicle*); static void AddAmbulanceOccupants(CVehicle*);
static void AddFiretruckOccupants(CVehicle*); static void AddFiretruckOccupants(CVehicle*);
static void TellOccupantsToLeaveCar(CVehicle*); static void TellOccupantsToLeaveCar(CVehicle*);
#ifdef MIAMI
static void TellOccupantsToFleeCar(CVehicle*); static void TellOccupantsToFleeCar(CVehicle*);
#endif
static void TellCarToRamOtherCar(CVehicle*, CVehicle*); static void TellCarToRamOtherCar(CVehicle*, CVehicle*);
static void TellCarToBlockOtherCar(CVehicle*, CVehicle*); static void TellCarToBlockOtherCar(CVehicle*, CVehicle*);
static eCarMission FindPoliceCarMissionForWantedLevel(); static eCarMission FindPoliceCarMissionForWantedLevel();
#ifdef MIAMI
static eCarMission FindPoliceBoatMissionForWantedLevel(); static eCarMission FindPoliceBoatMissionForWantedLevel();
#endif
static int32 FindPoliceCarSpeedForWantedLevel(CVehicle*); static int32 FindPoliceCarSpeedForWantedLevel(CVehicle*);
static void MellowOutChaseSpeed(CVehicle*); static void MellowOutChaseSpeed(CVehicle*);
#ifdef MIAMI
static void MellowOutChaseSpeedBoat(CVehicle*); static void MellowOutChaseSpeedBoat(CVehicle*);
#endif
static void MakeWayForCarWithSiren(CVehicle *veh); static void MakeWayForCarWithSiren(CVehicle *veh);
}; };

View File

@ -2752,7 +2752,6 @@ bool CCarCtrl::MapCouldMoveInThisArea(float x, float y)
#endif #endif
} }
#ifdef MIAMI
float CCarCtrl::FindSpeedMultiplierWithSpeedFromNodes(int8 type) float CCarCtrl::FindSpeedMultiplierWithSpeedFromNodes(int8 type)
{ {
switch (type) switch (type)
@ -2762,4 +2761,3 @@ float CCarCtrl::FindSpeedMultiplierWithSpeedFromNodes(int8 type)
} }
return 1.0f; return 1.0f;
} }
#endif

View File

@ -104,9 +104,7 @@ public:
static void ClearInterestingVehicleList(); static void ClearInterestingVehicleList();
static void FindLinksToGoWithTheseNodes(CVehicle*); static void FindLinksToGoWithTheseNodes(CVehicle*);
static bool GenerateOneEmergencyServicesCar(uint32, CVector); static bool GenerateOneEmergencyServicesCar(uint32, CVector);
#ifdef MIAMI
static float FindSpeedMultiplierWithSpeedFromNodes(int8); static float FindSpeedMultiplierWithSpeedFromNodes(int8);
#endif
static float GetPositionAlongCurrentCurve(CVehicle* pVehicle) static float GetPositionAlongCurrentCurve(CVehicle* pVehicle)
{ {

View File

@ -123,8 +123,6 @@ public:
static void CompressIndicesArray() {};// todo static void CompressIndicesArray() {};// todo
#ifdef MIAMI
//--MIAMI: TODO //--MIAMI: TODO
static bool PoliceAbandonCars(void) { return false; } static bool PoliceAbandonCars(void) { return false; }
#endif
}; };

View File

@ -1354,7 +1354,6 @@ CVehicle::Load(uint8*& buf)
} }
#endif #endif
#ifdef MIAMI
eVehicleAppearance eVehicleAppearance
//--MIAMI: TODO, implement VC version, appearance != type //--MIAMI: TODO, implement VC version, appearance != type
// This would work for cars, boats and bikes but not for planes and helis // This would work for cars, boats and bikes but not for planes and helis
@ -1372,4 +1371,3 @@ CVehicle::GetVehicleAppearance(void)
return VEHICLE_HELI; return VEHICLE_HELI;
return VEHICLE_NONE; return VEHICLE_NONE;
} }
#endif

View File

@ -109,7 +109,6 @@ enum eFlightModel
FLIGHT_MODEL_SEAPLANE FLIGHT_MODEL_SEAPLANE
}; };
#ifdef MIAMI
enum eVehicleAppearance enum eVehicleAppearance
{ {
VEHICLE_NONE, VEHICLE_NONE,
@ -119,7 +118,6 @@ enum eVehicleAppearance
VEHICLE_BOAT, VEHICLE_BOAT,
VEHICLE_PLANE, VEHICLE_PLANE,
}; };
#endif
// Or Weapon.h? // Or Weapon.h?
void FireOneInstantHitRound(CVector *shotSource, CVector *shotTarget, int32 damage); void FireOneInstantHitRound(CVector *shotSource, CVector *shotTarget, int32 damage);
@ -184,9 +182,7 @@ public:
uint8 bIsCarParkVehicle : 1; // Car has been created using the special CAR_PARK script command uint8 bIsCarParkVehicle : 1; // Car has been created using the special CAR_PARK script command
uint8 bHasAlreadyBeenRecorded : 1; // Used for replays uint8 bHasAlreadyBeenRecorded : 1; // Used for replays
#ifdef MIAMI
uint8 bParking : 1; uint8 bParking : 1;
#endif;
int8 m_numPedsUseItAsCover; int8 m_numPedsUseItAsCover;
uint8 m_nAmmoInClip; // Used to make the guns on boat do a reload (20 by default) uint8 m_nAmmoInClip; // Used to make the guns on boat do a reload (20 by default)
@ -252,9 +248,7 @@ public:
virtual void Load(uint8*& buf); virtual void Load(uint8*& buf);
#endif #endif
#ifdef MIAMI
eVehicleAppearance GetVehicleAppearance(void); eVehicleAppearance GetVehicleAppearance(void);
#endif
bool IsCar(void) { return m_vehType == VEHICLE_TYPE_CAR; } bool IsCar(void) { return m_vehType == VEHICLE_TYPE_CAR; }
bool IsBoat(void) { return m_vehType == VEHICLE_TYPE_BOAT; } bool IsBoat(void) { return m_vehType == VEHICLE_TYPE_BOAT; }
bool IsTrain(void) { return m_vehType == VEHICLE_TYPE_TRAIN; } bool IsTrain(void) { return m_vehType == VEHICLE_TYPE_TRAIN; }