summaryrefslogtreecommitdiffstats
path: root/src/control/CarCtrl.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/control/CarCtrl.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/control/CarCtrl.h b/src/control/CarCtrl.h
index faf78f00..1ada47c7 100644
--- a/src/control/CarCtrl.h
+++ b/src/control/CarCtrl.h
@@ -64,6 +64,14 @@ public:
static void Init(void);
static void SlowCarDownForOtherCar(CEntity*, CVehicle*, float*, float);
static float TestCollisionBetween2MovingRects(CVehicle*, CVehicle*, float, float, CVector*, CVector*, uint8);
+ static float FindAngleToWeaveThroughTraffic(CVehicle*, CPhysical*, float, float);
+ static float FindAngleToWeaveThroughTrafficTest(CVehicle*, CPhysical*, float, float);
+ static void WeaveThroughCarsSectorList(CPtrList&, CVehicle*, CPhysical*, float, float, float, float, float*, float*);
+ static void WeaveForOtherCar(CEntity*, CVehicle*, float*, float*);
+ static void WeaveThroughPedsSectorList(CPtrList&, CVehicle*, CPhysical*, float, float, float, float, float*, float*);
+ static void WeaveForPed(CEntity*, CVehicle*, float*, float*);
+ static void WeaveThroughObjectsSectorList(CPtrList&, CVehicle*, float, float, float, float, float*, float*);
+ static void WeaveForObject(CEntity*, CVehicle*, float*, float*);
static float GetOffsetOfLaneFromCenterOfRoad(int8 lane, CCarPathLink* pLink)
{
@@ -77,6 +85,16 @@ public:
return (float)timeInCurve / pVehicle->AutoPilot.m_nTimeToSpendOnCurrentCurve;
}
+ /* Used very often and differs from CGeneral::LimitRadianAngle */
+ static float LimitRadianAngle(float angle)
+ {
+ while (angle < -PI)
+ angle += TWOPI;
+ while (angle > PI)
+ angle -= TWOPI;
+ return angle;
+ }
+
static int32 &NumLawEnforcerCars;
static int32 &NumAmbulancesOnDuty;
static int32 &NumFiretrucksOnDuty;