]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/lib/_all.inc
Merge branch 'martin-t/nottarg' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / _all.inc
index d8f07455a28c7766065c6b6e0737020a4758a5e4..d44c5e89cdda2acacbd1b615bfbc55dc8bb93b9f 100644 (file)
@@ -182,7 +182,17 @@ void make_safe_for_remove(entity this);
        #define SV_Shutdown _SV_Shutdown
 
        void _StartFrame();
-       void StartFrame() { if (_StartFrame) _StartFrame(); }
+       bool _StartFrame_init;
+       void spawnfunc_worldspawn(entity);
+       void StartFrame() {
+               if (!_StartFrame_init) {
+                       _StartFrame_init = true;
+                       float oldtime = time; time = 1;
+                       __spawnfunc_expecting = 2; NULL.__spawnfunc_constructor(NULL);
+                       time = oldtime;
+        }
+        if (_StartFrame) _StartFrame();
+       }
        #define StartFrame _StartFrame
 
        void _SetNewParms();
@@ -231,7 +241,8 @@ void make_safe_for_remove(entity this);
        void SV_OnEntityPreSpawnFunction()
        {
                ENGINE_EVENT();
-               if (_SV_OnEntityPreSpawnFunction) _SV_OnEntityPreSpawnFunction(this);
+               __spawnfunc_expecting = true;
+               __spawnfunc_expect = this;
        }
        #define SV_OnEntityPreSpawnFunction _SV_OnEntityPreSpawnFunction
 
@@ -250,13 +261,7 @@ void make_safe_for_remove(entity this);
 
 #ifdef CSQC
        void _CSQC_Init();
-       void CSQC_Init()
-       {
-               static_init();
-               static_init_late();
-               static_init_precache();
-               if (_CSQC_Init) _CSQC_Init();
-       }
+       void CSQC_Init() { if (_CSQC_Init) _CSQC_Init(); }
        #define CSQC_Init _CSQC_Init
 
        void _CSQC_Shutdown();