aboutsummaryrefslogtreecommitdiff
path: root/sp/src/game/client/c_func_reflective_glass.cpp
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /sp/src/game/client/c_func_reflective_glass.cpp
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/game/client/c_func_reflective_glass.cpp')
-rw-r--r--sp/src/game/client/c_func_reflective_glass.cpp236
1 files changed, 118 insertions, 118 deletions
diff --git a/sp/src/game/client/c_func_reflective_glass.cpp b/sp/src/game/client/c_func_reflective_glass.cpp
index 56d7bda8..994d62ba 100644
--- a/sp/src/game/client/c_func_reflective_glass.cpp
+++ b/sp/src/game/client/c_func_reflective_glass.cpp
@@ -1,118 +1,118 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//===========================================================================//
-#include "cbase.h"
-#include "view_shared.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-class C_FuncReflectiveGlass : public C_BaseEntity
-{
-public:
- DECLARE_CLASS( C_FuncReflectiveGlass, C_BaseEntity );
- DECLARE_CLIENTCLASS();
-
-// C_BaseEntity.
-public:
- C_FuncReflectiveGlass();
- virtual ~C_FuncReflectiveGlass();
-
- virtual bool ShouldDraw();
-
- C_FuncReflectiveGlass *m_pNext;
-};
-
-IMPLEMENT_CLIENTCLASS_DT( C_FuncReflectiveGlass, DT_FuncReflectiveGlass, CFuncReflectiveGlass )
-END_RECV_TABLE()
-
-
-//-----------------------------------------------------------------------------
-// Globals
-//-----------------------------------------------------------------------------
-C_EntityClassList<C_FuncReflectiveGlass> g_ReflectiveGlassList;
-template<> C_FuncReflectiveGlass *C_EntityClassList<C_FuncReflectiveGlass>::m_pClassList = NULL;
-
-C_FuncReflectiveGlass* GetReflectiveGlassList()
-{
- return g_ReflectiveGlassList.m_pClassList;
-}
-
-
-//-----------------------------------------------------------------------------
-// Constructor, destructor
-//-----------------------------------------------------------------------------
-C_FuncReflectiveGlass::C_FuncReflectiveGlass()
-{
- g_ReflectiveGlassList.Insert( this );
-}
-
-C_FuncReflectiveGlass::~C_FuncReflectiveGlass()
-{
- g_ReflectiveGlassList.Remove( this );
-}
-
-
-bool C_FuncReflectiveGlass::ShouldDraw()
-{
- return true;
-}
-
-
-//-----------------------------------------------------------------------------
-// Do we have reflective glass in view?
-//-----------------------------------------------------------------------------
-bool IsReflectiveGlassInView( const CViewSetup& view, cplane_t &plane )
-{
- // Early out if no cameras
- C_FuncReflectiveGlass *pReflectiveGlass = GetReflectiveGlassList();
- if ( !pReflectiveGlass )
- return false;
-
- Frustum_t frustum;
- GeneratePerspectiveFrustum( view.origin, view.angles, view.zNear, view.zFar, view.fov, view.m_flAspectRatio, frustum );
-
- cplane_t localPlane;
- Vector vecOrigin, vecWorld, vecDelta, vecForward;
- AngleVectors( view.angles, &vecForward, NULL, NULL );
-
- for ( ; pReflectiveGlass != NULL; pReflectiveGlass = pReflectiveGlass->m_pNext )
- {
- if ( pReflectiveGlass->IsDormant() )
- continue;
-
- Vector vecMins, vecMaxs;
- pReflectiveGlass->GetRenderBoundsWorldspace( vecMins, vecMaxs );
- if ( R_CullBox( vecMins, vecMaxs, frustum ) )
- continue;
-
- const model_t *pModel = pReflectiveGlass->GetModel();
- const matrix3x4_t& mat = pReflectiveGlass->EntityToWorldTransform();
-
- int nCount = modelinfo->GetBrushModelPlaneCount( pModel );
- for ( int i = 0; i < nCount; ++i )
- {
- modelinfo->GetBrushModelPlane( pModel, i, localPlane, &vecOrigin );
-
- MatrixTransformPlane( mat, localPlane, plane ); // Transform to world space
- VectorTransform( vecOrigin, mat, vecWorld );
-
- if ( view.origin.Dot( plane.normal ) <= plane.dist ) // Check for view behind plane
- continue;
-
- VectorSubtract( vecWorld, view.origin, vecDelta ); // Backface cull
- if ( vecDelta.Dot( plane.normal ) >= 0 )
- continue;
-
- return true;
- }
- }
-
- return false;
-}
-
-
-
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//===========================================================================//
+#include "cbase.h"
+#include "view_shared.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+class C_FuncReflectiveGlass : public C_BaseEntity
+{
+public:
+ DECLARE_CLASS( C_FuncReflectiveGlass, C_BaseEntity );
+ DECLARE_CLIENTCLASS();
+
+// C_BaseEntity.
+public:
+ C_FuncReflectiveGlass();
+ virtual ~C_FuncReflectiveGlass();
+
+ virtual bool ShouldDraw();
+
+ C_FuncReflectiveGlass *m_pNext;
+};
+
+IMPLEMENT_CLIENTCLASS_DT( C_FuncReflectiveGlass, DT_FuncReflectiveGlass, CFuncReflectiveGlass )
+END_RECV_TABLE()
+
+
+//-----------------------------------------------------------------------------
+// Globals
+//-----------------------------------------------------------------------------
+C_EntityClassList<C_FuncReflectiveGlass> g_ReflectiveGlassList;
+template<> C_FuncReflectiveGlass *C_EntityClassList<C_FuncReflectiveGlass>::m_pClassList = NULL;
+
+C_FuncReflectiveGlass* GetReflectiveGlassList()
+{
+ return g_ReflectiveGlassList.m_pClassList;
+}
+
+
+//-----------------------------------------------------------------------------
+// Constructor, destructor
+//-----------------------------------------------------------------------------
+C_FuncReflectiveGlass::C_FuncReflectiveGlass()
+{
+ g_ReflectiveGlassList.Insert( this );
+}
+
+C_FuncReflectiveGlass::~C_FuncReflectiveGlass()
+{
+ g_ReflectiveGlassList.Remove( this );
+}
+
+
+bool C_FuncReflectiveGlass::ShouldDraw()
+{
+ return true;
+}
+
+
+//-----------------------------------------------------------------------------
+// Do we have reflective glass in view?
+//-----------------------------------------------------------------------------
+bool IsReflectiveGlassInView( const CViewSetup& view, cplane_t &plane )
+{
+ // Early out if no cameras
+ C_FuncReflectiveGlass *pReflectiveGlass = GetReflectiveGlassList();
+ if ( !pReflectiveGlass )
+ return false;
+
+ Frustum_t frustum;
+ GeneratePerspectiveFrustum( view.origin, view.angles, view.zNear, view.zFar, view.fov, view.m_flAspectRatio, frustum );
+
+ cplane_t localPlane;
+ Vector vecOrigin, vecWorld, vecDelta, vecForward;
+ AngleVectors( view.angles, &vecForward, NULL, NULL );
+
+ for ( ; pReflectiveGlass != NULL; pReflectiveGlass = pReflectiveGlass->m_pNext )
+ {
+ if ( pReflectiveGlass->IsDormant() )
+ continue;
+
+ Vector vecMins, vecMaxs;
+ pReflectiveGlass->GetRenderBoundsWorldspace( vecMins, vecMaxs );
+ if ( R_CullBox( vecMins, vecMaxs, frustum ) )
+ continue;
+
+ const model_t *pModel = pReflectiveGlass->GetModel();
+ const matrix3x4_t& mat = pReflectiveGlass->EntityToWorldTransform();
+
+ int nCount = modelinfo->GetBrushModelPlaneCount( pModel );
+ for ( int i = 0; i < nCount; ++i )
+ {
+ modelinfo->GetBrushModelPlane( pModel, i, localPlane, &vecOrigin );
+
+ MatrixTransformPlane( mat, localPlane, plane ); // Transform to world space
+ VectorTransform( vecOrigin, mat, vecWorld );
+
+ if ( view.origin.Dot( plane.normal ) <= plane.dist ) // Check for view behind plane
+ continue;
+
+ VectorSubtract( vecWorld, view.origin, vecDelta ); // Backface cull
+ if ( vecDelta.Dot( plane.normal ) >= 0 )
+ continue;
+
+ return true;
+ }
+ }
+
+ return false;
+}
+
+
+