X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fregistry.qh;fp=qcsrc%2Fcommon%2Fregistry.qh;h=3ce8c471e5442019462b7266fda6d347668b5a9e;hb=50350e3ca2c9ad942ac410b71fd8d638307feab4;hp=0087c1bf71b77b69cf3513fcb0da62aa42017fed;hpb=833a792349ec742031c228d5ec9aeb2c6826ec9b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/registry.qh b/qcsrc/common/registry.qh index 0087c1bf7..3ce8c471e 100644 --- a/qcsrc/common/registry.qh +++ b/qcsrc/common/registry.qh @@ -8,11 +8,15 @@ #define REGISTER(initfunc, ns, array, counter, id, class, fld) \ entity ns##_##id; \ REGISTER_INIT(ns, id) { } \ + .entity enemy; /* internal next pointer */ \ void Register_##ns##_##id() { \ entity this = NEW(class); \ ns##_##id = this; \ this.fld = counter; \ array[counter++] = this; \ + if (!array##_first) array##_first = this; \ + if ( array##_last) array##_last.enemy = this; \ + array##_last = this; \ Register_##ns##_##id##_init(this); \ } \ ACCUMULATE_FUNCTION(initfunc, Register_##ns##_##id) \