diff options
author | Nikolay Korolev <nickvnuk@gmail.com> | 2019-09-14 19:53:04 +0200 |
---|---|---|
committer | Nikolay Korolev <nickvnuk@gmail.com> | 2019-09-14 19:53:04 +0200 |
commit | 57f24ad5336594c3355c83c2571ea373f6167a62 (patch) | |
tree | f3ff779ddc0716189677d63dfa9ccbc87d2d29c6 /src/control/CarCtrl.h | |
parent | Merge remote-tracking branch 'upstream/master' into carctrl_dev (diff) | |
download | re3-57f24ad5336594c3355c83c2571ea373f6167a62.tar re3-57f24ad5336594c3355c83c2571ea373f6167a62.tar.gz re3-57f24ad5336594c3355c83c2571ea373f6167a62.tar.bz2 re3-57f24ad5336594c3355c83c2571ea373f6167a62.tar.lz re3-57f24ad5336594c3355c83c2571ea373f6167a62.tar.xz re3-57f24ad5336594c3355c83c2571ea373f6167a62.tar.zst re3-57f24ad5336594c3355c83c2571ea373f6167a62.zip |
Diffstat (limited to 'src/control/CarCtrl.h')
-rw-r--r-- | src/control/CarCtrl.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/control/CarCtrl.h b/src/control/CarCtrl.h index f545d492..17dc4bf5 100644 --- a/src/control/CarCtrl.h +++ b/src/control/CarCtrl.h @@ -1,5 +1,6 @@ #pragma once #include "PathFind.h" +#include "Boat.h" #include "Vehicle.h" class CZoneInfo; @@ -44,7 +45,6 @@ public: static int32 ChooseCarModel(int32 vehclass); static bool JoinCarWithRoadSystemGotoCoors(CVehicle*, CVector, bool); static void JoinCarWithRoadSystem(CVehicle*); - static void SteerAICarWithPhysics(CVehicle*); static void UpdateCarOnRails(CVehicle*); static bool MapCouldMoveInThisArea(float x, float y); static void ScanForPedDanger(CVehicle *veh); @@ -84,14 +84,18 @@ public: static uint8 FindPathDirection(int32, int32, int32); static void Init(void); static void ReInit(void); + static float FindSpeedMultiplier(float, float, float, float); + static void SteerAICarWithPhysics(CVehicle*); + static void SteerAICarWithPhysics_OnlyMission(CVehicle*, float*, float*, float*, bool*); + static void SteerAIBoatWithPhysics(CBoat*); + static float FindMaxSteerAngle(CVehicle*); + static void SteerAICarWithPhysicsFollowPath(CVehicle*, float*, float*, float*, bool*); + static void SteerAICarWithPhysicsHeadingForTarget(CVehicle*, CPhysical*, float, float, float*, float*, float*, bool*); + static void SteerAICarWithPhysicsTryingToBlockTarget(CVehicle*, float, float, float, float, float*, float*, float*, bool*); + static void SteerAICarWithPhysicsTryingToBlockTarget_Stop(CVehicle*, float, float, float, float, float*, float*, float*, bool*); + static void SteerAIBoatWithPhysicsHeadingForTarget(CBoat*, float, float, float*, float*, float*); static bool ThisRoadObjectCouldMove(int16); - 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; |