diff options
Diffstat (limited to 'game/server/fire_smoke.h')
| -rw-r--r-- | game/server/fire_smoke.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/game/server/fire_smoke.h b/game/server/fire_smoke.h new file mode 100644 index 0000000..a41aeb4 --- /dev/null +++ b/game/server/fire_smoke.h @@ -0,0 +1,78 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +#ifndef FIRE_SMOKE_H +#define FIRE_SMOKE_H +#pragma once + +#include "baseparticleentity.h" + +//================================================== +// CBaseFire +//================================================== + +//NOTENOTE: Reserved for all descendants +#define bitsFIRE_NONE 0x00000000 +#define bitsFIRE_ACTIVE 0x00000001 + +class CBaseFire : public CBaseEntity +{ +public: + DECLARE_DATADESC(); + DECLARE_CLASS( CBaseFire, CBaseEntity ); + + CBaseFire( void ); + virtual ~CBaseFire( void ); + + virtual void Scale( float size, float time ); + virtual void Scale( float start, float size, float time ); + virtual void Enable( int state = true ); + + //Client-side + CNetworkVar( float, m_flStartScale ); + CNetworkVar( float, m_flScale ); + CNetworkVar( float, m_flScaleTime ); + CNetworkVar( int, m_nFlags ); +}; + +//================================================== +// CFireSmoke +//================================================== + +//NOTENOTE: Mirrored in cl_dll/c_fire_smoke.cpp +#define bitsFIRESMOKE_SMOKE 0x00000002 +#define bitsFIRESMOKE_SMOKE_COLLISION 0x00000004 +#define bitsFIRESMOKE_GLOW 0x00000008 +#define bitsFIRESMOKE_VISIBLE_FROM_ABOVE 0x00000010 + +class CFireSmoke : public CBaseFire +{ +public: + DECLARE_CLASS( CFireSmoke, CBaseFire ); + + CFireSmoke( void ); + virtual ~CFireSmoke( void ); + + void Spawn(); + void Precache(); + void EnableSmoke( int state = true ); + void EnableGlow( int state = true ); + void EnableVisibleFromAbove( int state = true ); + + DECLARE_SERVERCLASS(); + DECLARE_DATADESC(); + +public: + + //Client-side + CNetworkVar( int, m_nFlameModelIndex ); + CNetworkVar( int, m_nFlameFromAboveModelIndex ); + + //Server-side +}; + +#endif //FIRE_SMOKE_H |