UTIL ParticleTracer: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (links - please make the tiny amount of effort to link terms)
Line 21: Line 21:


<source lang=cpp>
<source lang=cpp>
switch ( iTracerType )
UTIL_ParticleTracer("tracer_bullet", vNewSrc, tr.endpos, entindex(), iAttachment, true);
{
    case TRACER_LINE:
          UTIL_ParticleTracer("tracer_bullet", vNewSrc, tr.endpos, entindex(), iAttachment, true);
  break;
 
    case TRACER_LINE_AND_WHIZ:
          UTIL_ParticleTracer("tracer_bullet", vNewSrc, tr.endpos, entindex(), iAttachment, true); 
          break;
}
</source>
</source>


[[Category:Programming]]
[[Category:Programming]]
[[Category:UTIL]]
[[Category:UTIL]]

Revision as of 09:35, 18 August 2011

Template:Wrongtitle 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, true);