Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

be_aas_bsp.h

Go to the documentation of this file.
00001 /*
00002 ===========================================================================
00003 Copyright (C) 1999-2005 Id Software, Inc.
00004 
00005 This file is part of Quake III Arena source code.
00006 
00007 Quake III Arena source code is free software; you can redistribute it
00008 and/or modify it under the terms of the GNU General Public License as
00009 published by the Free Software Foundation; either version 2 of the License,
00010 or (at your option) any later version.
00011 
00012 Quake III Arena source code is distributed in the hope that it will be
00013 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015 GNU General Public License for more details.
00016 
00017 You should have received a copy of the GNU General Public License
00018 along with Foobar; if not, write to the Free Software
00019 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00020 ===========================================================================
00021 */
00022 
00023 /*****************************************************************************
00024  * name:        be_aas_bsp.h
00025  *
00026  * desc:        AAS
00027  *
00028  * $Archive: /source/code/botlib/be_aas_bsp.h $
00029  *
00030  *****************************************************************************/
00031 
00032 #ifdef AASINTERN
00033 //loads the given BSP file
00034 int AAS_LoadBSPFile(void);
00035 //dump the loaded BSP data
00036 void AAS_DumpBSPData(void);
00037 //unlink the given entity from the bsp tree leaves
00038 void AAS_UnlinkFromBSPLeaves(bsp_link_t *leaves);
00039 //link the given entity to the bsp tree leaves of the given model
00040 bsp_link_t *AAS_BSPLinkEntity(vec3_t absmins,
00041                                         vec3_t absmaxs,
00042                                         int entnum,
00043                                         int modelnum);
00044 
00045 //calculates collision with given entity
00046 qboolean AAS_EntityCollision(int entnum,
00047                                         vec3_t start,
00048                                         vec3_t boxmins,
00049                                         vec3_t boxmaxs,
00050                                         vec3_t end,
00051                                         int contentmask,
00052                                         bsp_trace_t *trace);
00053 //for debugging
00054 void AAS_PrintFreeBSPLinks(char *str);
00055 //
00056 #endif //AASINTERN
00057 
00058 #define MAX_EPAIRKEY        128
00059 
00060 //trace through the world
00061 bsp_trace_t AAS_Trace(  vec3_t start,
00062                                 vec3_t mins,
00063                                 vec3_t maxs,
00064                                 vec3_t end,
00065                                 int passent,
00066                                 int contentmask);
00067 //returns the contents at the given point
00068 int AAS_PointContents(vec3_t point);
00069 //returns true when p2 is in the PVS of p1
00070 qboolean AAS_inPVS(vec3_t p1, vec3_t p2);
00071 //returns true when p2 is in the PHS of p1
00072 qboolean AAS_inPHS(vec3_t p1, vec3_t p2);
00073 //returns true if the given areas are connected
00074 qboolean AAS_AreasConnected(int area1, int area2);
00075 //creates a list with entities totally or partly within the given box
00076 int AAS_BoxEntities(vec3_t absmins, vec3_t absmaxs, int *list, int maxcount);
00077 //gets the mins, maxs and origin of a BSP model
00078 void AAS_BSPModelMinsMaxsOrigin(int modelnum, vec3_t angles, vec3_t mins, vec3_t maxs, vec3_t origin);
00079 //handle to the next bsp entity
00080 int AAS_NextBSPEntity(int ent);
00081 //return the value of the BSP epair key
00082 int AAS_ValueForBSPEpairKey(int ent, char *key, char *value, int size);
00083 //get a vector for the BSP epair key
00084 int AAS_VectorForBSPEpairKey(int ent, char *key, vec3_t v);
00085 //get a float for the BSP epair key
00086 int AAS_FloatForBSPEpairKey(int ent, char *key, float *value);
00087 //get an integer for the BSP epair key
00088 int AAS_IntForBSPEpairKey(int ent, char *key, int *value);
00089 

Generated on Thu Aug 25 12:37:08 2005 for Quake III Arena by  doxygen 1.3.9.1