diff --git a/src/playsim/p_effect.cpp b/src/playsim/p_effect.cpp index 899c4ba00..ee1be6a02 100644 --- a/src/playsim/p_effect.cpp +++ b/src/playsim/p_effect.cpp @@ -130,6 +130,11 @@ inline particle_t *NewParticle (FLevelLocals *Level, bool replace = false) particle_t* ntop = &Level->Particles[result->tnext]; ntop->tprev = Level->ActiveParticles; } + auto tnext = result->tnext; + auto tprev = result->tprev; + memset(result, 0, sizeof(particle_t)); + result->tnext = tnext; + result->tprev = tprev; } return result; }