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.
64 lines
2.0 KiB
64 lines
2.0 KiB
![]()
4 years ago
|
//========= 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 )
|
||
|
{
|
||
|
}
|
||
|
|