From 29cbb66a5e4ab2d5a9bbc370f8c54d9e5a2600bf Mon Sep 17 00:00:00 2001 From: havoc Date: Sun, 18 May 2008 09:28:11 +0000 Subject: [PATCH] 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 --- clvm_cmds.c | 4 ++++ svvm_cmds.c | 7 +++++++ 2 files changed, 11 insertions(+) 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); -- 2.39.2