]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/events.qh
8a5c153ad7024f7eb1ae6c728b6243e4869438df
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / events.qh
1 #ifndef COMMON_MUTATORS_EVENTS_H
2 #define COMMON_MUTATORS_EVENTS_H
3
4 #define EV_NO_ARGS(i, o)
5
6 #pragma noref 1
7 string ret_string;
8
9 #define MUTATOR_TYPES(_, x) \
10     _(x, bool) \
11     _(x, int) \
12     _(x, entity) \
13     _(x, float) \
14     _(x, vector) \
15     _(x, string) \
16     /**/
17
18 #define MUTATOR_NEWGLOBAL(x, type) type mutator_argv_##type##_##x;
19
20 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 0)
21 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 1)
22
23 #undef MUTATOR_TYPES
24 #undef MUTATOR_NEWGLOBAL
25
26 #pragma noref 0
27
28 /** appends ":mutatorname" to ret_string for logging */
29 #define EV_BuildMutatorsString(i, o) \
30     /**/ i(string, ret_string) \
31     /**/ o(string, ret_string) \
32     /**/
33 MUTATOR_HOOKABLE(BuildMutatorsString, EV_BuildMutatorsString);
34
35 /** appends ", Mutator name" to ret_string for display */
36 #define EV_BuildMutatorsPrettyString(i, o) \
37     /**/ i(string, ret_string) \
38     /**/ o(string, ret_string) \
39     /**/
40 MUTATOR_HOOKABLE(BuildMutatorsPrettyString, EV_BuildMutatorsPrettyString);
41
42 /** appends mutator string for displaying extra gameplay tips */
43 #define EV_BuildGameplayTipsString(i, o) \
44     /**/ i(string, ret_string) \
45     /**/ o(string, ret_string) \
46     /**/
47 MUTATOR_HOOKABLE(BuildGameplayTipsString, EV_BuildGameplayTipsString);
48
49 #endif