2019-05-18 12:39:39 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
class CVehicle;
|
2019-08-06 23:32:19 +02:00
|
|
|
class CZoneInfo;
|
2019-05-18 12:39:39 +02:00
|
|
|
|
|
|
|
class CCarCtrl
|
|
|
|
{
|
2019-08-06 23:32:19 +02:00
|
|
|
enum eCarClass {
|
|
|
|
POOR = 0,
|
|
|
|
RICH,
|
|
|
|
EXEC,
|
|
|
|
WORKER,
|
|
|
|
SPECIAL,
|
|
|
|
BIG,
|
|
|
|
TAXI,
|
|
|
|
CLASS7,
|
|
|
|
MAFIA,
|
|
|
|
TRIAD,
|
|
|
|
DIABLO,
|
|
|
|
YAKUZA,
|
|
|
|
YARDIE,
|
|
|
|
COLOMB,
|
|
|
|
NINES,
|
|
|
|
GANG8,
|
|
|
|
GANG9,
|
|
|
|
COPS
|
|
|
|
};
|
2019-05-18 12:39:39 +02:00
|
|
|
public:
|
|
|
|
static void SwitchVehicleToRealPhysics(CVehicle*);
|
2019-06-28 12:34:02 +02:00
|
|
|
static void AddToCarArray(int32 id, int32 vehclass);
|
2019-06-25 00:42:23 +02:00
|
|
|
static void UpdateCarCount(CVehicle*, bool);
|
2019-06-28 12:34:02 +02:00
|
|
|
static int32 ChooseCarModel(int32 vehclass);
|
2019-07-14 13:49:27 +02:00
|
|
|
static bool JoinCarWithRoadSystemGotoCoors(CVehicle*, CVector, bool);
|
|
|
|
static void JoinCarWithRoadSystem(CVehicle*);
|
2019-07-17 13:19:20 +02:00
|
|
|
static void SteerAICarWithPhysics(CVehicle*);
|
|
|
|
static void UpdateCarOnRails(CVehicle*);
|
2019-07-17 23:58:06 +02:00
|
|
|
static bool MapCouldMoveInThisArea(float x, float y);
|
2019-07-18 15:41:09 +02:00
|
|
|
static void ScanForPedDanger(CVehicle *veh);
|
2019-07-25 22:34:29 +02:00
|
|
|
static void RemoveFromInterestingVehicleList(CVehicle*);
|
2019-08-06 23:32:19 +02:00
|
|
|
static void GenerateRandomCars(void);
|
|
|
|
static void GenerateOneRandomCar(void);
|
|
|
|
static void GenerateEmergencyServicesCar(void);
|
|
|
|
static int32 ChooseModel(CZoneInfo*, CVector*, int*);
|
|
|
|
static int32 ChoosePoliceCarModel(void);
|
2019-08-10 09:44:19 +02:00
|
|
|
static int32 ChooseGangCarModel(int32 gang);
|
2019-06-24 16:57:54 +02:00
|
|
|
|
|
|
|
static int32 &NumLawEnforcerCars;
|
2019-06-30 12:59:55 +02:00
|
|
|
static int32 &NumAmbulancesOnDuty;
|
|
|
|
static int32 &NumFiretrucksOnDuty;
|
2019-07-25 22:34:29 +02:00
|
|
|
static int32 &NumRandomCars;
|
|
|
|
static int32 &NumMissionCars;
|
|
|
|
static int32 &NumParkedCars;
|
2019-06-29 11:09:33 +02:00
|
|
|
static bool &bCarsGeneratedAroundCamera;
|
2019-07-04 00:16:24 +02:00
|
|
|
static float &CarDensityMultiplier;
|
2019-08-06 23:32:19 +02:00
|
|
|
static int8 &CountDownToCarsAtStart;
|
|
|
|
static int32 &MaxNumberOfCarsInUse;
|
|
|
|
static uint32 &LastTimeLawEnforcerCreated;
|
2019-08-10 09:44:19 +02:00
|
|
|
static int32 (&TotalNumOfCarsOfRating)[7];
|
|
|
|
static int32 (&NextCarOfRating)[7];
|
|
|
|
static int32 (&CarArrays)[7][256];
|
2019-05-18 12:39:39 +02:00
|
|
|
};
|