//========= 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