Ejemplo n.º 1
0
//===========================================================================
//
// Parameter:               -
// Returns:                 -
// Changes Globals:     -
//===========================================================================
void FillOutside_r(node_t *node)
{
	if(node->planenum != PLANENUM_LEAF)
	{
		FillOutside_r(node->children[0]);
		FillOutside_r(node->children[1]);
		return;
	} //end if

	// anything not reachable by an entity
	// can be filled away (by setting solid contents)
	if(!node->occupied)
	{
		if(!(node->contents & CONTENTS_SOLID))
		{
			c_outside++;
			node->contents |= CONTENTS_SOLID;
		} //end if
		else
		{
			c_solid++;
		} //end else
	} //end if
	else
	{
		c_inside++;
	} //end else
} //end of the function FillOutside_r
Ejemplo n.º 2
0
void FillOutside_r (node_t *node)
{
	if (node->planenum != PLANENUM_LEAF)
	{
		FillOutside_r (node->children[0]);
		FillOutside_r (node->children[1]);
		return;
	}

	// anything not reachable by an entity
	// can be filled away
	if (!node->occupied)
	{
		if (node->contents != CONTENTS_SOLID)
		{
			c_outside++;
			node->contents = CONTENTS_SOLID;
		}
		else
			c_solid++;
	}
	else
		c_inside++;

}
Ejemplo n.º 3
0
void FillOutside_r( node_t *node )
{
	if( node->planenum != PLANENUM_LEAF )
	{
		FillOutside_r( node->children[0] );
		FillOutside_r( node->children[1] );
		return;
	}
	
	// anything not reachable by an entity
	// can be filled away
	if( !node->occupied )
	{
		if( !node->opaque )
		{
			c_outside++;
			node->opaque = true;
		}
		else
		{
			c_solid++;
		}
	}
	else
	{
		c_inside++;
	}
	
}
Ejemplo n.º 4
0
/*
=============
FillOutside

Fill (set node->opaque = true) all nodes that can't be reached by entities
=============
*/
void FillOutside( uEntity_t *e ) {
	c_outside = 0;
	c_inside = 0;
	c_solid = 0;
	common->Printf( "--- FillOutside ---\n" );
	FillOutside_r( e->tree->headnode );
	common->Printf( "%5i solid leafs\n", c_solid );
	common->Printf( "%5i leafs filled\n", c_outside );
	common->Printf( "%5i inside leafs\n", c_inside );
}
Ejemplo n.º 5
0
/*
 * =============
 * FillOutside
 *
 * Fill all nodes that can't be reached by entities
 * =============
 */
void FillOutside(node_t * head_node) {
    c_outside = 0;
    c_inside = 0;
    c_solid = 0;
    Com_Verbose("--- FillOutside ---\n");
    FillOutside_r(head_node);
    Com_Verbose("%5i solid leafs\n", c_solid);
    Com_Verbose("%5i leafs filled\n", c_outside);
    Com_Verbose("%5i inside leafs\n", c_inside);
}
Ejemplo n.º 6
0
//===========================================================================
// Fill all nodes that can't be reached by entities
//
// Parameter:				-
// Returns:					-
// Changes Globals:		-
//===========================================================================
void FillOutside( node_t *headnode ) {
	c_outside = 0;
	c_inside = 0;
	c_solid = 0;
	Log_Print( "------- FillOutside --------\n" );
	FillOutside_r( headnode );
	Log_Print( "%5i solid leaves\n", c_solid );
	Log_Print( "%5i leaves filled\n", c_outside );
	Log_Print( "%5i inside leaves\n", c_inside );
} //end of the function FillOutside
Ejemplo n.º 7
0
/*
=============
FillOutside

Fill all nodes that can't be reached by entities
=============
*/
void FillOutside (node_t *headnode)
{
	c_outside = 0;
	c_inside = 0;
	c_solid = 0;
	qprintf ("--- FillOutside ---\n");
	FillOutside_r (headnode);
	qprintf ("%5i solid leafs\n", c_solid);
	qprintf ("%5i leafs filled\n", c_outside);
	qprintf ("%5i inside leafs\n", c_inside);
}
Ejemplo n.º 8
0
/*
=============
FillOutside

Fill all nodes that can't be reached by entities
=============
*/
void FillOutside (node_t *headnode)
{
    c_outside = 0;
    c_inside = 0;
    c_solid = 0;
    Sys_FPrintf( SYS_VRB,"--- FillOutside ---\n" );
    FillOutside_r( headnode );
    Sys_FPrintf( SYS_VRB,"%9d solid leafs\n", c_solid );
    Sys_Printf( "%9d leafs filled\n", c_outside );
    Sys_FPrintf( SYS_VRB, "%9d inside leafs\n", c_inside );
}