aboutsummaryrefslogtreecommitdiff
path: root/sp/src/game/client/hl2/c_antlion_dust.cpp
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /sp/src/game/client/hl2/c_antlion_dust.cpp
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/game/client/hl2/c_antlion_dust.cpp')
-rw-r--r--sp/src/game/client/hl2/c_antlion_dust.cpp438
1 files changed, 219 insertions, 219 deletions
diff --git a/sp/src/game/client/hl2/c_antlion_dust.cpp b/sp/src/game/client/hl2/c_antlion_dust.cpp
index 3b15532d..f883cc74 100644
--- a/sp/src/game/client/hl2/c_antlion_dust.cpp
+++ b/sp/src/game/client/hl2/c_antlion_dust.cpp
@@ -1,219 +1,219 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#include "cbase.h"
-#include "fx.h"
-#include "particlemgr.h"
-#include "particle_prototype.h"
-#include "particle_util.h"
-#include "c_te_particlesystem.h"
-#include "particles_ez.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-#define DUST_STARTSIZE 16
-#define DUST_ENDSIZE 48
-#define DUST_RADIUS 32.0f
-#define DUST_STARTALPHA 0.3f
-#define DUST_ENDALPHA 0.0f
-#define DUST_LIFETIME 2.0f
-
-static Vector g_AntlionDustColor( 0.3f, 0.25f, 0.2f );
-
-extern IPhysicsSurfaceProps *physprops;
-
-class CAntlionDustEmitter : public CSimpleEmitter
-{
-public:
- static CAntlionDustEmitter *Create( const char *debugname )
- {
- return new CAntlionDustEmitter( debugname );
- }
-
- void UpdateVelocity( SimpleParticle *pParticle, float timeDelta )
- {
- //FIXME: Incorrect
- pParticle->m_vecVelocity *= 0.9f;
- }
-
-private:
- CAntlionDustEmitter( const char *pDebugName ) : CSimpleEmitter( pDebugName ) {}
- CAntlionDustEmitter( const CAntlionDustEmitter & ); // not defined, not accessible
-};
-
-//==================================================
-// C_TEAntlionDust
-//==================================================
-
-class C_TEAntlionDust: public C_TEParticleSystem
-{
-public:
-
- DECLARE_CLASS( C_TEAntlionDust, C_TEParticleSystem );
- DECLARE_CLIENTCLASS();
-
- C_TEAntlionDust();
- virtual ~C_TEAntlionDust();
-
-//C_BaseEntity
-public:
- virtual void PostDataUpdate( DataUpdateType_t updateType );
- virtual bool ShouldDraw() { return true; }
-
-
-//IParticleEffect
-public:
- virtual void RenderParticles( CParticleRenderIterator *pIterator );
- virtual void SimulateParticles( CParticleSimulateIterator *pIterator );
-
-public:
- PMaterialHandle m_MaterialHandle;
-
- Vector m_vecOrigin;
- QAngle m_vecAngles;
- bool m_bBlockedSpawner;
-
-protected:
- void GetDustColor( Vector &color );
-};
-
-// Expose to the particle app.
-EXPOSE_PROTOTYPE_EFFECT( AntlionDust, C_TEAntlionDust );
-
-IMPLEMENT_CLIENTCLASS_EVENT_DT( C_TEAntlionDust, DT_TEAntlionDust, CTEAntlionDust )
- RecvPropVector(RECVINFO( m_vecOrigin )),
- RecvPropVector(RECVINFO( m_vecAngles )),
- RecvPropBool(RECVINFO( m_bBlockedSpawner )),
-END_RECV_TABLE()
-
-//==================================================
-// C_TEAntlionDust
-//==================================================
-
-C_TEAntlionDust::C_TEAntlionDust()
-{
- m_MaterialHandle = INVALID_MATERIAL_HANDLE;
- m_vecOrigin.Init();
- m_vecAngles.Init();
- m_bBlockedSpawner = false;
-}
-
-C_TEAntlionDust::~C_TEAntlionDust()
-{
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : bNewEntity - whether or not to start a new entity
-//-----------------------------------------------------------------------------
-
-void C_TEAntlionDust::PostDataUpdate( DataUpdateType_t updateType )
-{
- // This style of creating dust emitters is now deprecated; we use the simple particle singleton exclusively.
- /*
- CSmartPtr<CAntlionDustEmitter> pDustEmitter = CAntlionDustEmitter::Create( "TEAntlionDust" );
- Assert( pDustEmitter );
- if ( pDustEmitter == NULL )
- return;
-
- pDustEmitter->SetSortOrigin( m_vecOrigin );
- pDustEmitter->SetNearClip( 32, 64 );
- pDustEmitter->GetBinding().SetBBox( m_vecOrigin - Vector( 32, 32, 32 ), m_vecOrigin + Vector( 32, 32, 32 ) );
- */
-
- Vector offset;
- Vector vecColor;
- GetDustColor( vecColor );
-
- int iParticleCount = 16;
-
- if ( m_bBlockedSpawner == true )
- {
- iParticleCount = 8;
- }
-
- //Spawn the dust
- SimpleParticle particle;
- for ( int i = 0; i < iParticleCount; i++ )
- {
- //Offset this dust puff's origin
- offset[0] = random->RandomFloat( -DUST_RADIUS, DUST_RADIUS );
- offset[1] = random->RandomFloat( -DUST_RADIUS, DUST_RADIUS );
- offset[2] = random->RandomFloat( -16, 8 );
-
- offset += m_vecOrigin;
-
- particle.m_Pos = offset;
- particle.m_flDieTime = random->RandomFloat( 0.75f, 1.25f );
- particle.m_flLifetime = 0.0f;
-
- Vector dir = particle.m_Pos - m_vecOrigin;
- particle.m_vecVelocity = dir * random->RandomFloat( 0.5f, 1.0f );
- dir.z = fabs(dir.z);
-
- float colorRamp = random->RandomFloat( 0.5f, 1.0f );
- Vector color = vecColor*colorRamp;
-
- color[0] = clamp( color[0], 0.0f, 1.0f );
- color[1] = clamp( color[1], 0.0f, 1.0f );
- color[2] = clamp( color[2], 0.0f, 1.0f );
-
- color *= 255;
-
- particle.m_uchColor[0] = color[0];
- particle.m_uchColor[1] = color[1];
- particle.m_uchColor[2] = color[2];
-
- particle.m_uchStartAlpha= random->RandomFloat( 64, 128 );
- particle.m_uchEndAlpha = 0;
-
- particle.m_uchStartSize = random->RandomInt( 16, 32 );
- particle.m_uchEndSize = particle.m_uchStartSize * 3;
- particle.m_flRoll = random->RandomInt( 0, 360 );
- particle.m_flRollDelta = random->RandomFloat( -0.2f, 0.2f );
-
- // Though it appears there are two particle handle entries in g_Mat_DustPuff, in fact
- // only the one present at index 0 actually draws. Trying to spawn a particle with
- // the other material will give you no particle at all. Therefore while instead of this:
- // AddSimpleParticle( &particle, g_Mat_DustPuff[random->RandomInt(0,1) );
- // we have to do this:
- AddSimpleParticle( &particle, g_Mat_DustPuff[0] );
- }
-}
-
-void GetColorForSurface( trace_t *trace, Vector *color );
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : &color -
-//-----------------------------------------------------------------------------
-void C_TEAntlionDust::GetDustColor( Vector &color )
-{
- trace_t tr;
- UTIL_TraceLine( m_vecOrigin+Vector(0,0,1), m_vecOrigin+Vector(0,0,-32),
- MASK_SOLID_BRUSHONLY, NULL, COLLISION_GROUP_NONE, &tr );
-
- if ( tr.fraction < 1.0f )
- {
- GetColorForSurface( &tr, &color );
- }
- else
- {
- //Fill in a fallback
- color = g_AntlionDustColor;
- }
-}
-
-void C_TEAntlionDust::RenderParticles( CParticleRenderIterator *pIterator )
-{
-}
-
-void C_TEAntlionDust::SimulateParticles( CParticleSimulateIterator *pIterator )
-{
-}
-
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#include "cbase.h"
+#include "fx.h"
+#include "particlemgr.h"
+#include "particle_prototype.h"
+#include "particle_util.h"
+#include "c_te_particlesystem.h"
+#include "particles_ez.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+#define DUST_STARTSIZE 16
+#define DUST_ENDSIZE 48
+#define DUST_RADIUS 32.0f
+#define DUST_STARTALPHA 0.3f
+#define DUST_ENDALPHA 0.0f
+#define DUST_LIFETIME 2.0f
+
+static Vector g_AntlionDustColor( 0.3f, 0.25f, 0.2f );
+
+extern IPhysicsSurfaceProps *physprops;
+
+class CAntlionDustEmitter : public CSimpleEmitter
+{
+public:
+ static CAntlionDustEmitter *Create( const char *debugname )
+ {
+ return new CAntlionDustEmitter( debugname );
+ }
+
+ void UpdateVelocity( SimpleParticle *pParticle, float timeDelta )
+ {
+ //FIXME: Incorrect
+ pParticle->m_vecVelocity *= 0.9f;
+ }
+
+private:
+ CAntlionDustEmitter( const char *pDebugName ) : CSimpleEmitter( pDebugName ) {}
+ CAntlionDustEmitter( const CAntlionDustEmitter & ); // not defined, not accessible
+};
+
+//==================================================
+// C_TEAntlionDust
+//==================================================
+
+class C_TEAntlionDust: public C_TEParticleSystem
+{
+public:
+
+ DECLARE_CLASS( C_TEAntlionDust, C_TEParticleSystem );
+ DECLARE_CLIENTCLASS();
+
+ C_TEAntlionDust();
+ virtual ~C_TEAntlionDust();
+
+//C_BaseEntity
+public:
+ virtual void PostDataUpdate( DataUpdateType_t updateType );
+ virtual bool ShouldDraw() { return true; }
+
+
+//IParticleEffect
+public:
+ virtual void RenderParticles( CParticleRenderIterator *pIterator );
+ virtual void SimulateParticles( CParticleSimulateIterator *pIterator );
+
+public:
+ PMaterialHandle m_MaterialHandle;
+
+ Vector m_vecOrigin;
+ QAngle m_vecAngles;
+ bool m_bBlockedSpawner;
+
+protected:
+ void GetDustColor( Vector &color );
+};
+
+// Expose to the particle app.
+EXPOSE_PROTOTYPE_EFFECT( AntlionDust, C_TEAntlionDust );
+
+IMPLEMENT_CLIENTCLASS_EVENT_DT( C_TEAntlionDust, DT_TEAntlionDust, CTEAntlionDust )
+ RecvPropVector(RECVINFO( m_vecOrigin )),
+ RecvPropVector(RECVINFO( m_vecAngles )),
+ RecvPropBool(RECVINFO( m_bBlockedSpawner )),
+END_RECV_TABLE()
+
+//==================================================
+// C_TEAntlionDust
+//==================================================
+
+C_TEAntlionDust::C_TEAntlionDust()
+{
+ m_MaterialHandle = INVALID_MATERIAL_HANDLE;
+ m_vecOrigin.Init();
+ m_vecAngles.Init();
+ m_bBlockedSpawner = false;
+}
+
+C_TEAntlionDust::~C_TEAntlionDust()
+{
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : bNewEntity - whether or not to start a new entity
+//-----------------------------------------------------------------------------
+
+void C_TEAntlionDust::PostDataUpdate( DataUpdateType_t updateType )
+{
+ // This style of creating dust emitters is now deprecated; we use the simple particle singleton exclusively.
+ /*
+ CSmartPtr<CAntlionDustEmitter> pDustEmitter = CAntlionDustEmitter::Create( "TEAntlionDust" );
+ Assert( pDustEmitter );
+ if ( pDustEmitter == NULL )
+ return;
+
+ pDustEmitter->SetSortOrigin( m_vecOrigin );
+ pDustEmitter->SetNearClip( 32, 64 );
+ pDustEmitter->GetBinding().SetBBox( m_vecOrigin - Vector( 32, 32, 32 ), m_vecOrigin + Vector( 32, 32, 32 ) );
+ */
+
+ Vector offset;
+ Vector vecColor;
+ GetDustColor( vecColor );
+
+ int iParticleCount = 16;
+
+ if ( m_bBlockedSpawner == true )
+ {
+ iParticleCount = 8;
+ }
+
+ //Spawn the dust
+ SimpleParticle particle;
+ for ( int i = 0; i < iParticleCount; i++ )
+ {
+ //Offset this dust puff's origin
+ offset[0] = random->RandomFloat( -DUST_RADIUS, DUST_RADIUS );
+ offset[1] = random->RandomFloat( -DUST_RADIUS, DUST_RADIUS );
+ offset[2] = random->RandomFloat( -16, 8 );
+
+ offset += m_vecOrigin;
+
+ particle.m_Pos = offset;
+ particle.m_flDieTime = random->RandomFloat( 0.75f, 1.25f );
+ particle.m_flLifetime = 0.0f;
+
+ Vector dir = particle.m_Pos - m_vecOrigin;
+ particle.m_vecVelocity = dir * random->RandomFloat( 0.5f, 1.0f );
+ dir.z = fabs(dir.z);
+
+ float colorRamp = random->RandomFloat( 0.5f, 1.0f );
+ Vector color = vecColor*colorRamp;
+
+ color[0] = clamp( color[0], 0.0f, 1.0f );
+ color[1] = clamp( color[1], 0.0f, 1.0f );
+ color[2] = clamp( color[2], 0.0f, 1.0f );
+
+ color *= 255;
+
+ particle.m_uchColor[0] = color[0];
+ particle.m_uchColor[1] = color[1];
+ particle.m_uchColor[2] = color[2];
+
+ particle.m_uchStartAlpha= random->RandomFloat( 64, 128 );
+ particle.m_uchEndAlpha = 0;
+
+ particle.m_uchStartSize = random->RandomInt( 16, 32 );
+ particle.m_uchEndSize = particle.m_uchStartSize * 3;
+ particle.m_flRoll = random->RandomInt( 0, 360 );
+ particle.m_flRollDelta = random->RandomFloat( -0.2f, 0.2f );
+
+ // Though it appears there are two particle handle entries in g_Mat_DustPuff, in fact
+ // only the one present at index 0 actually draws. Trying to spawn a particle with
+ // the other material will give you no particle at all. Therefore while instead of this:
+ // AddSimpleParticle( &particle, g_Mat_DustPuff[random->RandomInt(0,1) );
+ // we have to do this:
+ AddSimpleParticle( &particle, g_Mat_DustPuff[0] );
+ }
+}
+
+void GetColorForSurface( trace_t *trace, Vector *color );
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : &color -
+//-----------------------------------------------------------------------------
+void C_TEAntlionDust::GetDustColor( Vector &color )
+{
+ trace_t tr;
+ UTIL_TraceLine( m_vecOrigin+Vector(0,0,1), m_vecOrigin+Vector(0,0,-32),
+ MASK_SOLID_BRUSHONLY, NULL, COLLISION_GROUP_NONE, &tr );
+
+ if ( tr.fraction < 1.0f )
+ {
+ GetColorForSurface( &tr, &color );
+ }
+ else
+ {
+ //Fill in a fallback
+ color = g_AntlionDustColor;
+ }
+}
+
+void C_TEAntlionDust::RenderParticles( CParticleRenderIterator *pIterator )
+{
+}
+
+void C_TEAntlionDust::SimulateParticles( CParticleSimulateIterator *pIterator )
+{
+}
+