Xonotic
events.qh
Go to the documentation of this file.
1 #pragma once
2 
3 #define EV_NO_ARGS(i, o)
4 
5 #pragma noref 1
6 
7 #define MUTATOR_TYPES(_, x) \
8  _(x, bool) \
9  _(x, int) \
10  _(x, entity) \
11  _(x, float) \
12  _(x, vector) \
13  _(x, string) \
14 
15 
16 // TODO: migrate to arrays some day when no other globals are used
17 #define M_ARGV(x, type) MUTATOR_ARGV_##x##_##type
18 #define MUTATOR_NEWGLOBAL(x, type) type MUTATOR_ARGV_##x##_##type;
19 
22 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 2)
23 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 3)
24 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 4)
25 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 5)
26 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 6)
27 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 7)
28 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 8)
29 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 9)
30 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 10)
31 
32 #undef MUTATOR_TYPES
33 #undef MUTATOR_NEWGLOBAL
34 
35 #pragma noref 0
36 
38 #define EV_BuildMutatorsString(i, o) \
39  i(string, MUTATOR_ARGV_0_string) \
40  o(string, MUTATOR_ARGV_0_string) \
41 
42 MUTATOR_HOOKABLE(BuildMutatorsString, EV_BuildMutatorsString);
43 
45 #define EV_BuildMutatorsPrettyString(i, o) \
46  i(string, MUTATOR_ARGV_0_string) \
47  o(string, MUTATOR_ARGV_0_string) \
48 
49 MUTATOR_HOOKABLE(BuildMutatorsPrettyString, EV_BuildMutatorsPrettyString);
50 
52 #define EV_BuildGameplayTipsString(i, o) \
53  i(string, MUTATOR_ARGV_0_string) \
54  o(string, MUTATOR_ARGV_0_string) \
55 
56 MUTATOR_HOOKABLE(BuildGameplayTipsString, EV_BuildGameplayTipsString);
57 
58 #define EV_IsFlying(i, o) \
59  i(entity, MUTATOR_ARGV_0_entity) \
60 
62 
63 #define EV_WP_Format(i, o) \
64  i(entity, MUTATOR_ARGV_0_entity) \
65  i(string, MUTATOR_ARGV_1_string) \
66  o(vector, MUTATOR_ARGV_2_vector) \
67  o(string, MUTATOR_ARGV_3_string) \
68  o(string, MUTATOR_ARGV_4_string) \
69 
70 MUTATOR_HOOKABLE(WP_Format, EV_WP_Format);
71 
76 #define EV_PlayerPhysics(i, o) \
77  i(entity, MUTATOR_ARGV_0_entity) \
78  i(float, MUTATOR_ARGV_1_float) \
79 
80 MUTATOR_HOOKABLE(PlayerPhysics, EV_PlayerPhysics);
81 
83 #define EV_PlayerJump(i, o) \
84  i(entity, MUTATOR_ARGV_0_entity) \
85  i(float, MUTATOR_ARGV_1_float) \
86  o(float, MUTATOR_ARGV_1_float) \
87  i(bool, MUTATOR_ARGV_2_bool) \
88  o(bool, MUTATOR_ARGV_2_bool) \
89 
91 
93 #define EV_PM_Physics(i, o) \
94  i(entity, MUTATOR_ARGV_0_entity) \
95  i(float, MUTATOR_ARGV_1_float) \
96  i(float, MUTATOR_ARGV_2_float) \
97 
98 MUTATOR_HOOKABLE(PM_Physics, EV_PM_Physics);
99 
101 #define EV_WeaponSound(i, o) \
102  i(string, MUTATOR_ARGV_0_string) \
103  i(string, MUTATOR_ARGV_1_string) \
104  o(string, MUTATOR_ARGV_1_string) \
105 
106 MUTATOR_HOOKABLE(WeaponSound, EV_WeaponSound);
107 
109 #define EV_WeaponModel(i, o) \
110  i(string, MUTATOR_ARGV_0_string) \
111  i(string, MUTATOR_ARGV_1_string) \
112  o(string, MUTATOR_ARGV_1_string) \
113 
114 MUTATOR_HOOKABLE(WeaponModel, EV_WeaponModel);
115 
117 #define EV_PlayerCanCrouch(i, o) \
118  i(entity, MUTATOR_ARGV_0_entity) \
119  i(bool, MUTATOR_ARGV_1_bool) \
120  o(bool, MUTATOR_ARGV_1_bool) \
121 
122 MUTATOR_HOOKABLE(PlayerCanCrouch, EV_PlayerCanCrouch);
#define MUTATOR_TYPES(_, x)
Definition: events.qh:7
#define EV_PlayerJump(i, o)
called when a player presses the jump key
Definition: events.qh:83
#define MUTATOR_NEWGLOBAL(x, type)
Definition: events.qh:18
#define EV_WeaponSound(i, o)
called when a weapon sound is about to be played, allows custom paths etc.
Definition: events.qh:101
#define EV_PlayerCanCrouch(i, o)
decides whether a player can crouch or not
Definition: events.qh:117
MUTATOR_HOOKABLE(CSQC_ConsoleCommand, EV_CSQC_ConsoleCommand)
#define EV_WP_Format(i, o)
Definition: events.qh:63
#define EV_BuildMutatorsString(i, o)
appends ":mutatorname" to argument for logging
Definition: events.qh:38
bool IsFlying(entity this)
Definition: player.qc:804
#define EV_BuildMutatorsPrettyString(i, o)
appends ", Mutator name" to ret_string for display
Definition: events.qh:45
#define EV_BuildGameplayTipsString(i, o)
appends mutator string for displaying extra gameplay tips
Definition: events.qh:52
#define EV_WeaponModel(i, o)
called when a weapon model is about to be set, allows custom paths etc.
Definition: events.qh:109
bool PlayerJump(entity this)
Definition: player.qc:330
#define EV_PM_Physics(i, o)
called during player physics, allows adjusting the movement type used
Definition: events.qh:93
#define EV_IsFlying(i, o)
Definition: events.qh:58
#define EV_PlayerPhysics(i, o)
called before any player physics, may adjust variables for movement, is run AFTER bot code and idle c...
Definition: events.qh:76