naev
0.10.4
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
/*
23
* Dynamic flags
24
*/
25
/* Escort stuff. */
26
PILOT_NOFREE,
27
PILOT_PERSIST,
28
PILOT_NOCLEAR,
29
/* Hyperspace. */
30
PILOT_HYP_PREP,
31
PILOT_HYP_BRAKE,
32
PILOT_HYP_BEGIN,
33
PILOT_HYPERSPACE,
34
PILOT_HYP_END,
35
PILOT_HAILING,
36
/* Boarding. */
37
PILOT_BOARDABLE,
38
PILOT_BOARDED,
39
PILOT_NOBOARD,
40
PILOT_BOARDING,
41
/* Disabling. */
42
PILOT_NODISABLE,
43
PILOT_DISABLED,
44
PILOT_DISABLED_PERM,
45
/* Death. */
46
PILOT_NODEATH,
47
PILOT_DEAD,
48
PILOT_DEATH_SOUND,
49
PILOT_EXPLODED,
50
PILOT_DELETE,
51
/* Invincibility. */
52
PILOT_INVINCIBLE,
53
PILOT_INVINC_PLAYER,
54
/* Player-related stuff. */
55
PILOT_HOSTILE,
56
PILOT_FRIENDLY,
57
PILOT_COMBAT,
58
PILOT_BRIBED,
59
PILOT_DISTRESSED,
60
PILOT_NONTARGETABLE,
61
/* Landing stuff. */
62
PILOT_LANDING,
63
PILOT_TAKEOFF,
64
/* Visibility stuff. */
65
PILOT_STEALTH,
66
PILOT_NORENDER,
67
PILOT_VISPLAYER,
68
PILOT_VISIBLE,
69
PILOT_INVISIBLE,
70
PILOT_HIDE,
71
PILOT_HILIGHT,
72
/* Outfit stuff. */
73
PILOT_AFTERBURNER,
74
/* Refueling. */
75
PILOT_REFUELING,
76
PILOT_REFUELBOARDING,
77
/* Cooldown. */
78
PILOT_COOLDOWN,
79
PILOT_COOLDOWN_BRAKE,
80
/* Manual control and limits. */
81
PILOT_MANUAL_CONTROL,
82
PILOT_NOJUMP,
83
PILOT_NOLAND,
84
PILOT_HASSPEEDLIMIT,
85
PILOT_BRAKING,
86
/* Sentinal. */
87
PILOT_FLAGS_MAX
88
};
89
typedef
char
PilotFlags[ PILOT_FLAGS_MAX ];
Generated by
1.9.3