コード例 #1
0
ファイル: tree.c プロジェクト: Garux/netradiant-custom
/*
   =============
   FreeTree_r
   =============
 */
void FreeTree_r( node_t *node ){
	face_t      *f, *nextf;

	// free children
	if ( node->planenum != PLANENUM_LEAF ) {
		FreeTree_r( node->children[0] );
		FreeTree_r( node->children[1] );
	}

	// free bspbrushes
	FreeBrushList( node->brushlist );

	// free faces
	for ( f = node->faces ; f ; f = nextf )
	{
		nextf = f->next;
		FreeFace( f );
	}

	// free the node
	if ( node->volume ) {
		FreeBrush( node->volume );
	}

	if ( numthreads == 1 ) {
		c_nodes--;
	}
	free( node );
}
コード例 #2
0
ファイル: tree.cpp プロジェクト: ibrahimmusba/ufoai
static void FreeTree_r (node_t *node)
{
	face_t *f, *nextf;

	/* free children */
	if (node->planenum != PLANENUM_LEAF) {
		FreeTree_r(node->children[0]);
		FreeTree_r(node->children[1]);
	}

	/* free bspbrushes */
	FreeBrushList(node->brushlist);

	/* free faces */
	for (f = node->faces; f; f = nextf) {
		nextf = f->next;
		FreeFace(f);
	}

	/* free the node */
	if (node->volume)
		FreeBrush(node->volume);

	if (threadstate.numthreads == 1)
		c_nodes--;
	Mem_Free(node);
}
コード例 #3
0
ファイル: facebsp.cpp プロジェクト: ProfessorKaos64/tdm
/*
=============
FreeTree_r
=============
*/
void FreeTree_r (node_t *node)
{
	// free children
	if (node->planenum != PLANENUM_LEAF)
	{
		FreeTree_r (node->children[0]);
		FreeTree_r (node->children[1]);
	}

	// free brushes
	FreeBrushList (node->brushlist);

	// free the node
	c_nodes--;
	Mem_Free (node);
}
コード例 #4
0
ファイル: facebsp.cpp プロジェクト: ProfessorKaos64/tdm
/*
=============
FreeTree
=============
*/
void FreeTree( tree_t *tree ) {
	if ( !tree ) {
		return;
	}
	FreeTreePortals_r (tree->headnode);
	FreeTree_r (tree->headnode);
	Mem_Free (tree);
}
コード例 #5
0
ファイル: tree.cpp プロジェクト: Baer42/source-sdk-2013
/*
=============
FreeTree
=============
*/
void FreeTree (tree_t *tree)
{
	if ( !tree )
		return;

	FreeTreePortals_r (tree->headnode);
	FreeTree_r (tree->headnode);
	free (tree);
}
コード例 #6
0
ファイル: tree.c プロジェクト: FS-NulL/Q3Radiant
/*
=============
FreeTree_r
=============
*/
void FreeTree_r (node_t *node)
{
	// free children
	if (node->planenum != PLANENUM_LEAF)
	{
		FreeTree_r (node->children[0]);
		FreeTree_r (node->children[1]);
	}

	// free bspbrushes
	FreeBrushList (node->brushlist);

	// free the node
	if (node->volume)
		FreeBrush (node->volume);

	if (numthreads == 1)
		c_nodes--;
	free (node);
}
コード例 #7
0
ファイル: tree.cpp プロジェクト: ibrahimmusba/ufoai
void FreeTree (tree_t *tree)
{
	FreeTreePortals_r(tree->headnode);
	FreeTree_r(tree->headnode);
	Mem_Free(tree);
}