From: havoc Date: Sun, 18 May 2008 09:28:11 +0000 (+0000) Subject: don't try to send a svc_pointparticles or svc_trailparticles message if X-Git-Tag: xonotic-v0.1.0preview~2232 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=29cbb66a5e4ab2d5a9bbc370f8c54d9e5a2600bf;p=xonotic%2Fdarkplaces.git don't try to send a svc_pointparticles or svc_trailparticles message if the effectnum is negative (such as the -1 returned by particleeffectnum when it fails to find a match) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8301 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/clvm_cmds.c b/clvm_cmds.c index d0076932..a5ae8f06 100644 --- a/clvm_cmds.c +++ b/clvm_cmds.c @@ -1076,6 +1076,8 @@ static void VM_CL_trailparticles (void) start = PRVM_G_VECTOR(OFS_PARM2); end = PRVM_G_VECTOR(OFS_PARM3); + if (i < 0) + return; CL_ParticleEffect(i, VectorDistance(start, end), start, end, t->fields.client->velocity, t->fields.client->velocity, NULL, prog->argc >= 5 ? (int)PRVM_G_FLOAT(OFS_PARM4) : 0); } @@ -1089,6 +1091,8 @@ static void VM_CL_pointparticles (void) f = PRVM_G_VECTOR(OFS_PARM1); v = PRVM_G_VECTOR(OFS_PARM2); n = (int)PRVM_G_FLOAT(OFS_PARM3); + if (i < 0) + return; CL_ParticleEffect(i, n, f, f, v, v, NULL, prog->argc >= 5 ? (int)PRVM_G_FLOAT(OFS_PARM4) : 0); } diff --git a/svvm_cmds.c b/svvm_cmds.c index 28108f88..6bbd066d 100644 --- a/svvm_cmds.c +++ b/svvm_cmds.c @@ -2809,6 +2809,9 @@ static void VM_SV_trailparticles (void) { VM_SAFEPARMCOUNT(4, VM_SV_trailparticles); + if ((int)PRVM_G_FLOAT(OFS_PARM0) < 0) + return; + MSG_WriteByte(&sv.datagram, svc_trailparticles); MSG_WriteShort(&sv.datagram, PRVM_G_EDICTNUM(OFS_PARM0)); MSG_WriteShort(&sv.datagram, (int)PRVM_G_FLOAT(OFS_PARM1)); @@ -2823,6 +2826,10 @@ static void VM_SV_pointparticles (void) int effectnum, count; vec3_t org, vel; VM_SAFEPARMCOUNTRANGE(4, 8, VM_SV_pointparticles); + + if ((int)PRVM_G_FLOAT(OFS_PARM0) < 0) + return; + effectnum = (int)PRVM_G_FLOAT(OFS_PARM0); VectorCopy(PRVM_G_VECTOR(OFS_PARM1), org); VectorCopy(PRVM_G_VECTOR(OFS_PARM2), vel);