From 39ed87570bdb2f86969d4be821c94b722dc71179 Mon Sep 17 00:00:00 2001 From: Joe Ludwig Date: Wed, 26 Jun 2013 15:22:04 -0700 Subject: First version of the SOurce SDK 2013 --- sp/src/game/client/c_tesla.cpp | 65 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 sp/src/game/client/c_tesla.cpp (limited to 'sp/src/game/client/c_tesla.cpp') diff --git a/sp/src/game/client/c_tesla.cpp b/sp/src/game/client/c_tesla.cpp new file mode 100644 index 00000000..da32e00b --- /dev/null +++ b/sp/src/game/client/c_tesla.cpp @@ -0,0 +1,65 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#include "cbase.h" +#include "c_tesla.h" +#include "fx.h" +#include + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +IMPLEMENT_CLIENTCLASS_DT( C_Tesla, DT_Tesla, CTesla ) + RecvPropString( RECVINFO( m_SoundName ) ), + RecvPropString( RECVINFO( m_iszSpriteName ) ) +END_RECV_TABLE() + + +C_Tesla::C_Tesla() +{ +} + +void C_Tesla::ReceiveMessage( int classID, bf_read &msg ) +{ + CTeslaInfo teslaInfo; + + msg.ReadBitVec3Coord( teslaInfo.m_vPos ); + teslaInfo.m_vAngles.Init(); + + teslaInfo.m_nEntIndex = msg.ReadShort(); + teslaInfo.m_flRadius = msg.ReadFloat(); + + teslaInfo.m_vColor.x = ((unsigned char)msg.ReadChar()) / 255.0f; + teslaInfo.m_vColor.y = ((unsigned char)msg.ReadChar()) / 255.0f; + teslaInfo.m_vColor.z = ((unsigned char)msg.ReadChar()) / 255.0f; + + float flAlpha = 0; + flAlpha = ((unsigned char)msg.ReadChar()) / 255.0f; + + teslaInfo.m_nBeams = msg.ReadChar(); + + teslaInfo.m_flBeamWidth = msg.ReadFloat(); + teslaInfo.m_flTimeVisible = msg.ReadFloat(); + teslaInfo.m_pszSpriteName = m_iszSpriteName; + + EmitSound( m_SoundName ); + + m_QueuedCommands.AddToTail( teslaInfo ); + SetNextClientThink( CLIENT_THINK_ALWAYS ); +} + + +void C_Tesla::ClientThink() +{ + FOR_EACH_LL( m_QueuedCommands, i ) + { + FX_Tesla( m_QueuedCommands[i] ); + } + m_QueuedCommands.Purge(); + SetNextClientThink( CLIENT_THINK_NEVER ); +} + + -- cgit v1.2.3