From cd30a76dc58004fa47d6abab619d19718bcf3364 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Sun, 1 Sep 2019 17:02:23 +0300 Subject: CCarCtrl stuff --- src/control/CarCtrl.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/control/CarCtrl.h') 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; -- cgit v1.2.3