X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Flib%2Fspawnfunc.qh;h=884714e3596928e9ef334c5d0efd711d21e76cf4;hb=d865de7a9a17c5a1d9286aec40f68c3530697660;hp=4638bca2d490544d8881d0e1507cfe048c7f7607;hpb=a1372cef7e6aa5fc6f92777b990c8adbf4723d19;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/lib/spawnfunc.qh b/qcsrc/lib/spawnfunc.qh index 4638bca2d..884714e35 100644 --- a/qcsrc/lib/spawnfunc.qh +++ b/qcsrc/lib/spawnfunc.qh @@ -36,6 +36,10 @@ noref bool require_spawnfunc_prefix; #define SPAWNFUNC_INTERNAL_FIELDS(X) \ X(string, classname, "spawnfunc") \ + X(string, target, string_null) \ + X(string, target2, string_null) \ + X(string, target3, string_null) \ + X(string, target4, string_null) \ X(string, targetname, string_null) \ /**/ @@ -57,7 +61,9 @@ noref bool require_spawnfunc_prefix; g_map_entities = IL_NEW(); \ IL_EACH(g_spawn_queue, true, __spawnfunc_spawn(it)); \ MACRO_END - +#ifdef SVQC + void _SV_OnEntityPreSpawnFunction(entity this); +#endif void __spawnfunc_spawn(entity prototype) { entity e = new(clone); @@ -66,6 +72,12 @@ noref bool require_spawnfunc_prefix; #define X(T, fld, def) { e.fld = e.__spawnfunc_##fld; e.__spawnfunc_##fld = def; } SPAWNFUNC_INTERNAL_FIELDS(X); #undef X +#ifdef SVQC + _SV_OnEntityPreSpawnFunction(e); + if (wasfreed(e)) { + return; + } +#endif e.__spawnfunc_constructor(e); }