X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Flib%2Fwarpzone%2Fserver.qc;h=116ad00023ae98b1a4321c609698298a2dd46f0b;hb=cd60b2d7d720d0ccc580eecd3abf2a4768092aba;hp=34ea2610dedd7afa60e30ce6bab89f7df643940a;hpb=e424ba544c41fc40b241b17bd7c1d9c2fc930705;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/lib/warpzone/server.qc b/qcsrc/lib/warpzone/server.qc index 34ea2610d..116ad0002 100644 --- a/qcsrc/lib/warpzone/server.qc +++ b/qcsrc/lib/warpzone/server.qc @@ -5,9 +5,9 @@ #elif defined(MENUQC) #elif defined(SVQC) #include + #include #include #include - #include #include #include #endif @@ -631,7 +631,6 @@ void WarpZone_InitStep_ClearTarget(entity this) this.enemy = NULL; } -entity warpzone_first; .entity warpzone_next; void WarpZone_InitStep_FindTarget(entity this) { float i; @@ -731,6 +730,8 @@ spawnfunc(trigger_warpzone) BITSET_ASSIGN(this.effects, EF_NODEPTHTEST); this.warpzone_next = warpzone_first; warpzone_first = this; + + IL_PUSH(g_warpzones, this); } spawnfunc(func_camera) { @@ -803,10 +804,19 @@ void WarpZone_StartFrame() WarpZone_PostInitialize_Callback(); } - FOREACH_ENTITY_FLOAT(pure_data, false, + if(warpzone_warpzones_exist) { - if(warpzone_warpzones_exist) + IL_EACH(g_projectiles, true, + { WarpZone_StoreProjectileData(it); + }); + } + + + FOREACH_CLIENT(true, + { + if(warpzone_warpzones_exist) + WarpZone_StoreProjectileData(it); // TODO: not actually needed if(IS_OBSERVER(it) || it.solid == SOLID_NOT) if(IS_CLIENT(it)) // we don't care about it being a bot