summaryrefslogtreecommitdiffstats
path: root/src/Wanted.h
blob: cf24d5a5beb29d38fa0448b15713ec0e75d927c5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#pragma once
#include "Entity.h"
#include "math/Vector.h"

enum eCrimeType {
	CRIME_NONE,
	CRIME_SHOT_FIRED,
	CRIME_PED_FIGHT,
	CRIME_COP_FIGHT,
	CRIME_DAMAGED_PED,
	CRIME_DAMAGED_COP,
	CRIME_CAR_THEFT,
	CRIME_CRIME7,
	CRIME_COP_EVASIVE_DIVE,
	CRIME_COP_EVASIVE_DIVE2,
	CRIME_PED_RUN_OVER,
	CRIME_COP_RUN_OVER,
	CRIME_DESTROYED_HELI,
	CRIME_PED_BURNED,
	CRIME_COP_BURNED,
	CRIME_VEHICLE_BURNED,
	CRIME_DESTROYED_CESSNA,
};

enum eCopType {
	COP_STREET = 0,
	COP_FBI = 1,
	COP_SWAT = 2,
	COP_ARMY = 3,
};

class CCrime {
public:
	eCrimeType m_eCrimeType;
	CEntity *m_pVictim;
	int32 m_nCrimeTime;
	CVector m_vecCrimePos;
	int8 m_bReported;
	int8 m_bMultiplier;
	int8 pad_20[2];
};

class CCopPed {
public:
	int16 m_wRoadblockNode;
	int8 field_1342;
	int8 field_1343;
	Float m_fDistanceToTarget;
	int8 m_bIsInPursuit;
	int8 m_bIsDisabledCop;
	int8 field_1350;
	int8 field_1351;
	int8 m_bZoneDisabledButClose;
	int8 m_bZoneDisabled;
	int8 field_1354;
	int8 field_1355;
	int32 field_1356;
	eCopType m_nCopType;
	int8 field_1364;
	int8 field_1365;
	int8 field_1366;
	int8 field_1367;
};

class CWanted {
public:
	int32 m_nChaos;
	int32 m_nLastUpdateTime;
	int32 m_nLastWantedLevelChange;
	Float m_fCrimeSensitivity;
	uint8 m_bCurrentCops;
	uint8 m_bMaxCops;
	uint8 m_bMaximumLawEnforcerVehicles;
	int8 field_19;
	int16 m_wRoadblockDensity;
	uint8 m_bFlags;
	int8 field_23;
	int32 m_nWantedLevel;
	CCrime m_sCrimes[16];
	CCopPed *m_pCops[10];
};

static_assert(sizeof(CWanted) == 0x204, "CWanted: error");