X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fmutators%2Fevents.qh;h=d08b020e3556c97d9352634ab70776d67dfd2cda;hb=606cd54963445b5e07344253d1f6cddb72bc5ad8;hp=56947865db01bfcdc9876ac886ad9ee6e2a1342e;hpb=711400a2c7497eccc945f2ef85b5364f02e85a5b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/mutators/events.qh b/qcsrc/client/mutators/events.qh index 56947865d..d08b020e3 100644 --- a/qcsrc/client/mutators/events.qh +++ b/qcsrc/client/mutators/events.qh @@ -2,6 +2,11 @@ #include +// register all possible hooks here + +// to use a hook, first register your mutator using REGISTER_MUTATOR +// then create your function using MUTATOR_HOOKFUNCTION + /** * Called when a client command is parsed * NOTE: hooks MUST start with if (MUTATOR_RETURNVALUE) return false; @@ -158,21 +163,39 @@ MUTATOR_HOOKABLE(DrawCrosshair, EV_NO_ARGS); /** Return true to not draw scoreboard */ MUTATOR_HOOKABLE(DrawScoreboard, EV_NO_ARGS); -/** Called when drawing info messages, allows adding new info messages */ +/** Called when drawing info messages, allows adding new info messages. Return true to hide the standard join message */ #define EV_DrawInfoMessages(i, o) \ /** pos */ i(vector, MUTATOR_ARGV_0_vector) \ + /***/ o(vector, MUTATOR_ARGV_0_vector) \ /** mySize */ i(vector, MUTATOR_ARGV_1_vector) \ + /** img_curr_group */ i(int, MUTATOR_ARGV_2_int) \ + /***/ o(int, MUTATOR_ARGV_2_int) \ /**/ MUTATOR_HOOKABLE(DrawInfoMessages, EV_DrawInfoMessages); -/** Called when drawing info messages, allows adding new info messages */ -#define EV_HUD_WriteCvars(i, o) \ - /** file */ i(float, MUTATOR_ARGV_0_float) \ - /**/ -MUTATOR_HOOKABLE(HUD_WriteCvars, EV_HUD_WriteCvars); - /** Called when the view model is being animated (setorigin is called after the hook, so you only need to modify origin here if desired) */ #define EV_DrawViewModel(i, o) \ /** entity id */ i(entity, MUTATOR_ARGV_0_entity) \ /**/ MUTATOR_HOOKABLE(DrawViewModel, EV_DrawViewModel); + +/** Called when updating the view's liquid contents, return true to disable the standard checks and apply your own */ +MUTATOR_HOOKABLE(HUD_Contents, EV_NO_ARGS); + +/** Return true to disable player model/color forcing */ +#define EV_ForcePlayermodels_Skip(i, o) \ + /** entity id */ i(entity, MUTATOR_ARGV_0_entity) \ + /** is local */ i(bool, MUTATOR_ARGV_1_bool) \ + /**/ +MUTATOR_HOOKABLE(ForcePlayermodels_Skip, EV_ForcePlayermodels_Skip); + +/** Called when damage info is received on the client, useful for playing explosion effects */ +#define EV_DamageInfo(i, o) \ + /** entity id */ i(entity, MUTATOR_ARGV_0_entity) \ + /** death type */ i(int, MUTATOR_ARGV_1_int) \ + /** hit origin */ i(vector, MUTATOR_ARGV_2_vector) \ + /**/ +MUTATOR_HOOKABLE(DamageInfo, EV_DamageInfo); + +/** Return true to not draw zoom reticle */ +MUTATOR_HOOKABLE(DrawReticle, EV_NO_ARGS);