UTIL ParticleTracer
UTIL_ParticleTracer is a UTIL provided in the Source code for dispatching bullet tracer effects with the Orange Box particle system. It works by setting control points 0 and 1, where 0 is where the tracer starts and point 1 is where the tracer ends. The particle effect should implement the Move Particles Between 2 Control Points initializer.
Usage
//-----------------------------------------------------------------------------
// Purpose: Make a tracer using a particle effect
//-----------------------------------------------------------------------------
void UTIL_ParticleTracer( const char *pszTracerEffectName, const Vector &vecStart, const Vector &vecEnd,
int iEntIndex, int iAttachment, bool bWhiz )
{
int iParticleIndex = GetParticleSystemIndex( pszTracerEffectName );
UTIL_Tracer( vecStart, vecEnd, iEntIndex, iAttachment, 0, bWhiz, "ParticleTracer", iParticleIndex );
}
Examples
You can override the default tracer in basecombatweapon_shared.cpp by replacing the switch statement around line 749:
UTIL_ParticleTracer("tracer_bullet", vNewSrc, tr.endpos, entindex(), iAttachment, iTracerType == TRACER_LINE_AND_WHIZ);