summaryrefslogtreecommitdiff
path: root/game/server/fire_smoke.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/server/fire_smoke.h')
-rw-r--r--game/server/fire_smoke.h78
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