You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.2 KiB
51 lines
1.2 KiB
5 years ago
|
//========= 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++;
|
||
|
}
|
||
|
}
|