aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/testtraceline.cpp
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
committerJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
commit39ed87570bdb2f86969d4be821c94b722dc71179 (patch)
treeabc53757f75f40c80278e87650ea92808274aa59 /mp/src/game/server/testtraceline.cpp
downloadsource-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz
source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip
First version of the SOurce SDK 2013
Diffstat (limited to 'mp/src/game/server/testtraceline.cpp')
-rw-r--r--mp/src/game/server/testtraceline.cpp82
1 files changed, 82 insertions, 0 deletions
diff --git a/mp/src/game/server/testtraceline.cpp b/mp/src/game/server/testtraceline.cpp
new file mode 100644
index 00000000..9f2bebcd
--- /dev/null
+++ b/mp/src/game/server/testtraceline.cpp
@@ -0,0 +1,82 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+#include "cbase.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+// -------------------------------------------------------------------------------- //
+// An entity used to test traceline
+// -------------------------------------------------------------------------------- //
+
+class CTestTraceline : public CPointEntity
+{
+public:
+ DECLARE_CLASS( CTestTraceline, CPointEntity );
+
+ void Spawn( void );
+ int UpdateTransmitState();
+
+ DECLARE_SERVERCLASS();
+ DECLARE_DATADESC();
+
+private:
+ void Spin( void );
+};
+
+
+// This table encodes the CBaseEntity data.
+IMPLEMENT_SERVERCLASS_ST_NOBASE(CTestTraceline, DT_TestTraceline)
+ SendPropInt (SENDINFO(m_clrRender), 32, SPROP_UNSIGNED ),
+ SendPropVector (SENDINFO(m_vecOrigin), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER),
+ SendPropFloat (SENDINFO_VECTORELEM(m_angRotation, 0), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER),
+ SendPropFloat (SENDINFO_VECTORELEM(m_angRotation, 1), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER),
+ SendPropFloat (SENDINFO_VECTORELEM(m_angRotation, 2), 19, 0, MIN_COORD_INTEGER, MAX_COORD_INTEGER),
+ SendPropEHandle (SENDINFO_NAME(m_hMoveParent, moveparent)),
+END_SEND_TABLE()
+
+LINK_ENTITY_TO_CLASS( test_traceline, CTestTraceline );
+
+BEGIN_DATADESC( CTestTraceline )
+
+ // Function Pointers
+ DEFINE_FUNCTION( Spin ),
+
+END_DATADESC()
+
+
+void CTestTraceline::Spawn( void )
+{
+ SetRenderColor( 255, 255, 255, 255 );
+ SetNextThink( gpGlobals->curtime );
+
+ SetThink( &CTestTraceline::Spin );
+}
+
+void CTestTraceline::Spin( void )
+{
+ static ConVar traceline_spin( "traceline_spin","1" );
+
+ if (traceline_spin.GetInt())
+ {
+ float s = sin( gpGlobals->curtime );
+ QAngle angles = GetLocalAngles();
+
+ angles[0] = 180.0 * 0.5 * (s * s * s + 1.0f) + 90;
+ angles[1] = gpGlobals->curtime * 10;
+
+ SetLocalAngles( angles );
+
+ }
+ SetNextThink( gpGlobals->curtime );
+}
+
+int CTestTraceline::UpdateTransmitState()
+{
+ return SetTransmitState( FL_EDICT_ALWAYS );
+}