#ifdef SVQC
// NOTE: also contains func_sparks
-float pointparticles_SendEntity(entity to, float fl)
+bool pointparticles_SendEntity(entity this, entity to, float fl)
{
- WriteByte(MSG_ENTITY, ENT_CLIENT_POINTPARTICLES);
+ WriteHeader(MSG_ENTITY, ENT_CLIENT_POINTPARTICLES);
// optional features to save space
fl = fl & 0x0F;
}
void pointparticles_use()
-{
+{SELFPARAM();
self.state = !self.state;
self.SendFlags |= 2;
}
void pointparticles_think()
-{
+{SELFPARAM();
if(self.origin != self.oldorigin)
{
self.SendFlags |= 4;
}
void pointparticles_reset()
-{
+{SELFPARAM();
if(self.spawnflags & 1)
self.state = 1;
else
self.state = 0;
}
-void spawnfunc_func_pointparticles()
+spawnfunc(func_pointparticles)
{
if(self.model != "")
- setmodel(self, self.model);
+ _setmodel(self, self.model);
if(self.noise != "")
precache_sound (self.noise);
setsize(self, '0 0 0', self.maxs - self.mins);
}
if(!self.cnt)
- self.cnt = particleeffectnum(self.mdl);
+ self.cnt = _particleeffectnum(self.mdl);
Net_LinkEntity(self, (self.spawnflags & 4), 0, pointparticles_SendEntity);
self.nextthink = time;
}
-void spawnfunc_func_sparks()
+spawnfunc(func_sparks)
{
// self.cnt is the amount of sparks that one burst will spawn
if(self.cnt < 1) {
self.wait = 0;
self.cnt = 0; // use mdl
- spawnfunc_func_pointparticles();
+ spawnfunc_func_pointparticles(this);
}
#elif defined(CSQC)
-void Draw_PointParticles()
+void Draw_PointParticles(entity this)
{
float n, i, fail;
vector p;
{
traceline(p, p + normalize(self.movedir) * 4096, 0, world);
p = trace_endpos;
- pointparticles(self.cnt, p, trace_plane_normal * vlen(self.movedir) + self.velocity + randomvec() * self.waterlevel, self.count);
+ __pointparticles(self.cnt, p, trace_plane_normal * vlen(self.movedir) + self.velocity + randomvec() * self.waterlevel, self.count);
}
else
{
- pointparticles(self.cnt, p, self.velocity + randomvec() * self.waterlevel, self.count);
+ __pointparticles(self.cnt, p, self.velocity + randomvec() * self.waterlevel, self.count);
}
if(self.noise != "")
{
setorigin(self, p);
- sound(self, CH_AMBIENT, self.noise, VOL_BASE * self.volume, self.atten);
+ _sound(self, CH_AMBIENT, self.noise, VOL_BASE * self.volume, self.atten);
}
self.just_toggled = 0;
}
}
void Ent_PointParticles_Remove()
-{
+{SELFPARAM();
if(self.noise)
strunzone(self.noise);
self.noise = string_null;
self.bgmscript = string_null;
}
-void Ent_PointParticles()
+NET_HANDLE(ENT_CLIENT_POINTPARTICLES, bool isnew)
{
float i;
vector v;
BGMScript_InitEntity(self);
}
+ return = true;
+
if(f & 2)
{
self.absolute = (self.impulse >= 0);