You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.0 KiB
63 lines
2.0 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#include "cbase.h" |
|
#include "particlemgr.h" |
|
#include "particle_prototype.h" |
|
#include "particle_util.h" |
|
#include "particles_simple.h" |
|
#include "c_baseentity.h" |
|
#include "baseparticleentity.h" |
|
#include "engine/ivdebugoverlay.h" |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include "tier0/memdbgon.h" |
|
|
|
//================================================== |
|
// SporeSmokeEffect |
|
//================================================== |
|
|
|
class SporeSmokeEffect : public CSimpleEmitter |
|
{ |
|
public: |
|
SporeSmokeEffect( const char *pDebugName ) : CSimpleEmitter( pDebugName ) {} |
|
|
|
static SporeSmokeEffect* Create( const char *pDebugName ); |
|
|
|
virtual void UpdateVelocity( SimpleParticle *pParticle, float timeDelta ); |
|
virtual float UpdateAlpha( const SimpleParticle *pParticle ); |
|
|
|
private: |
|
SporeSmokeEffect( const SporeSmokeEffect & ); |
|
}; |
|
|
|
|
|
SporeSmokeEffect* SporeSmokeEffect::Create( const char *pDebugName ) |
|
{ |
|
return new SporeSmokeEffect( pDebugName ); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
// Input : *pParticle - |
|
// timeDelta - |
|
// Output : float |
|
//----------------------------------------------------------------------------- |
|
float SporeSmokeEffect::UpdateAlpha( const SimpleParticle *pParticle ) |
|
{ |
|
//return ( ((float)pParticle->m_uchStartAlpha/255.0f) * sin( M_PI * (pParticle->m_flLifetime / pParticle->m_flDieTime) ) ); |
|
return (pParticle->m_uchStartAlpha/255.0f) + ( (float)(pParticle->m_uchEndAlpha/255.0f) - (float)(pParticle->m_uchStartAlpha/255.0f) ) * (pParticle->m_flLifetime / pParticle->m_flDieTime); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
// Input : *pParticle - |
|
// timeDelta - |
|
//----------------------------------------------------------------------------- |
|
void SporeSmokeEffect::UpdateVelocity( SimpleParticle *pParticle, float timeDelta ) |
|
{ |
|
} |
|
|
|
|