Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
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
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 /**/
43
45#define EV_BuildMutatorsPrettyString(i, o) \
46 i(string, MUTATOR_ARGV_0_string) \
47 /**/ o(string, MUTATOR_ARGV_0_string) \
48 /**/
50
52#define EV_BuildGameplayTipsString(i, o) \
53 i(string, MUTATOR_ARGV_0_string) \
54 /**/ o(string, MUTATOR_ARGV_0_string) \
55 /**/
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 /**/
71
76#define EV_PlayerPhysics(i, o) \
77 i(entity, MUTATOR_ARGV_0_entity) \
78 i(float, MUTATOR_ARGV_1_float) \
79 /**/
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 /**/
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 /**/
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 /**/
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 /**/
#define MUTATOR_HOOKABLE(id, params)
Definition base.qh:129
#define EV_BuildGameplayTipsString(i, o)
appends mutator string for displaying extra gameplay tips
Definition events.qh:52
#define EV_BuildMutatorsString(i, o)
appends ":mutatorname" to argument for logging
Definition events.qh:38
#define MUTATOR_NEWGLOBAL(x, type)
Definition events.qh:18
#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_WP_Format(i, o)
Definition events.qh:63
#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
#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
#define EV_WeaponModel(i, o)
called when a weapon model is about to be set, allows custom paths etc.
Definition events.qh:109
#define EV_BuildMutatorsPrettyString(i, o)
appends ", Mutator name" to ret_string for display
Definition events.qh:45
#define EV_PlayerJump(i, o)
called when a player presses the jump key
Definition events.qh:83
#define MUTATOR_TYPES(_, x)
Definition events.qh:7
bool PlayerJump(entity this)
Definition player.qc:378
bool IsFlying(entity this)
Definition player.qc:836