mirror of
https://github.com/halpz/re3.git
synced 2025-06-29 13:26:19 +00:00
92
src/control/AutoPilot.h
Normal file
92
src/control/AutoPilot.h
Normal file
@ -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");
|
Reference in New Issue
Block a user