aboutsummaryrefslogtreecommitdiff
path: root/mp/src/utils/vbsp/normals.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/utils/vbsp/normals.cpp
downloadsource-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz
source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip
First version of the SOurce SDK 2013
Diffstat (limited to 'mp/src/utils/vbsp/normals.cpp')
-rw-r--r--mp/src/utils/vbsp/normals.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/mp/src/utils/vbsp/normals.cpp b/mp/src/utils/vbsp/normals.cpp
new file mode 100644
index 00000000..1696342c
--- /dev/null
+++ b/mp/src/utils/vbsp/normals.cpp
@@ -0,0 +1,50 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+#include "bsplib.h"
+#include "vbsp.h"
+
+
+void SaveVertexNormals( void )
+{
+ int i, j;
+ dface_t *f;
+ texinfo_t *tex;
+
+
+ g_numvertnormalindices = 0;
+ g_numvertnormals = 0;
+
+ for( i = 0 ;i<numfaces ; i++ )
+ {
+ f = &dfaces[i];
+ tex = &texinfo[f->texinfo];
+
+ for( j = 0; j < f->numedges; j++ )
+ {
+ if( g_numvertnormalindices == MAX_MAP_VERTNORMALINDICES )
+ {
+ Error( "g_numvertnormalindices == MAX_MAP_VERTNORMALINDICES (%d)", MAX_MAP_VERTNORMALINDICES );
+ }
+
+ g_vertnormalindices[g_numvertnormalindices] = g_numvertnormals;
+ g_numvertnormalindices++;
+ }
+
+ // Add this face plane's normal.
+ // Note: this doesn't do an exhaustive vertex normal match because the vrad does it.
+ // The result is that a little extra memory is wasted coming out of vbsp, but it
+ // goes away after vrad.
+ if( g_numvertnormals == MAX_MAP_VERTNORMALS )
+ {
+ Error( "g_numvertnormals == MAX_MAP_VERTNORMALS (%d)", MAX_MAP_VERTNORMALS );
+ }
+
+ g_vertnormals[g_numvertnormals] = dplanes[f->planenum].normal;
+ g_numvertnormals++;
+ }
+}