diff options
Diffstat (limited to '')
-rw-r--r-- | src/control/AutoPilot.h | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/src/control/AutoPilot.h b/src/control/AutoPilot.h new file mode 100644 index 00000000..a2458327 --- /dev/null +++ b/src/control/AutoPilot.h @@ -0,0 +1,92 @@ +#pragma once + +class CVehicle; + +enum eCarMission : uint8 +{ + MISSION_NONE, + MISSION_CRUISE, + MISSION_RAMPLAYER_FARAWAY, + MISSION_RAMPLAYER_CLOSE, + MISSION_BLOCKPLAYER_FARAWAY, + MISSION_BLOCKPLAYER_CLOSE, + MISSION_BLOCKPLAYER_HANDBRAKESTOP, + MISSION_WAITFORDELETION, + MISSION_GOTOCOORDS, + MISSION_GOTOCOORDS_STRAIGHT, + MISSION_EMERGENCYVEHICLE_STOP, + MISSION_STOP_FOREVER, + MISSION_GOTOCOORDS_ACCURATE, + MISSION_GOTO_COORDS_STRAIGHT_ACCURATE, + MISSION_GOTOCOORDS_ASTHECROWSWIMS, + MISSION_RAMCAR_FARAWAY, + MISSION_RAMCAR_CLOSE, + MISSION_BLOCKCAR_FARAWAY, + MISSION_BLOCKCAR_CLOSE, + MISSION_BLOCKCAR_HANDBRAKESTOP, + MISSION_HELI_FLYTOCOORS, + MISSION_ATTACKPLAYER, + MISSION_PLANE_FLYTOCOORS, + MISSION_HELI_LAND, + MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_1, + MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_2, + MISSION_BLOCKPLAYER_FORWARDANDBACK +}; + +enum eCarTempAction : uint8 +{ + TEMPACT_NONE, + TEMPACT_WAIT, + TEMPACT_REVERSE, + TEMPACT_HANDBRAKETURNLEFT, + TEMPACT_HANDBRAKETURNRIGHT, + TEMPACT_HANDBRAKESTRAIGHT, + TEMPACT_TURNLEFT, + TEMPACT_TURNRIGHT, + TEMPACT_GOFORWARD, + TEMPACT_SWERVELEFT, + TEMPACT_SWERVERIGHT +}; + +enum eCarDrivingStyle : uint8 +{ + DRIVINGSTYLE_STOP_FOR_CARS, + DRIVINGSTYLE_SLOW_DOWN_FOR_CARS, + DRIVINGSTYLE_AVOID_CARS, + DRIVINGSTYLE_PLOUGH_THROUGH, + DRIVINGSTYLE_STOP_FOR_CARS_IGNORE_LIGHTS +}; + +class CAutoPilot { +public: + void *m_currentAddress; + void *m_startingRouteNode; + void *m_PreviousRouteNode; + uint32 m_nTotalSpeedScaleFactor; + uint32 m_nSpeedScaleFactor; + uint32 m_nCurrentPathNodeInfo; + uint32 m_nNextPathNodeInfo; + uint32 m_nPreviousPathNodeInfo; + uint32 m_nTimeToStartMission; + uint32 m_nTimeSwitchedToRealPhysics; + int8 m_nPreviousDirection; + int8 m_nCurrentDirecton; + int8 m_nNextDirection; + int8 m_nPreviousPathDirection; + int8 m_nCurrentPathDirection; + eCarDrivingStyle m_nDrivingStyle; + eCarMission m_nCarMission; + eCarTempAction m_nAnimationId; + uint8 m_nAnimationTime; + float m_fMaxTrafficSpeed; + uint8 m_nCruiseSpeed; + uint8 m_nCarCtrlFlags; + int8 pad1[2]; + CVector m_vecDestinationCoors; + void *m_aPathFindNodesInfo[8]; + uint16 m_nPathFindNodesCount; + int8 pad2[2]; + CVehicle *m_pTargetCar; +}; + +static_assert(sizeof(CAutoPilot) == 0x70, "CAutoPilot: error");
\ No newline at end of file |