aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/hl2/extinguisherjet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/server/hl2/extinguisherjet.cpp')
-rw-r--r--mp/src/game/server/hl2/extinguisherjet.cpp404
1 files changed, 202 insertions, 202 deletions
diff --git a/mp/src/game/server/hl2/extinguisherjet.cpp b/mp/src/game/server/hl2/extinguisherjet.cpp
index 18ab5287..de8e285a 100644
--- a/mp/src/game/server/hl2/extinguisherjet.cpp
+++ b/mp/src/game/server/hl2/extinguisherjet.cpp
@@ -1,202 +1,202 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#include "cbase.h"
-#include "extinguisherjet.h"
-#include "engine/IEngineSound.h"
-#include "fire.h"
-#include "ndebugoverlay.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-extern ConVar fire_extinguisher_debug;
-
-//Networking
-IMPLEMENT_SERVERCLASS_ST( CExtinguisherJet, DT_ExtinguisherJet )
- SendPropInt(SENDINFO(m_bEmit), 1, SPROP_UNSIGNED),
- SendPropInt(SENDINFO(m_bUseMuzzlePoint), 1, SPROP_UNSIGNED),
- SendPropInt(SENDINFO(m_nLength), 32, SPROP_UNSIGNED),
- SendPropInt(SENDINFO(m_nSize), 32, SPROP_UNSIGNED),
-END_SEND_TABLE()
-
-//Save/restore
-BEGIN_DATADESC( CExtinguisherJet )
-
- //Regular fields
- DEFINE_FIELD( m_bEmit, FIELD_BOOLEAN ),
-
- DEFINE_KEYFIELD( m_bEnabled, FIELD_BOOLEAN, "enabled" ),
- DEFINE_KEYFIELD( m_nLength, FIELD_INTEGER, "length" ),
- DEFINE_KEYFIELD( m_nSize, FIELD_INTEGER, "size" ),
- DEFINE_KEYFIELD( m_nRadius, FIELD_INTEGER, "radius" ),
- DEFINE_KEYFIELD( m_flStrength,FIELD_FLOAT, "strength" ),
-
- DEFINE_FIELD( m_bAutoExtinguish, FIELD_BOOLEAN ),
- DEFINE_FIELD( m_bUseMuzzlePoint, FIELD_BOOLEAN ),
-
- DEFINE_INPUTFUNC( FIELD_VOID, "Enable", InputEnable ),
- DEFINE_INPUTFUNC( FIELD_VOID, "Disable", InputDisable ),
- DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ),
-
- DEFINE_FUNCTION( ExtinguishThink ),
-
-END_DATADESC()
-
-
-LINK_ENTITY_TO_CLASS( env_extinguisherjet, CExtinguisherJet );
-
-//-----------------------------------------------------------------------------
-// Purpose: Constructor
-//-----------------------------------------------------------------------------
-CExtinguisherJet::CExtinguisherJet( void )
-{
- m_bEmit = false;
- m_bEnabled = false;
- m_bAutoExtinguish = true;
-
- m_nLength = 128;
- m_nSize = 8;
- m_flStrength = 0.97f; //FIXME: Stub numbers
- m_nRadius = 32;
-
- // Send to the client even though we don't have a model
- AddEFlags( EFL_FORCE_CHECK_TRANSMIT );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CExtinguisherJet::Spawn( void )
-{
- Precache();
-
- if ( m_bEnabled )
- {
- TurnOn();
- }
-}
-
-void CExtinguisherJet::Precache()
-{
- BaseClass::Precache();
-
- PrecacheScriptSound( "ExtinguisherJet.TurnOn" );
- PrecacheScriptSound( "ExtinguisherJet.TurnOff" );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CExtinguisherJet::TurnOn( void )
-{
- //Turn on sound
- if ( m_bEmit == false )
- {
- EmitSound( "ExtinguisherJet.TurnOn" );
- m_bEnabled = m_bEmit = true;
- }
-
- SetThink( ExtinguishThink );
- SetNextThink( gpGlobals->curtime + 0.1f );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CExtinguisherJet::TurnOff( void )
-{
- //Turn off sound
- if ( m_bEmit )
- {
- EmitSound( "ExtinguisherJet.TurnOff" );
- m_bEnabled = m_bEmit = false;
- }
-
- SetThink( NULL );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : &inputdata -
-//-----------------------------------------------------------------------------
-void CExtinguisherJet::InputEnable( inputdata_t &inputdata )
-{
- TurnOn();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : &inputdata -
-//-----------------------------------------------------------------------------
-void CExtinguisherJet::InputDisable( inputdata_t &inputdata )
-{
- TurnOff();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : &inputdata -
-//-----------------------------------------------------------------------------
-void CExtinguisherJet::InputToggle( inputdata_t &inputdata )
-{
- if ( m_bEnabled )
- {
- TurnOff();
- }
- else
- {
- TurnOn();
- }
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CExtinguisherJet::Think( void )
-{
- CBaseEntity::Think();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CExtinguisherJet::ExtinguishThink( void )
-{
- SetNextThink( gpGlobals->curtime + 0.1f );
-
- if ( m_bEnabled == false )
- return;
-
- if ( m_bAutoExtinguish == false )
- return;
-
- Vector vTestPos;
- Vector vForward, vRight, vUp;
-
- AngleVectors( GetAbsAngles(), &vForward );
-
- vTestPos = GetAbsOrigin() + ( vForward * m_nLength );
-
- trace_t tr;
- UTIL_TraceLine( GetAbsOrigin(), vTestPos, MASK_SHOT, this, COLLISION_GROUP_NONE, &tr );
-
- //Extinguish the fire where we hit
- FireSystem_ExtinguishInRadius( tr.endpos, m_nRadius, m_flStrength );
-
- //Debug visualization
- if ( fire_extinguisher_debug.GetInt() )
- {
- int radius = m_nRadius;
-
- NDebugOverlay::Line( GetAbsOrigin(), tr.endpos, 0, 0, 128, false, 0.1f );
-
- NDebugOverlay::Box( GetAbsOrigin(), Vector(-1, -1, -1), Vector(1, 1, 1), 0, 0, 128, false, 0.1f );
- NDebugOverlay::Box( tr.endpos, Vector(-2, -2, -2), Vector(2, 2, 2), 0, 0, 128, false, 0.1f );
- NDebugOverlay::Box( tr.endpos, Vector(-radius, -radius, -radius), Vector(radius, radius, radius), 0, 0, 255, false, 0.1f );
- }
-}
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#include "cbase.h"
+#include "extinguisherjet.h"
+#include "engine/IEngineSound.h"
+#include "fire.h"
+#include "ndebugoverlay.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+extern ConVar fire_extinguisher_debug;
+
+//Networking
+IMPLEMENT_SERVERCLASS_ST( CExtinguisherJet, DT_ExtinguisherJet )
+ SendPropInt(SENDINFO(m_bEmit), 1, SPROP_UNSIGNED),
+ SendPropInt(SENDINFO(m_bUseMuzzlePoint), 1, SPROP_UNSIGNED),
+ SendPropInt(SENDINFO(m_nLength), 32, SPROP_UNSIGNED),
+ SendPropInt(SENDINFO(m_nSize), 32, SPROP_UNSIGNED),
+END_SEND_TABLE()
+
+//Save/restore
+BEGIN_DATADESC( CExtinguisherJet )
+
+ //Regular fields
+ DEFINE_FIELD( m_bEmit, FIELD_BOOLEAN ),
+
+ DEFINE_KEYFIELD( m_bEnabled, FIELD_BOOLEAN, "enabled" ),
+ DEFINE_KEYFIELD( m_nLength, FIELD_INTEGER, "length" ),
+ DEFINE_KEYFIELD( m_nSize, FIELD_INTEGER, "size" ),
+ DEFINE_KEYFIELD( m_nRadius, FIELD_INTEGER, "radius" ),
+ DEFINE_KEYFIELD( m_flStrength,FIELD_FLOAT, "strength" ),
+
+ DEFINE_FIELD( m_bAutoExtinguish, FIELD_BOOLEAN ),
+ DEFINE_FIELD( m_bUseMuzzlePoint, FIELD_BOOLEAN ),
+
+ DEFINE_INPUTFUNC( FIELD_VOID, "Enable", InputEnable ),
+ DEFINE_INPUTFUNC( FIELD_VOID, "Disable", InputDisable ),
+ DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ),
+
+ DEFINE_FUNCTION( ExtinguishThink ),
+
+END_DATADESC()
+
+
+LINK_ENTITY_TO_CLASS( env_extinguisherjet, CExtinguisherJet );
+
+//-----------------------------------------------------------------------------
+// Purpose: Constructor
+//-----------------------------------------------------------------------------
+CExtinguisherJet::CExtinguisherJet( void )
+{
+ m_bEmit = false;
+ m_bEnabled = false;
+ m_bAutoExtinguish = true;
+
+ m_nLength = 128;
+ m_nSize = 8;
+ m_flStrength = 0.97f; //FIXME: Stub numbers
+ m_nRadius = 32;
+
+ // Send to the client even though we don't have a model
+ AddEFlags( EFL_FORCE_CHECK_TRANSMIT );
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void CExtinguisherJet::Spawn( void )
+{
+ Precache();
+
+ if ( m_bEnabled )
+ {
+ TurnOn();
+ }
+}
+
+void CExtinguisherJet::Precache()
+{
+ BaseClass::Precache();
+
+ PrecacheScriptSound( "ExtinguisherJet.TurnOn" );
+ PrecacheScriptSound( "ExtinguisherJet.TurnOff" );
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void CExtinguisherJet::TurnOn( void )
+{
+ //Turn on sound
+ if ( m_bEmit == false )
+ {
+ EmitSound( "ExtinguisherJet.TurnOn" );
+ m_bEnabled = m_bEmit = true;
+ }
+
+ SetThink( ExtinguishThink );
+ SetNextThink( gpGlobals->curtime + 0.1f );
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void CExtinguisherJet::TurnOff( void )
+{
+ //Turn off sound
+ if ( m_bEmit )
+ {
+ EmitSound( "ExtinguisherJet.TurnOff" );
+ m_bEnabled = m_bEmit = false;
+ }
+
+ SetThink( NULL );
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : &inputdata -
+//-----------------------------------------------------------------------------
+void CExtinguisherJet::InputEnable( inputdata_t &inputdata )
+{
+ TurnOn();
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : &inputdata -
+//-----------------------------------------------------------------------------
+void CExtinguisherJet::InputDisable( inputdata_t &inputdata )
+{
+ TurnOff();
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : &inputdata -
+//-----------------------------------------------------------------------------
+void CExtinguisherJet::InputToggle( inputdata_t &inputdata )
+{
+ if ( m_bEnabled )
+ {
+ TurnOff();
+ }
+ else
+ {
+ TurnOn();
+ }
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void CExtinguisherJet::Think( void )
+{
+ CBaseEntity::Think();
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void CExtinguisherJet::ExtinguishThink( void )
+{
+ SetNextThink( gpGlobals->curtime + 0.1f );
+
+ if ( m_bEnabled == false )
+ return;
+
+ if ( m_bAutoExtinguish == false )
+ return;
+
+ Vector vTestPos;
+ Vector vForward, vRight, vUp;
+
+ AngleVectors( GetAbsAngles(), &vForward );
+
+ vTestPos = GetAbsOrigin() + ( vForward * m_nLength );
+
+ trace_t tr;
+ UTIL_TraceLine( GetAbsOrigin(), vTestPos, MASK_SHOT, this, COLLISION_GROUP_NONE, &tr );
+
+ //Extinguish the fire where we hit
+ FireSystem_ExtinguishInRadius( tr.endpos, m_nRadius, m_flStrength );
+
+ //Debug visualization
+ if ( fire_extinguisher_debug.GetInt() )
+ {
+ int radius = m_nRadius;
+
+ NDebugOverlay::Line( GetAbsOrigin(), tr.endpos, 0, 0, 128, false, 0.1f );
+
+ NDebugOverlay::Box( GetAbsOrigin(), Vector(-1, -1, -1), Vector(1, 1, 1), 0, 0, 128, false, 0.1f );
+ NDebugOverlay::Box( tr.endpos, Vector(-2, -2, -2), Vector(2, 2, 2), 0, 0, 128, false, 0.1f );
+ NDebugOverlay::Box( tr.endpos, Vector(-radius, -radius, -radius), Vector(radius, radius, radius), 0, 0, 255, false, 0.1f );
+ }
+}