summaryrefslogtreecommitdiff
path: root/game/server/steamjet.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/server/steamjet.h')
-rw-r--r--game/server/steamjet.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/game/server/steamjet.h b/game/server/steamjet.h
new file mode 100644
index 0000000..2d784d5
--- /dev/null
+++ b/game/server/steamjet.h
@@ -0,0 +1,60 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Defines the server side of a steam jet particle system entity.
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef STEAMJET_H
+#define STEAMJET_H
+#pragma once
+
+#include "baseparticleentity.h"
+
+//NOTENOTE: Mirrored in cl_dlls\c_steamjet.cpp
+#define STEAM_NORMAL 0
+#define STEAM_HEATWAVE 1
+
+//==================================================
+// CSteamJet
+//==================================================
+
+class CSteamJet : public CBaseParticleEntity
+{
+public:
+ CSteamJet();
+ DECLARE_CLASS( CSteamJet, CBaseParticleEntity );
+ DECLARE_DATADESC();
+ DECLARE_SERVERCLASS();
+
+ virtual void Spawn( void );
+ virtual void Precache( void );
+
+protected:
+
+ // Input handlers.
+ void InputTurnOn(inputdata_t &data);
+ void InputTurnOff(inputdata_t &data);
+ void InputToggle(inputdata_t &data);
+
+// Stuff from the datatable.
+public:
+ CNetworkVar( float, m_SpreadSpeed );
+ CNetworkVar( float, m_Speed );
+ CNetworkVar( float, m_StartSize );
+ CNetworkVar( float, m_EndSize );
+ CNetworkVar( float, m_Rate );
+ CNetworkVar( float, m_JetLength ); // Length of the jet. Lifetime is derived from this.
+
+ CNetworkVar( int, m_bEmit ); // Emit particles?
+ CNetworkVar( bool, m_bFaceLeft ); // For support of legacy env_steamjet, which faced left instead of forward.
+ bool m_InitialState;
+
+ CNetworkVar( int, m_nType ); // Type of steam (normal, heatwave)
+ CNetworkVar( float, m_flRollSpeed );
+
+ virtual void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
+};
+
+#endif // STEAMJET_H
+