CAutoPilot + CCarAI + fixes

This commit is contained in:
Nikolay Korolev
2020-05-05 14:40:35 +03:00
parent 131e8af174
commit ae0c83fa01
15 changed files with 402 additions and 31 deletions

View File

@ -26,6 +26,7 @@ enum eCarMission : uint8
MISSION_BLOCKCAR_FARAWAY,
MISSION_BLOCKCAR_CLOSE,
MISSION_BLOCKCAR_HANDBRAKESTOP,
#ifdef MIAMI
MISSION_HELI_FLYTOCOORS,
MISSION_ATTACKPLAYER,
MISSION_PLANE_FLYTOCOORS,
@ -33,6 +34,7 @@ enum eCarMission : uint8
MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_1,
MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_2,
MISSION_BLOCKPLAYER_FORWARDANDBACK
#endif
};
enum eCarTempAction : uint8
@ -82,11 +84,18 @@ public:
uint32 m_nTimeTempAction;
float m_fMaxTrafficSpeed;
uint8 m_nCruiseSpeed;
#ifdef MIAMI
uint8 m_nCruiseSpeedMultiplierType;
float m_fCruiseSpeedMultiplier;
#endif
uint8 m_bSlowedDownBecauseOfCars : 1;
uint8 m_bSlowedDownBecauseOfPeds : 1;
uint8 m_bStayInCurrentLevel : 1;
uint8 m_bStayInFastLane : 1;
uint8 m_bIgnorePathfinding : 1;
#ifdef MIAMI
uint8 m_nSwitchDistance;
#endif
CVector m_vecDestinationCoors;
CPathNode *m_aPathFindNodesInfo[NUM_PATH_NODES_IN_AUTOPILOT];
int16 m_nPathFindNodesCount;
@ -116,6 +125,10 @@ public:
m_nTimeToStartMission = CTimer::GetTimeInMilliseconds();
m_nAntiReverseTimer = m_nTimeToStartMission;
m_bStayInFastLane = false;
#ifdef MIAMI
m_nCruiseSpeedMultiplierType = 0;
m_fCruiseSpeedMultiplier = 1.0f;
#endif
}
void ModifySpeed(float);
@ -126,4 +139,3 @@ public:
#endif
};
static_assert(sizeof(CAutoPilot) == 0x70, "CAutoPilot: error");