mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2024-12-23 01:59:43 +08:00
64 lines
2.1 KiB
C++
64 lines
2.1 KiB
C++
//========= 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 )
|
|
{
|
|
}
|
|
|