aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/c_shadowcontrol.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/client/c_shadowcontrol.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/client/c_shadowcontrol.cpp')
-rw-r--r--mp/src/game/client/c_shadowcontrol.cpp66
1 files changed, 66 insertions, 0 deletions
diff --git a/mp/src/game/client/c_shadowcontrol.cpp b/mp/src/game/client/c_shadowcontrol.cpp
new file mode 100644
index 00000000..27b40b56
--- /dev/null
+++ b/mp/src/game/client/c_shadowcontrol.cpp
@@ -0,0 +1,66 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Shadow control entity.
+//
+// $NoKeywords: $
+//=============================================================================//
+#include "cbase.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+//------------------------------------------------------------------------------
+// FIXME: This really should inherit from something more lightweight
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+// Purpose : Shadow control entity
+//------------------------------------------------------------------------------
+class C_ShadowControl : public C_BaseEntity
+{
+public:
+ DECLARE_CLASS( C_ShadowControl, C_BaseEntity );
+
+ DECLARE_CLIENTCLASS();
+
+ void OnDataChanged(DataUpdateType_t updateType);
+ bool ShouldDraw();
+
+private:
+ Vector m_shadowDirection;
+ color32 m_shadowColor;
+ float m_flShadowMaxDist;
+ bool m_bDisableShadows;
+};
+
+IMPLEMENT_CLIENTCLASS_DT(C_ShadowControl, DT_ShadowControl, CShadowControl)
+ RecvPropVector(RECVINFO(m_shadowDirection)),
+ RecvPropInt(RECVINFO(m_shadowColor)),
+ RecvPropFloat(RECVINFO(m_flShadowMaxDist)),
+ RecvPropBool(RECVINFO(m_bDisableShadows)),
+END_RECV_TABLE()
+
+
+//------------------------------------------------------------------------------
+// Purpose :
+// Input :
+// Output :
+//------------------------------------------------------------------------------
+void C_ShadowControl::OnDataChanged(DataUpdateType_t updateType)
+{
+ // Set the color, direction, distance...
+ g_pClientShadowMgr->SetShadowDirection( m_shadowDirection );
+ g_pClientShadowMgr->SetShadowColor( m_shadowColor.r, m_shadowColor.g, m_shadowColor.b );
+ g_pClientShadowMgr->SetShadowDistance( m_flShadowMaxDist );
+ g_pClientShadowMgr->SetShadowsDisabled( m_bDisableShadows );
+}
+
+//------------------------------------------------------------------------------
+// We don't draw...
+//------------------------------------------------------------------------------
+bool C_ShadowControl::ShouldDraw()
+{
+ return false;
+}
+