]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/base.qh
fix lots of keyhunt problems in the mutator system
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / base.qh
index 64ea0fa82ae8348e40348b2a25baf2bb3739bca8..56f20f7f73b9b3d75badde1b035363f4cd9b9e4b 100644 (file)
@@ -22,6 +22,7 @@ void Mutator_Remove(float(float) func); // calls error() on fail
 #define MUTATOR_ADD(name) Mutator_Add(MUTATOR_##name)
 #define MUTATOR_REMOVE(name) Mutator_Remove(MUTATOR_##name)
 #define MUTATOR_DEFINITION(name) float MUTATOR_##name(float mode)
+#define MUTATOR_DECLARATION(name) float MUTATOR_##name(float mode)
 #define MUTATOR_HOOKFUNCTION(name) float HOOKFUNCTION_##name()
 #define MUTATOR_HOOK(cb,func,order) do { if(mode == MUTATOR_ADDING) { if(!HOOK_##cb) HOOK_##cb = CallbackChain_New(#cb); if(!CallbackChain_Add(HOOK_##cb,HOOKFUNCTION_##func,order)) { print("HOOK FAILED: ", #func, "\n"); return 1; } } else if(mode == MUTATOR_REMOVING) { if(HOOK_##cb) CallbackChain_Remove(HOOK_##cb,HOOKFUNCTION_##func); } } while(0)
 #define MUTATOR_ONADD if(mode == MUTATOR_ADDING)
@@ -41,3 +42,5 @@ MUTATOR_HOOKABLE(ClientDisconnect);
 MUTATOR_HOOKABLE(PlayerDies); entity other; entity frag_attacker;
 MUTATOR_HOOKABLE(GiveFragsForKill); entity frag_attacker, frag_target; float frag_score;
 MUTATOR_HOOKABLE(MatchEnd);
+MUTATOR_HOOKABLE(GetTeamCount); float ret_float;
+MUTATOR_HOOKABLE(SpectateCopy); entity other;