naev
0.11.5
src
pilot_flags.h
1
/*
2
* See Licensing and Copyright notice in naev.h
3
*/
4
#pragma once
5
6
#define pilot_clearFlagsRaw(a) memset((a), 0, PILOT_FLAGS_MAX)
7
#define pilot_copyFlagsRaw(d,s) memcpy((d), (s), PILOT_FLAGS_MAX)
8
#define pilot_isFlagRaw(a,f) ((a)[f])
9
#define pilot_setFlagRaw(a,f) ((a)[f] = 1)
10
#define pilot_isFlag(p,f) ((p)->flags[f])
11
#define pilot_setFlag(p,f) ((p)->flags[f] = 1)
12
#define pilot_rmFlag(p,f) ((p)->flags[f] = 0)
13
enum
{
14
/*
15
* Creation-time flags
16
*/
17
PILOT_PLAYER,
18
PILOT_PLAYER_FLEET,
19
PILOT_CARRIED,
20
PILOT_CREATED_AI,
21
PILOT_NO_OUTFITS,
22
PILOT_NO_EQUIP,
23
/*
24
* Dynamic flags
25
*/
26
/* Escort stuff. */
27
PILOT_NOFREE,
28
PILOT_PERSIST,
29
PILOT_NOCLEAR,
30
/* Hyperspace. */
31
PILOT_HYP_PREP,
32
PILOT_HYP_BRAKE,
33
PILOT_HYP_BEGIN,
34
PILOT_HYPERSPACE,
35
PILOT_HYP_END,
36
PILOT_HAILING,
37
/* Boarding. */
38
PILOT_BOARDABLE,
39
PILOT_BOARDED,
40
PILOT_NOBOARD,
41
PILOT_BOARDING,
42
/* Disabling. */
43
PILOT_NODISABLE,
44
PILOT_DISABLED,
45
PILOT_DISABLED_PERM,
46
/* Death. */
47
PILOT_NODEATH,
48
PILOT_DEAD,
49
PILOT_DEATH_SOUND,
50
PILOT_EXPLODED,
51
PILOT_DELETE,
52
/* Invincibility. */
53
PILOT_INVINCIBLE,
54
PILOT_INVINC_PLAYER,
55
/* Player-related stuff. */
56
PILOT_HOSTILE,
57
PILOT_FRIENDLY,
58
PILOT_SCANNING,
59
PILOT_COMBAT,
60
PILOT_BRIBED,
61
PILOT_DISTRESSED,
62
PILOT_NONTARGETABLE,
63
/* Landing stuff. */
64
PILOT_LANDING,
65
PILOT_TAKEOFF,
66
/* Visibility stuff. */
67
PILOT_STEALTH,
68
PILOT_NORENDER,
69
PILOT_VISPLAYER,
70
PILOT_VISIBLE,
71
PILOT_INVISIBLE,
72
PILOT_HIDE,
73
PILOT_HILIGHT,
74
/* Outfit stuff. */
75
PILOT_AFTERBURNER,
76
/* Refueling. */
77
PILOT_REFUELING,
78
PILOT_REFUELBOARDING,
79
/* Cooldown. */
80
PILOT_COOLDOWN,
81
PILOT_COOLDOWN_BRAKE,
82
/* Manual control and limits. */
83
PILOT_MANUAL_CONTROL,
84
PILOT_NOJUMP,
85
PILOT_NOLAND,
86
PILOT_HASSPEEDLIMIT,
87
PILOT_BRAKING,
88
/* Sentinal. */
89
PILOT_FLAGS_MAX
90
};
91
typedef
char
PilotFlags[ PILOT_FLAGS_MAX ];
Generated by
1.12.0