diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/c_shadowcontrol.cpp | |
| download | archived-source-engine-2018-hl2-src-3bf9df6b2785fa6d951086978a3e66f49427166a.tar.xz archived-source-engine-2018-hl2-src-3bf9df6b2785fa6d951086978a3e66f49427166a.zip | |
Diffstat (limited to 'game/client/c_shadowcontrol.cpp')
| -rw-r--r-- | game/client/c_shadowcontrol.cpp | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/game/client/c_shadowcontrol.cpp b/game/client/c_shadowcontrol.cpp new file mode 100644 index 0000000..8016924 --- /dev/null +++ b/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; +} + |