X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmutators%2Fbase.qh;h=163960ba5f5d9ee2d4841b277d28bbe2b316f464;hb=f5509437b7b847d2a130bfbb04d019abba846979;hp=4f940c42b3c016f3e9131e0c6d3b213bc4d5497a;hpb=e87123e5fba23f7a8907e6fbab241c5eec5be168;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mutators/base.qh b/qcsrc/common/mutators/base.qh index 4f940c42b..163960ba5 100644 --- a/qcsrc/common/mutators/base.qh +++ b/qcsrc/common/mutators/base.qh @@ -135,7 +135,7 @@ void RegisterCallbacks() {}; params(_MUTATOR_HANDLE_NOP, _MUTATOR_HANDLE_POPOUT) \ return ret; \ } \ - [[accumulate]] void RegisterHooks() { HOOK_##id = NEW(CallbackChain, #id); } + ACCUMULATE void RegisterHooks() { HOOK_##id = NEW(CallbackChain, #id); } #define MUTATOR_CALLHOOK(id, ...) _MUTATOR_CALLHOOK(id, __VA_ARGS__) #ifdef __STDC__ @@ -171,6 +171,8 @@ void Mutator_Remove(Mutator mut); bool mutator_log = false; .bool m_added; +#define MUTATOR_IS_ENABLED(this) MUTATOR_##this.mutatorcheck() + #ifdef GAMEQC /** server mutators activate corresponding client mutators for all clients */ REGISTER_NET_LINKED(Mutator) @@ -265,7 +267,7 @@ void Mutator_Remove(Mutator mut) bool MUTATOR_##id##_check() { return dependence; } \ REGISTER(Mutators, MUTATOR, id, m_id, NEW(Mutator, #id, MUTATORFUNCTION_##id)) \ { this.mutatorcheck = MUTATOR_##id##_check; } \ - [[accumulate]] bool MUTATORFUNCTION_##id(int mode) + ACCUMULATE bool MUTATORFUNCTION_##id(int mode) STATIC_INIT(Mutators) { RegisterHooks(); @@ -301,7 +303,7 @@ STATIC_INIT_LATE(Mutators) { #define _MUTATOR_CALLBACK(name, func) \ Callback CALLBACK_##name; \ bool func(); \ - [[accumulate]] void RegisterCallbacks() { CALLBACK_##name = NEW(Callback, func); } + ACCUMULATE void RegisterCallbacks() { CALLBACK_##name = NEW(Callback, func); } #define MUTATOR_HOOKFUNCTION(...) \ EVAL_MUTATOR_HOOKFUNCTION(OVERLOAD(MUTATOR_HOOKFUNCTION, __VA_ARGS__)) @@ -312,9 +314,9 @@ STATIC_INIT_LATE(Mutators) { #define MUTATOR_HOOKFUNCTION_3(mut, cb, order) \ _MUTATOR_CALLBACK(mut##_##cb, mut##_##cb) \ - [[accumulate]] bool MUTATORFUNCTION_##mut##_hooks(int mode) { MUTATOR_HOOK(cb, mut##_##cb, order); } \ + ACCUMULATE bool MUTATORFUNCTION_##mut##_hooks(int mode) { MUTATOR_HOOK(cb, mut##_##cb, order); } \ bool mut##_##cb() { return = false; } \ - [[accumulate]] bool mut##_##cb() + ACCUMULATE bool mut##_##cb() #define MUTATOR_HOOK(cb, func, order) MACRO_BEGIN { \ MUTATOR_ONADD { \