]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/lib/spawnfunc.qh
Merge branch 'martin-t/nottarg' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / spawnfunc.qh
index 4638bca2d490544d8881d0e1507cfe048c7f7607..ac9ad505801b76edce158c34b8e3176c369e7c71 100644 (file)
@@ -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);
     }
 
@@ -144,6 +156,7 @@ noref bool require_spawnfunc_prefix;
                FIELD_SCALAR(fld, ammo_cells) \
                FIELD_SCALAR(fld, ammo_nails) \
                FIELD_SCALAR(fld, ammo_rockets) \
+               FIELD_SCALAR(fld, antiwall_flag) \
                FIELD_SCALAR(fld, armorvalue) \
                FIELD_SCALAR(fld, atten) \
                FIELD_SCALAR(fld, bgmscriptdecay) \
@@ -157,6 +170,8 @@ noref bool require_spawnfunc_prefix;
                FIELD_SCALAR(fld, cvarfilter) \
                FIELD_SCALAR(fld, debrisdamageforcescale) \
                FIELD_SCALAR(fld, debrisfadetime) \
+               FIELD_SCALAR(fld, debrismovetype) \
+               FIELD_SCALAR(fld, debrisskin) \
                FIELD_SCALAR(fld, debristimejitter) \
                FIELD_SCALAR(fld, debristime) \
                FIELD_SCALAR(fld, debris) \
@@ -241,6 +256,9 @@ noref bool require_spawnfunc_prefix;
                FIELD_VEC(fld, absmin) \
                FIELD_VEC(fld, angles) \
                FIELD_VEC(fld, avelocity) \
+               FIELD_VEC(fld, debrisavelocityjitter) \
+               FIELD_VEC(fld, debrisvelocity) \
+               FIELD_VEC(fld, debrisvelocityjitter) \
                FIELD_VEC(fld, color) \
                FIELD_VEC(fld, mangle) \
                FIELD_VEC(fld, maxs) \