2020-03-27 21:47:29 +01:00
|
|
|
#ifndef CIV_AI_H
|
|
|
|
#define CIV_AI_H
|
|
|
|
|
2020-11-14 23:19:42 +01:00
|
|
|
extern const u_char speedLimits[3];
|
2020-09-20 11:04:40 +02:00
|
|
|
extern unsigned char reservedSlots[MAX_CARS];
|
2020-05-09 09:59:47 +02:00
|
|
|
extern int frameStart;
|
|
|
|
|
|
|
|
extern int distFurthestCivCarSq;
|
|
|
|
extern char furthestCivID;
|
|
|
|
|
2020-05-15 14:04:48 +02:00
|
|
|
extern char makeLimoPullOver;
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-06-17 12:28:40 +02:00
|
|
|
extern char junctionLightsPhase[2];
|
|
|
|
|
2020-12-08 20:20:53 +01:00
|
|
|
extern void InitCivCars(); // 0x0002CDA4
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-12-08 20:20:53 +01:00
|
|
|
extern int InitCar(CAR_DATA *cp, int direction, LONGVECTOR4* startPos, unsigned char control, int model, int palette, char *extraData); // 0x00023DE8
|
|
|
|
extern int InitCivState(CAR_DATA* cp, EXTRA_CIV_DATA* extraData); // 0x000280D8
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-12-08 20:20:53 +01:00
|
|
|
extern CAR_DATA* FindClosestCar(int x, int y, int z, int *distToCarSq); // 0x0002D11C
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-10-31 01:11:58 +01:00
|
|
|
extern void CivCarFX(CAR_DATA *cp); // 0x0002D084
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-12-08 20:20:53 +01:00
|
|
|
extern void SetUpCivCollFlags(); // 0x0002ABA8
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-12-08 20:20:53 +01:00
|
|
|
extern int PingInCivCar(int minPingInDist); // 0x00028DB4
|
|
|
|
extern void CreateRoadblock(); // 0x0002BCF4
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-10-31 01:11:58 +01:00
|
|
|
extern int PingOutCar(CAR_DATA *cp); // 0x0002CF80
|
2020-03-27 21:47:29 +01:00
|
|
|
extern int PingOutAllSpecialCivCars(); // 0x000282E8
|
|
|
|
extern int PingOutAllCivCarsAndCopCars(); // 0x0002840C
|
2020-10-31 01:11:58 +01:00
|
|
|
extern int CheckPingOut(CAR_DATA *cp); // 0x00028554
|
2020-03-27 21:47:29 +01:00
|
|
|
|
|
|
|
extern void SetUpTrafficLightPhase(); // 0x0002D220
|
|
|
|
extern int TrafficLightCycle(int exit); // 0x0002CF18
|
|
|
|
|
2020-12-08 17:45:14 +01:00
|
|
|
extern int CreateCivCarWotDrivesABitThenStops(int direction, LONGVECTOR4* startPos, LONGVECTOR4* stopPos, unsigned char internalModel, int palette); // 0x000286E0
|
|
|
|
extern int CreateStationaryCivCar(int direction, long orientX, long orientZ, LONGVECTOR4* startPos, int externalModel, int palette, int controlFlags); // 0x00028960
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-12-08 20:20:53 +01:00
|
|
|
extern int CheckChangeLanes(DRIVER2_STRAIGHT* straight, DRIVER2_CURVE* curve, int distAlongSegment, CAR_DATA* cp, int tryToPark); // 0x00026F20
|
2020-12-08 20:50:28 +01:00
|
|
|
extern int NotTravellingAlongCurve(int x, int z, int dir, DRIVER2_CURVE* cv);
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-12-08 20:20:53 +01:00
|
|
|
extern int CivControl(CAR_DATA* cp); // 0x0002CE10
|
2020-03-27 21:47:29 +01:00
|
|
|
|
2020-12-08 20:50:28 +01:00
|
|
|
|
|
|
|
|
2020-03-27 21:47:29 +01:00
|
|
|
#endif
|