diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/client/hl2/c_npc_manhack.cpp | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/client/hl2/c_npc_manhack.cpp')
| -rw-r--r-- | mp/src/game/client/hl2/c_npc_manhack.cpp | 364 |
1 files changed, 182 insertions, 182 deletions
diff --git a/mp/src/game/client/hl2/c_npc_manhack.cpp b/mp/src/game/client/hl2/c_npc_manhack.cpp index a6679412..a804fcff 100644 --- a/mp/src/game/client/hl2/c_npc_manhack.cpp +++ b/mp/src/game/client/hl2/c_npc_manhack.cpp @@ -1,182 +1,182 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#include "cbase.h"
-#include "c_ai_basenpc.h"
-#include "soundenvelope.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-class C_NPC_Manhack : public C_AI_BaseNPC
-{
-public:
- C_NPC_Manhack() {}
-
- DECLARE_CLASS( C_NPC_Manhack, C_AI_BaseNPC );
- DECLARE_CLIENTCLASS();
- DECLARE_DATADESC();
-
- // Purpose: Start the manhack's engine sound.
- virtual void OnDataChanged( DataUpdateType_t type );
- virtual void UpdateOnRemove( void );
- virtual void OnRestore();
-
-private:
- C_NPC_Manhack( const C_NPC_Manhack & );
-
- // Purpose: Start + stop the manhack's engine sound.
- void SoundInit( void );
- void SoundShutdown( void );
-
- CSoundPatch *m_pEngineSound1;
- CSoundPatch *m_pEngineSound2;
- CSoundPatch *m_pBladeSound;
-
- int m_nEnginePitch1;
- int m_nEnginePitch2;
- float m_flEnginePitch1Time;
- float m_flEnginePitch2Time;
-};
-
-
-//-----------------------------------------------------------------------------
-// Save/restore
-//-----------------------------------------------------------------------------
-BEGIN_DATADESC( C_NPC_Manhack )
-
-// DEFINE_SOUNDPATCH( m_pEngineSound1 ),
-// DEFINE_SOUNDPATCH( m_pEngineSound2 ),
-// DEFINE_SOUNDPATCH( m_pBladeSound ),
-
-// DEFINE_FIELD( m_nEnginePitch1, FIELD_INTEGER ),
-// DEFINE_FIELD( m_nEnginePitch2, FIELD_INTEGER ),
-// DEFINE_FIELD( m_flEnginePitch1Time, FIELD_FLOAT ),
-// DEFINE_FIELD( m_flEnginePitch2Time, FIELD_FLOAT ),
-
-END_DATADESC()
-
-
-//-----------------------------------------------------------------------------
-// Networking
-//-----------------------------------------------------------------------------
-IMPLEMENT_CLIENTCLASS_DT(C_NPC_Manhack, DT_NPC_Manhack, CNPC_Manhack)
- RecvPropIntWithMinusOneFlag(RECVINFO(m_nEnginePitch1)),
- RecvPropFloat(RECVINFO(m_flEnginePitch1Time)),
- RecvPropIntWithMinusOneFlag(RECVINFO(m_nEnginePitch2)),
- RecvPropFloat(RECVINFO(m_flEnginePitch2Time)),
-END_RECV_TABLE()
-
-
-
-//-----------------------------------------------------------------------------
-// Purpose: Start the manhack's engine sound.
-//-----------------------------------------------------------------------------
-void C_NPC_Manhack::OnDataChanged( DataUpdateType_t type )
-{
- BaseClass::OnDataChanged( type );
-
- if (( m_nEnginePitch1 < 0 ) || ( m_nEnginePitch2 < 0 ) )
- {
- SoundShutdown();
- }
- else
- {
- SoundInit();
- if ( m_pEngineSound1 && m_pEngineSound2 )
- {
- float dt = ( m_flEnginePitch1Time >= gpGlobals->curtime ) ? m_flEnginePitch1Time - gpGlobals->curtime : 0.0f;
- CSoundEnvelopeController::GetController().SoundChangePitch( m_pEngineSound1, m_nEnginePitch1, dt );
- dt = ( m_flEnginePitch2Time >= gpGlobals->curtime ) ? m_flEnginePitch2Time - gpGlobals->curtime : 0.0f;
- CSoundEnvelopeController::GetController().SoundChangePitch( m_pEngineSound2, m_nEnginePitch2, dt );
- }
- }
-}
-
-
-//-----------------------------------------------------------------------------
-// Restore
-//-----------------------------------------------------------------------------
-void C_NPC_Manhack::OnRestore()
-{
- BaseClass::OnRestore();
- SoundInit();
-}
-
-
-//-----------------------------------------------------------------------------
-// Purpose: Start the manhack's engine sound.
-//-----------------------------------------------------------------------------
-void C_NPC_Manhack::UpdateOnRemove( void )
-{
- BaseClass::UpdateOnRemove();
- SoundShutdown();
-}
-
-
-//-----------------------------------------------------------------------------
-// Purpose: Start the manhack's engine sound.
-//-----------------------------------------------------------------------------
-void C_NPC_Manhack::SoundInit( void )
-{
- if (( m_nEnginePitch1 < 0 ) || ( m_nEnginePitch2 < 0 ) )
- return;
-
- // play an engine start sound!!
- CPASAttenuationFilter filter( this );
-
- // Bring up the engine looping sound.
- if( !m_pEngineSound1 )
- {
- m_pEngineSound1 = CSoundEnvelopeController::GetController().SoundCreate( filter, entindex(), "NPC_Manhack.EngineSound1" );
- CSoundEnvelopeController::GetController().Play( m_pEngineSound1, 0.0, m_nEnginePitch1 );
- CSoundEnvelopeController::GetController().SoundChangeVolume( m_pEngineSound1, 0.7, 2.0 );
- }
-
- if( !m_pEngineSound2 )
- {
- m_pEngineSound2 = CSoundEnvelopeController::GetController().SoundCreate( filter, entindex(), "NPC_Manhack.EngineSound2" );
- CSoundEnvelopeController::GetController().Play( m_pEngineSound2, 0.0, m_nEnginePitch2 );
- CSoundEnvelopeController::GetController().SoundChangeVolume( m_pEngineSound2, 0.7, 2.0 );
- }
-
- if( !m_pBladeSound )
- {
- m_pBladeSound = CSoundEnvelopeController::GetController().SoundCreate( filter, entindex(), "NPC_Manhack.BladeSound" );
- CSoundEnvelopeController::GetController().Play( m_pBladeSound, 0.0, m_nEnginePitch1 );
- CSoundEnvelopeController::GetController().SoundChangeVolume( m_pBladeSound, 0.7, 2.0 );
- }
-}
-
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_NPC_Manhack::SoundShutdown(void)
-{
- // Kill the engine!
- if ( m_pEngineSound1 )
- {
- CSoundEnvelopeController::GetController().SoundDestroy( m_pEngineSound1 );
- m_pEngineSound1 = NULL;
- }
-
- // Kill the engine!
- if ( m_pEngineSound2 )
- {
- CSoundEnvelopeController::GetController().SoundDestroy( m_pEngineSound2 );
- m_pEngineSound2 = NULL;
- }
-
- // Kill the blade!
- if ( m_pBladeSound )
- {
- CSoundEnvelopeController::GetController().SoundDestroy( m_pBladeSound );
- m_pBladeSound = NULL;
- }
-}
-
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#include "cbase.h" +#include "c_ai_basenpc.h" +#include "soundenvelope.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +class C_NPC_Manhack : public C_AI_BaseNPC +{ +public: + C_NPC_Manhack() {} + + DECLARE_CLASS( C_NPC_Manhack, C_AI_BaseNPC ); + DECLARE_CLIENTCLASS(); + DECLARE_DATADESC(); + + // Purpose: Start the manhack's engine sound. + virtual void OnDataChanged( DataUpdateType_t type ); + virtual void UpdateOnRemove( void ); + virtual void OnRestore(); + +private: + C_NPC_Manhack( const C_NPC_Manhack & ); + + // Purpose: Start + stop the manhack's engine sound. + void SoundInit( void ); + void SoundShutdown( void ); + + CSoundPatch *m_pEngineSound1; + CSoundPatch *m_pEngineSound2; + CSoundPatch *m_pBladeSound; + + int m_nEnginePitch1; + int m_nEnginePitch2; + float m_flEnginePitch1Time; + float m_flEnginePitch2Time; +}; + + +//----------------------------------------------------------------------------- +// Save/restore +//----------------------------------------------------------------------------- +BEGIN_DATADESC( C_NPC_Manhack ) + +// DEFINE_SOUNDPATCH( m_pEngineSound1 ), +// DEFINE_SOUNDPATCH( m_pEngineSound2 ), +// DEFINE_SOUNDPATCH( m_pBladeSound ), + +// DEFINE_FIELD( m_nEnginePitch1, FIELD_INTEGER ), +// DEFINE_FIELD( m_nEnginePitch2, FIELD_INTEGER ), +// DEFINE_FIELD( m_flEnginePitch1Time, FIELD_FLOAT ), +// DEFINE_FIELD( m_flEnginePitch2Time, FIELD_FLOAT ), + +END_DATADESC() + + +//----------------------------------------------------------------------------- +// Networking +//----------------------------------------------------------------------------- +IMPLEMENT_CLIENTCLASS_DT(C_NPC_Manhack, DT_NPC_Manhack, CNPC_Manhack) + RecvPropIntWithMinusOneFlag(RECVINFO(m_nEnginePitch1)), + RecvPropFloat(RECVINFO(m_flEnginePitch1Time)), + RecvPropIntWithMinusOneFlag(RECVINFO(m_nEnginePitch2)), + RecvPropFloat(RECVINFO(m_flEnginePitch2Time)), +END_RECV_TABLE() + + + +//----------------------------------------------------------------------------- +// Purpose: Start the manhack's engine sound. +//----------------------------------------------------------------------------- +void C_NPC_Manhack::OnDataChanged( DataUpdateType_t type ) +{ + BaseClass::OnDataChanged( type ); + + if (( m_nEnginePitch1 < 0 ) || ( m_nEnginePitch2 < 0 ) ) + { + SoundShutdown(); + } + else + { + SoundInit(); + if ( m_pEngineSound1 && m_pEngineSound2 ) + { + float dt = ( m_flEnginePitch1Time >= gpGlobals->curtime ) ? m_flEnginePitch1Time - gpGlobals->curtime : 0.0f; + CSoundEnvelopeController::GetController().SoundChangePitch( m_pEngineSound1, m_nEnginePitch1, dt ); + dt = ( m_flEnginePitch2Time >= gpGlobals->curtime ) ? m_flEnginePitch2Time - gpGlobals->curtime : 0.0f; + CSoundEnvelopeController::GetController().SoundChangePitch( m_pEngineSound2, m_nEnginePitch2, dt ); + } + } +} + + +//----------------------------------------------------------------------------- +// Restore +//----------------------------------------------------------------------------- +void C_NPC_Manhack::OnRestore() +{ + BaseClass::OnRestore(); + SoundInit(); +} + + +//----------------------------------------------------------------------------- +// Purpose: Start the manhack's engine sound. +//----------------------------------------------------------------------------- +void C_NPC_Manhack::UpdateOnRemove( void ) +{ + BaseClass::UpdateOnRemove(); + SoundShutdown(); +} + + +//----------------------------------------------------------------------------- +// Purpose: Start the manhack's engine sound. +//----------------------------------------------------------------------------- +void C_NPC_Manhack::SoundInit( void ) +{ + if (( m_nEnginePitch1 < 0 ) || ( m_nEnginePitch2 < 0 ) ) + return; + + // play an engine start sound!! + CPASAttenuationFilter filter( this ); + + // Bring up the engine looping sound. + if( !m_pEngineSound1 ) + { + m_pEngineSound1 = CSoundEnvelopeController::GetController().SoundCreate( filter, entindex(), "NPC_Manhack.EngineSound1" ); + CSoundEnvelopeController::GetController().Play( m_pEngineSound1, 0.0, m_nEnginePitch1 ); + CSoundEnvelopeController::GetController().SoundChangeVolume( m_pEngineSound1, 0.7, 2.0 ); + } + + if( !m_pEngineSound2 ) + { + m_pEngineSound2 = CSoundEnvelopeController::GetController().SoundCreate( filter, entindex(), "NPC_Manhack.EngineSound2" ); + CSoundEnvelopeController::GetController().Play( m_pEngineSound2, 0.0, m_nEnginePitch2 ); + CSoundEnvelopeController::GetController().SoundChangeVolume( m_pEngineSound2, 0.7, 2.0 ); + } + + if( !m_pBladeSound ) + { + m_pBladeSound = CSoundEnvelopeController::GetController().SoundCreate( filter, entindex(), "NPC_Manhack.BladeSound" ); + CSoundEnvelopeController::GetController().Play( m_pBladeSound, 0.0, m_nEnginePitch1 ); + CSoundEnvelopeController::GetController().SoundChangeVolume( m_pBladeSound, 0.7, 2.0 ); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void C_NPC_Manhack::SoundShutdown(void) +{ + // Kill the engine! + if ( m_pEngineSound1 ) + { + CSoundEnvelopeController::GetController().SoundDestroy( m_pEngineSound1 ); + m_pEngineSound1 = NULL; + } + + // Kill the engine! + if ( m_pEngineSound2 ) + { + CSoundEnvelopeController::GetController().SoundDestroy( m_pEngineSound2 ); + m_pEngineSound2 = NULL; + } + + // Kill the blade! + if ( m_pBladeSound ) + { + CSoundEnvelopeController::GetController().SoundDestroy( m_pBladeSound ); + m_pBladeSound = NULL; + } +} + |