mirror of
https://github.com/GTAmodding/re3.git
synced 2025-07-15 14:14:09 +00:00
more CCarCtrl
This commit is contained in:
parent
6a7fdadeaa
commit
14b945ba08
21 changed files with 433 additions and 51 deletions
|
@ -1,8 +1,16 @@
|
|||
#pragma once
|
||||
#include "PathFind.h"
|
||||
#include "Vehicle.h"
|
||||
|
||||
class CVehicle;
|
||||
class CZoneInfo;
|
||||
|
||||
enum{
|
||||
MAX_CARS_TO_KEEP = 2,
|
||||
MAX_CAR_MODELS_IN_ARRAY = 256,
|
||||
};
|
||||
|
||||
#define LANE_WIDTH 5.0f
|
||||
|
||||
class CCarCtrl
|
||||
{
|
||||
enum eCarClass {
|
||||
|
@ -43,6 +51,29 @@ public:
|
|||
static int32 ChooseModel(CZoneInfo*, CVector*, int*);
|
||||
static int32 ChoosePoliceCarModel(void);
|
||||
static int32 ChooseGangCarModel(int32 gang);
|
||||
static void RemoveDistantCars(void);
|
||||
static void PossiblyRemoveVehicle(CVehicle*);
|
||||
static bool IsThisVehicleInteresting(CVehicle*);
|
||||
static int32 CountCarsOfType(int32 mi);
|
||||
static void SlowCarOnRailsDownForTrafficAndLights(CVehicle*);
|
||||
static void PickNextNodeAccordingStrategy(CVehicle*);
|
||||
static void DragCarToPoint(CVehicle*, CVector*);
|
||||
static float FindMaximumSpeedForThisCarInTraffic(CVehicle*);
|
||||
static void SlowCarDownForCarsSectorList(CPtrList&, CVehicle*, float, float, float, float, float*, float);
|
||||
static void SlowCarDownForPedsSectorList(CPtrList&, CVehicle*, float, float, float, float, float*, float);
|
||||
|
||||
|
||||
static float GetOffsetOfLaneFromCenterOfRoad(int8 lane, CCarPathLink* pLink)
|
||||
{
|
||||
return (lane + ((pLink->numLeftLanes == 0) ? (0.5f - 0.5f * pLink->numRightLanes) :
|
||||
((pLink->numRightLanes == 0) ? (0.5f - 0.5f * pLink->numLeftLanes) : 0.5f))) * LANE_WIDTH;
|
||||
}
|
||||
|
||||
static float GetPositionAlongCurrentCurve(CVehicle* pVehicle)
|
||||
{
|
||||
uint32 timeInCurve = CTimer::GetTimeInMilliseconds() - pVehicle->AutoPilot.m_nTimeEnteredCurve;
|
||||
return (float)timeInCurve / pVehicle->AutoPilot.m_nTimeToSpendOnCurrentCurve;
|
||||
}
|
||||
|
||||
static int32 &NumLawEnforcerCars;
|
||||
static int32 &NumAmbulancesOnDuty;
|
||||
|
@ -57,5 +88,7 @@ public:
|
|||
static uint32 &LastTimeLawEnforcerCreated;
|
||||
static int32 (&TotalNumOfCarsOfRating)[7];
|
||||
static int32 (&NextCarOfRating)[7];
|
||||
static int32 (&CarArrays)[7][256];
|
||||
static int32 (&CarArrays)[7][MAX_CAR_MODELS_IN_ARRAY];
|
||||
};
|
||||
|
||||
extern CVehicle* (&apCarsToKeep)[MAX_CARS_TO_KEEP];
|
Loading…
Add table
Add a link
Reference in a new issue