1 #ifndef COMMON_MUTATORS_EVENTS_H
2 #define COMMON_MUTATORS_EVENTS_H
4 #define EV_NO_ARGS(i, o)
9 #define MUTATOR_TYPES(_, x) \
18 #define MUTATOR_NEWGLOBAL(x, type) type mutator_argv_##type##_##x;
20 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 0)
21 MUTATOR_TYPES(MUTATOR_NEWGLOBAL, 1)
24 #undef MUTATOR_NEWGLOBAL
28 /** appends ":mutatorname" to ret_string for logging */
29 #define EV_BuildMutatorsString(i, o) \
30 /**/ i(string, ret_string) \
31 /**/ o(string, ret_string) \
33 MUTATOR_HOOKABLE(BuildMutatorsString, EV_BuildMutatorsString);
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) \
40 MUTATOR_HOOKABLE(BuildMutatorsPrettyString, EV_BuildMutatorsPrettyString);
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) \
47 MUTATOR_HOOKABLE(BuildGameplayTipsString, EV_BuildGameplayTipsString);