diff options
author | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 17:39:27 +0000 |
---|---|---|
committer | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 17:39:27 +0000 |
commit | 6bf20c78f5b69d40bcc4931df93d29198435ab67 (patch) | |
tree | e3eda937a05d7db42de725b7013bd0344b987f34 /code/bspc/aas_prunenodes.c | |
parent | 872d4d7f55af706737ffb361bb76ad13e7496770 (diff) | |
download | ioquake3-aero-6bf20c78f5b69d40bcc4931df93d29198435ab67.tar.gz ioquake3-aero-6bf20c78f5b69d40bcc4931df93d29198435ab67.zip |
newlines fixed
git-svn-id: svn://svn.icculus.org/quake3/trunk@6 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/bspc/aas_prunenodes.c')
-rwxr-xr-x | code/bspc/aas_prunenodes.c | 178 |
1 files changed, 89 insertions, 89 deletions
diff --git a/code/bspc/aas_prunenodes.c b/code/bspc/aas_prunenodes.c index a03e9d2..1ba292a 100755 --- a/code/bspc/aas_prunenodes.c +++ b/code/bspc/aas_prunenodes.c @@ -1,89 +1,89 @@ -/*
-===========================================================================
-Copyright (C) 1999-2005 Id Software, Inc.
-
-This file is part of Quake III Arena source code.
-
-Quake III Arena source code is free software; you can redistribute it
-and/or modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the License,
-or (at your option) any later version.
-
-Quake III Arena source code is distributed in the hope that it will be
-useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Foobar; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-===========================================================================
-*/
-
-#include "qbsp.h"
-#include "../botlib/aasfile.h"
-#include "aas_create.h"
-
-int c_numprunes;
-
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-tmp_node_t *AAS_PruneNodes_r(tmp_node_t *tmpnode)
-{
- tmp_area_t *tmparea1, *tmparea2;
-
- //if it is a solid leaf
- if (!tmpnode) return NULL;
- //
- if (tmpnode->tmparea) return tmpnode;
- //process the children first
- tmpnode->children[0] = AAS_PruneNodes_r(tmpnode->children[0]);
- tmpnode->children[1] = AAS_PruneNodes_r(tmpnode->children[1]);
- //if both children are areas
- if (tmpnode->children[0] && tmpnode->children[1] &&
- tmpnode->children[0]->tmparea && tmpnode->children[1]->tmparea)
- {
- tmparea1 = tmpnode->children[0]->tmparea;
- while(tmparea1->mergedarea) tmparea1 = tmparea1->mergedarea;
-
- tmparea2 = tmpnode->children[1]->tmparea;
- while(tmparea2->mergedarea) tmparea2 = tmparea2->mergedarea;
-
- if (tmparea1 == tmparea2)
- {
- c_numprunes++;
- tmpnode->tmparea = tmparea1;
- tmpnode->planenum = 0;
- AAS_FreeTmpNode(tmpnode->children[0]);
- AAS_FreeTmpNode(tmpnode->children[1]);
- tmpnode->children[0] = NULL;
- tmpnode->children[1] = NULL;
- return tmpnode;
- } //end if
- } //end if
- //if both solid leafs
- if (!tmpnode->children[0] && !tmpnode->children[1])
- {
- c_numprunes++;
- AAS_FreeTmpNode(tmpnode);
- return NULL;
- } //end if
- //
- return tmpnode;
-} //end of the function AAS_PruneNodes_r
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void AAS_PruneNodes(void)
-{
- Log_Write("AAS_PruneNodes\r\n");
- AAS_PruneNodes_r(tmpaasworld.nodes);
- Log_Print("%6d nodes pruned\r\n", c_numprunes);
-} //end of the function AAS_PruneNodes
+/* +=========================================================================== +Copyright (C) 1999-2005 Id Software, Inc. + +This file is part of Quake III Arena source code. + +Quake III Arena source code is free software; you can redistribute it +and/or modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of the License, +or (at your option) any later version. + +Quake III Arena source code is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Foobar; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +=========================================================================== +*/ + +#include "qbsp.h" +#include "../botlib/aasfile.h" +#include "aas_create.h" + +int c_numprunes; + +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +tmp_node_t *AAS_PruneNodes_r(tmp_node_t *tmpnode) +{ + tmp_area_t *tmparea1, *tmparea2; + + //if it is a solid leaf + if (!tmpnode) return NULL; + // + if (tmpnode->tmparea) return tmpnode; + //process the children first + tmpnode->children[0] = AAS_PruneNodes_r(tmpnode->children[0]); + tmpnode->children[1] = AAS_PruneNodes_r(tmpnode->children[1]); + //if both children are areas + if (tmpnode->children[0] && tmpnode->children[1] && + tmpnode->children[0]->tmparea && tmpnode->children[1]->tmparea) + { + tmparea1 = tmpnode->children[0]->tmparea; + while(tmparea1->mergedarea) tmparea1 = tmparea1->mergedarea; + + tmparea2 = tmpnode->children[1]->tmparea; + while(tmparea2->mergedarea) tmparea2 = tmparea2->mergedarea; + + if (tmparea1 == tmparea2) + { + c_numprunes++; + tmpnode->tmparea = tmparea1; + tmpnode->planenum = 0; + AAS_FreeTmpNode(tmpnode->children[0]); + AAS_FreeTmpNode(tmpnode->children[1]); + tmpnode->children[0] = NULL; + tmpnode->children[1] = NULL; + return tmpnode; + } //end if + } //end if + //if both solid leafs + if (!tmpnode->children[0] && !tmpnode->children[1]) + { + c_numprunes++; + AAS_FreeTmpNode(tmpnode); + return NULL; + } //end if + // + return tmpnode; +} //end of the function AAS_PruneNodes_r +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void AAS_PruneNodes(void) +{ + Log_Write("AAS_PruneNodes\r\n"); + AAS_PruneNodes_r(tmpaasworld.nodes); + Log_Print("%6d nodes pruned\r\n", c_numprunes); +} //end of the function AAS_PruneNodes |