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_rollermine.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_rollermine.cpp')
| -rw-r--r-- | mp/src/game/client/hl2/c_npc_rollermine.cpp | 346 |
1 files changed, 173 insertions, 173 deletions
diff --git a/mp/src/game/client/hl2/c_npc_rollermine.cpp b/mp/src/game/client/hl2/c_npc_rollermine.cpp index bf91c1ce..a8b7ed0f 100644 --- a/mp/src/game/client/hl2/c_npc_rollermine.cpp +++ b/mp/src/game/client/hl2/c_npc_rollermine.cpp @@ -1,174 +1,174 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================//
-
-#include "cbase.h"
-#include "c_ai_basenpc.h"
-#include "iviewrender_beams.h"
-#include "beam_shared.h"
-#include "materialsystem/imaterial.h"
-#include "model_types.h"
-#include "clienteffectprecachesystem.h"
-#include "beamdraw.h"
-
-class C_RollerMine : public C_AI_BaseNPC
-{
- DECLARE_CLASS( C_RollerMine, C_AI_BaseNPC );
-public:
- DECLARE_CLIENTCLASS();
-
- C_RollerMine( void ) {}
-
- int DrawModel( int flags );
-
- RenderGroup_t GetRenderGroup( void )
- {
- if ( m_bIsOpen )
- return RENDER_GROUP_TRANSLUCENT_ENTITY;
- else
- return RENDER_GROUP_OPAQUE_ENTITY;
- }
-
-private:
- C_RollerMine( const C_RollerMine & ) {}
-
- bool m_bIsOpen;
- float m_flActiveTime;
- bool m_bHackedByAlyx;
- bool m_bPowerDown;
-};
-
-IMPLEMENT_CLIENTCLASS_DT( C_RollerMine, DT_RollerMine, CNPC_RollerMine )
- RecvPropInt( RECVINFO( m_bIsOpen ) ),
- RecvPropFloat( RECVINFO( m_flActiveTime ) ),
- RecvPropInt( RECVINFO( m_bHackedByAlyx ) ),
- RecvPropInt( RECVINFO( m_bPowerDown ) ),
-END_RECV_TABLE()
-
-#define NUM_ATTACHMENTS 11
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : flags -
-// Output : int
-//-----------------------------------------------------------------------------
-int C_RollerMine::DrawModel( int flags )
-{
- if ( m_bIsOpen && m_flActiveTime <= gpGlobals->curtime )
- {
- float scale = random->RandomFloat( 4.0f, 6.0f );
-
- if ( gpGlobals->frametime != 0 )
- {
- // Inner beams
- BeamInfo_t beamInfo;
-
- beamInfo.m_vecStart = GetAbsOrigin();
- Vector offset = RandomVector( -6*scale, 2*scale );
-
- offset += Vector(2,2,2) * scale;
- beamInfo.m_vecEnd = GetAbsOrigin() + offset;
-
- beamInfo.m_pStartEnt= cl_entitylist->GetEnt( BEAMENT_ENTITY( entindex() ) );
- beamInfo.m_pEndEnt = beamInfo.m_pStartEnt;
- beamInfo.m_nStartAttachment = random->RandomInt( 0, NUM_ATTACHMENTS );
- beamInfo.m_nEndAttachment = random->RandomInt( 0, NUM_ATTACHMENTS );
-
- // Ensure we're not the same point
- if ( beamInfo.m_nStartAttachment == beamInfo.m_nEndAttachment )
- {
- int nextStep = ( random->RandomInt( 0, 1 ) ) ? 1 : -1;
-
- beamInfo.m_nEndAttachment = ( beamInfo.m_nStartAttachment + nextStep ) % NUM_ATTACHMENTS;
- }
-
- beamInfo.m_nType = TE_BEAMTESLA;
- beamInfo.m_pszModelName = "sprites/lgtning.vmt";
- beamInfo.m_flHaloScale = 0.0f;
- beamInfo.m_flLife = 0.1f;
- beamInfo.m_flWidth = random->RandomFloat( 2.0f, 4.0f );
- beamInfo.m_flEndWidth = random->RandomFloat( 0.0f, 1.0f );
- beamInfo.m_flFadeLength = 0.0f;
- beamInfo.m_flAmplitude = random->RandomFloat( 16, 32 );
- beamInfo.m_flBrightness = 255.0;
- beamInfo.m_flSpeed = 0.0;
- beamInfo.m_nStartFrame = 0.0;
- beamInfo.m_flFrameRate = 1.0f;
-
- if ( m_bPowerDown )
- {
- beamInfo.m_flRed = 255.0f;;
- beamInfo.m_flGreen = 64.0f;
- beamInfo.m_flBlue = 64.0f;
- }
- else if ( m_bHackedByAlyx )
- {
- beamInfo.m_flRed = 240.0f;;
- beamInfo.m_flGreen = 200.0f;
- beamInfo.m_flBlue = 80.0f;
- }
- else
- {
- beamInfo.m_flRed = 255.0f;;
- beamInfo.m_flGreen = 255.0f;
- beamInfo.m_flBlue = 255.0f;
- }
-
- beamInfo.m_nSegments = 4;
- beamInfo.m_bRenderable = true;
- beamInfo.m_nFlags = 0;
-
- beams->CreateBeamEntPoint( beamInfo );
-
- // Draw the halo
- float color[3];
-
- if ( m_bHackedByAlyx )
- {
- color[0] = 0.25f;
- color[1] = 0.05f;
- color[2] = 0.0f;
- }
- else
- {
- color[0] = color[1] = color[2] = 0.15f;
- }
-
- IMaterial *pMaterial = materials->FindMaterial( "effects/rollerglow", NULL, false );
-
- CMatRenderContextPtr pRenderContext( materials );
- pRenderContext->Bind( pMaterial );
- DrawHalo( pMaterial, GetAbsOrigin(), random->RandomFloat( 6.0f*scale, 6.5f*scale ), color );
-
- if ( m_bPowerDown )
- {
- color[0] = random->RandomFloat( 0.80f, 1.00f );
- color[1] = random->RandomFloat( 0.10f, 0.25f );
- color[2] = 0.0f;
- }
- else if ( m_bHackedByAlyx )
- {
- color[0] = random->RandomFloat( 0.25f, 0.75f );
- color[1] = random->RandomFloat( 0.10f, 0.25f );
- color[2] = 0.0f;
- }
- else
- {
- color[0] = color[1] = color[2] = random->RandomFloat( 0.25f, 0.5f );
- }
-
- Vector attachOrigin;
- QAngle attachAngles;
-
- GetAttachment( beamInfo.m_nEndAttachment, attachOrigin, attachAngles );
- DrawHalo( pMaterial, attachOrigin, random->RandomFloat( 1.0f*scale, 1.5f*scale ), color );
-
- GetAttachment( beamInfo.m_nStartAttachment, attachOrigin, attachAngles );
- DrawHalo( pMaterial, attachOrigin, random->RandomFloat( 1.0f*scale, 1.5f*scale ), color );
- }
- }
-
- return BaseClass::DrawModel( flags );
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#include "cbase.h" +#include "c_ai_basenpc.h" +#include "iviewrender_beams.h" +#include "beam_shared.h" +#include "materialsystem/imaterial.h" +#include "model_types.h" +#include "clienteffectprecachesystem.h" +#include "beamdraw.h" + +class C_RollerMine : public C_AI_BaseNPC +{ + DECLARE_CLASS( C_RollerMine, C_AI_BaseNPC ); +public: + DECLARE_CLIENTCLASS(); + + C_RollerMine( void ) {} + + int DrawModel( int flags ); + + RenderGroup_t GetRenderGroup( void ) + { + if ( m_bIsOpen ) + return RENDER_GROUP_TRANSLUCENT_ENTITY; + else + return RENDER_GROUP_OPAQUE_ENTITY; + } + +private: + C_RollerMine( const C_RollerMine & ) {} + + bool m_bIsOpen; + float m_flActiveTime; + bool m_bHackedByAlyx; + bool m_bPowerDown; +}; + +IMPLEMENT_CLIENTCLASS_DT( C_RollerMine, DT_RollerMine, CNPC_RollerMine ) + RecvPropInt( RECVINFO( m_bIsOpen ) ), + RecvPropFloat( RECVINFO( m_flActiveTime ) ), + RecvPropInt( RECVINFO( m_bHackedByAlyx ) ), + RecvPropInt( RECVINFO( m_bPowerDown ) ), +END_RECV_TABLE() + +#define NUM_ATTACHMENTS 11 + +//----------------------------------------------------------------------------- +// Purpose: +// Input : flags - +// Output : int +//----------------------------------------------------------------------------- +int C_RollerMine::DrawModel( int flags ) +{ + if ( m_bIsOpen && m_flActiveTime <= gpGlobals->curtime ) + { + float scale = random->RandomFloat( 4.0f, 6.0f ); + + if ( gpGlobals->frametime != 0 ) + { + // Inner beams + BeamInfo_t beamInfo; + + beamInfo.m_vecStart = GetAbsOrigin(); + Vector offset = RandomVector( -6*scale, 2*scale ); + + offset += Vector(2,2,2) * scale; + beamInfo.m_vecEnd = GetAbsOrigin() + offset; + + beamInfo.m_pStartEnt= cl_entitylist->GetEnt( BEAMENT_ENTITY( entindex() ) ); + beamInfo.m_pEndEnt = beamInfo.m_pStartEnt; + beamInfo.m_nStartAttachment = random->RandomInt( 0, NUM_ATTACHMENTS ); + beamInfo.m_nEndAttachment = random->RandomInt( 0, NUM_ATTACHMENTS ); + + // Ensure we're not the same point + if ( beamInfo.m_nStartAttachment == beamInfo.m_nEndAttachment ) + { + int nextStep = ( random->RandomInt( 0, 1 ) ) ? 1 : -1; + + beamInfo.m_nEndAttachment = ( beamInfo.m_nStartAttachment + nextStep ) % NUM_ATTACHMENTS; + } + + beamInfo.m_nType = TE_BEAMTESLA; + beamInfo.m_pszModelName = "sprites/lgtning.vmt"; + beamInfo.m_flHaloScale = 0.0f; + beamInfo.m_flLife = 0.1f; + beamInfo.m_flWidth = random->RandomFloat( 2.0f, 4.0f ); + beamInfo.m_flEndWidth = random->RandomFloat( 0.0f, 1.0f ); + beamInfo.m_flFadeLength = 0.0f; + beamInfo.m_flAmplitude = random->RandomFloat( 16, 32 ); + beamInfo.m_flBrightness = 255.0; + beamInfo.m_flSpeed = 0.0; + beamInfo.m_nStartFrame = 0.0; + beamInfo.m_flFrameRate = 1.0f; + + if ( m_bPowerDown ) + { + beamInfo.m_flRed = 255.0f;; + beamInfo.m_flGreen = 64.0f; + beamInfo.m_flBlue = 64.0f; + } + else if ( m_bHackedByAlyx ) + { + beamInfo.m_flRed = 240.0f;; + beamInfo.m_flGreen = 200.0f; + beamInfo.m_flBlue = 80.0f; + } + else + { + beamInfo.m_flRed = 255.0f;; + beamInfo.m_flGreen = 255.0f; + beamInfo.m_flBlue = 255.0f; + } + + beamInfo.m_nSegments = 4; + beamInfo.m_bRenderable = true; + beamInfo.m_nFlags = 0; + + beams->CreateBeamEntPoint( beamInfo ); + + // Draw the halo + float color[3]; + + if ( m_bHackedByAlyx ) + { + color[0] = 0.25f; + color[1] = 0.05f; + color[2] = 0.0f; + } + else + { + color[0] = color[1] = color[2] = 0.15f; + } + + IMaterial *pMaterial = materials->FindMaterial( "effects/rollerglow", NULL, false ); + + CMatRenderContextPtr pRenderContext( materials ); + pRenderContext->Bind( pMaterial ); + DrawHalo( pMaterial, GetAbsOrigin(), random->RandomFloat( 6.0f*scale, 6.5f*scale ), color ); + + if ( m_bPowerDown ) + { + color[0] = random->RandomFloat( 0.80f, 1.00f ); + color[1] = random->RandomFloat( 0.10f, 0.25f ); + color[2] = 0.0f; + } + else if ( m_bHackedByAlyx ) + { + color[0] = random->RandomFloat( 0.25f, 0.75f ); + color[1] = random->RandomFloat( 0.10f, 0.25f ); + color[2] = 0.0f; + } + else + { + color[0] = color[1] = color[2] = random->RandomFloat( 0.25f, 0.5f ); + } + + Vector attachOrigin; + QAngle attachAngles; + + GetAttachment( beamInfo.m_nEndAttachment, attachOrigin, attachAngles ); + DrawHalo( pMaterial, attachOrigin, random->RandomFloat( 1.0f*scale, 1.5f*scale ), color ); + + GetAttachment( beamInfo.m_nStartAttachment, attachOrigin, attachAngles ); + DrawHalo( pMaterial, attachOrigin, random->RandomFloat( 1.0f*scale, 1.5f*scale ), color ); + } + } + + return BaseClass::DrawModel( flags ); }
\ No newline at end of file |