X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Feffects%2Fall.qc;h=af41054e31c1c40c462ce041a2cc540fa1c570be;hb=29ba411594428929a9e9a0e0baa620210213bec7;hp=bc739192245ce8beadc88a30fec8a04d3811bc19;hpb=2b728b9c59ef61318b7ca5a261cb7fa45d2143aa;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/effects/all.qc b/qcsrc/common/effects/all.qc index bc7391922..af41054e3 100644 --- a/qcsrc/common/effects/all.qc +++ b/qcsrc/common/effects/all.qc @@ -1,7 +1,8 @@ #include "all.qh" -REGISTER_NET_TEMP(net_effect, bool isNew) +REGISTER_NET_TEMP(net_effect) #ifdef CSQC +NET_HANDLE(net_effect, bool isNew) { int net_name = (Effects_COUNT >= 255) ? ReadShort() : ReadByte(); @@ -27,9 +28,10 @@ REGISTER_NET_TEMP(net_effect, bool isNew) eff_cnt = ReadByte(); if(eff_trail) - WarpZone_TrailParticles(world, particleeffectnum(eff), v, vel); + WarpZone_TrailParticles(NULL, particleeffectnum(eff), v, vel); else pointparticles(eff, v, vel, eff_cnt); + return true; } #endif @@ -64,8 +66,7 @@ void Send_Effect(entity eff, vector eff_loc, vector eff_vel, int eff_cnt) { if(!eff) { return; } if(!eff.eent_eff_trail && !eff_cnt) { return; } // effect has no count! - entity net_eff = new(net_effect); - make_pure(net_eff); + entity net_eff = new_pure(net_effect); net_eff.owner = eff; //net_eff.eent_broadcast = broadcast; net_eff.m_id = eff.m_id; @@ -74,18 +75,22 @@ void Send_Effect(entity eff, vector eff_loc, vector eff_vel, int eff_cnt) net_eff.eent_net_count = eff_cnt; net_eff.eent_eff_trail = eff.eent_eff_trail; - entity e; FOR_EACH_REALCLIENT(e) Net_Write_Effect(net_eff, e, 0); - remove(net_eff); + FOREACH_CLIENT(IS_REAL_CLIENT(it), Net_Write_Effect(net_eff, it, 0)); + delete(net_eff); } void Send_Effect_(string eff_name, vector eff_loc, vector eff_vel, int eff_cnt) { // problem with this is, we might not have all the available effects for it - FOREACH(Effects, it.eent_eff_name == eff_name, LAMBDA( + FOREACH(Effects, it.eent_eff_name == eff_name, { Send_Effect(it, eff_loc, eff_vel, eff_cnt); return; - )); + }); // revert to engine handling __pointparticles(_particleeffectnum(eff_name), eff_loc, eff_vel, eff_cnt); } #endif + +#if ENABLE_EFFECTINFO + #include "effectinfo.qc" +#endif