From: Mario Date: Wed, 26 Aug 2015 01:38:05 +0000 (+1000) Subject: Add hooks to tag index X-Git-Tag: xonotic-v0.8.2~2030 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2b148a7d082ddc35d621c5a1607f9c897a15cb4e;p=xonotic%2Fxonotic-data.pk3dir.git Add hooks to tag index --- diff --git a/qcsrc/client/csqcmodel_hooks.qc b/qcsrc/client/csqcmodel_hooks.qc index 91f3bfb4c..227341ae3 100644 --- a/qcsrc/client/csqcmodel_hooks.qc +++ b/qcsrc/client/csqcmodel_hooks.qc @@ -12,6 +12,8 @@ #include "../common/teams.qh" #include "../common/triggers/trigger/viewloc.qh" +#include "mutators/events.qh" + #include "../csqcmodellib/cl_model.qh" #include "../csqcmodellib/cl_player.qh" #include "../csqcmodellib/interpolate.qh" @@ -407,6 +409,8 @@ void CSQCModel_AutoTagIndex_Apply(void) if(self.viewloc.entnum != self.tag_networkviewloc) self.viewloc = findfloat(world, entnum, self.tag_networkviewloc); + MUTATOR_CALLHOOK(TagIndex_Update, self); + if(self.tag_networkentity) { // we are ATTACHED! @@ -464,6 +468,8 @@ void CSQCModel_AutoTagIndex_Apply(void) if(!self.tag_index) self.tag_index = gettagindex(self.tag_entity, "tag_shot"); } + + MUTATOR_CALLHOOK(TagIndex_Apply, self); } else { diff --git a/qcsrc/client/mutators/events.qh b/qcsrc/client/mutators/events.qh index 16ae922f2..363af87a0 100644 --- a/qcsrc/client/mutators/events.qh +++ b/qcsrc/client/mutators/events.qh @@ -76,4 +76,16 @@ MUTATOR_HOOKABLE(EditProjectile, EV_EditProjectile); /* Called when projectiles are precached */ MUTATOR_HOOKABLE(PrecacheProjectiles, EV_NO_ARGS); +/** Called when updating the attached tags index */ +#define EV_TagIndex_Update(i, o) \ + /** entity id */ i(entity, self) \ + /**/ +MUTATOR_HOOKABLE(TagIndex_Update, EV_TagIndex_Update); + +/** Called when setting the attached tags */ +#define EV_TagIndex_Apply(i, o) \ + /** entity id */ i(entity, self) \ + /**/ +MUTATOR_HOOKABLE(TagIndex_Apply, EV_TagIndex_Apply); + #endif