aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/c_func_lod.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_func_lod.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_func_lod.cpp')
-rw-r--r--mp/src/game/client/c_func_lod.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/mp/src/game/client/c_func_lod.cpp b/mp/src/game/client/c_func_lod.cpp
new file mode 100644
index 00000000..09e6f0d3
--- /dev/null
+++ b/mp/src/game/client/c_func_lod.cpp
@@ -0,0 +1,67 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+#include "cbase.h"
+#include "view.h"
+#include "iviewrender.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+class C_Func_LOD : public C_BaseEntity
+{
+public:
+ DECLARE_CLASS( C_Func_LOD, C_BaseEntity );
+ DECLARE_CLIENTCLASS();
+
+ C_Func_LOD();
+
+// C_BaseEntity overrides.
+public:
+
+ unsigned char GetClientSideFade();
+
+public:
+// Replicated vars from the server.
+// These are documented in the server-side entity.
+public:
+ float m_fDisappearDist;
+};
+
+
+ConVar lod_TransitionDist("lod_TransitionDist", "800");
+
+
+// ------------------------------------------------------------------------- //
+// Tables.
+// ------------------------------------------------------------------------- //
+
+// Datatable..
+IMPLEMENT_CLIENTCLASS_DT(C_Func_LOD, DT_Func_LOD, CFunc_LOD)
+ RecvPropFloat(RECVINFO(m_fDisappearDist)),
+END_RECV_TABLE()
+
+
+
+// ------------------------------------------------------------------------- //
+// C_Func_LOD implementation.
+// ------------------------------------------------------------------------- //
+
+C_Func_LOD::C_Func_LOD()
+{
+ m_fDisappearDist = 5000.0f;
+}
+
+//-----------------------------------------------------------------------------
+// Purpose: Calculate a fade.
+//-----------------------------------------------------------------------------
+unsigned char C_Func_LOD::GetClientSideFade()
+{
+ return UTIL_ComputeEntityFade( this, m_fDisappearDist, m_fDisappearDist + lod_TransitionDist.GetFloat(), 1.0f );
+}
+
+