re3/src/control/CarAI.h

42 lines
1.2 KiB
C++

#pragma once
#include "AutoPilot.h"
class CVehicle;
class CCarAI
{
public:
static float FindSwitchDistanceClose(CVehicle*);
static float FindSwitchDistanceFarNormalVehicle(CVehicle*);
static float FindSwitchDistanceFar(CVehicle*);
#ifdef MIAMI
static void BackToCruisingIfNoWantedLevel(CVehicle*);
#endif
static void UpdateCarAI(CVehicle*);
static void CarHasReasonToStop(CVehicle*);
static float GetCarToGoToCoors(CVehicle*, CVector*);
#ifdef MIAMI
static float GetCarToParkAtCoors(CVehicle*, CVector*);
#endif
static void AddPoliceCarOccupants(CVehicle*);
static void AddAmbulanceOccupants(CVehicle*);
static void AddFiretruckOccupants(CVehicle*);
static void TellOccupantsToLeaveCar(CVehicle*);
#ifdef MIAMI
static void TellOccupantsToFleeCar(CVehicle*);
#endif
static void TellCarToRamOtherCar(CVehicle*, CVehicle*);
static void TellCarToBlockOtherCar(CVehicle*, CVehicle*);
static eCarMission FindPoliceCarMissionForWantedLevel();
#ifdef MIAMI
static eCarMission FindPoliceBoatMissionForWantedLevel();
#endif
static int32 FindPoliceCarSpeedForWantedLevel(CVehicle*);
static void MellowOutChaseSpeed(CVehicle*);
#ifdef MIAMI
static void MellowOutChaseSpeedBoat(CVehicle*);
#endif
static void MakeWayForCarWithSiren(CVehicle *veh);
};