aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/fire_smoke.h
blob: a41aeb456bd86f2862866237960dd0db20e61ca0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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