123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- /*
- ===========================================================================
- 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
- ===========================================================================
- */
- #define AAS_MAX_BBOXES 5
- #define AAS_MAX_VERTEXES 512000
- #define AAS_MAX_PLANES 65536
- #define AAS_MAX_EDGES 512000
- #define AAS_MAX_EDGEINDEXSIZE 512000
- #define AAS_MAX_FACES 512000
- #define AAS_MAX_FACEINDEXSIZE 512000
- #define AAS_MAX_AREAS 65536
- #define AAS_MAX_AREASETTINGS 65536
- #define AAS_MAX_REACHABILITYSIZE 65536
- #define AAS_MAX_NODES 256000
- #define AAS_MAX_PORTALS 65536
- #define AAS_MAX_PORTALINDEXSIZE 65536
- #define AAS_MAX_CLUSTERS 65536
- #define BSPCINCLUDE
- #include "../game/be_aas.h"
- #include "../botlib/be_aas_def.h"
- /*
- typedef struct bspc_aas_s
- {
- int loaded;
- int initialized; //true when AAS has been initialized
- int savefile; //set true when file should be saved
- //bounding boxes
- int numbboxes;
- aas_bbox_t *bboxes;
- //vertexes
- int numvertexes;
- aas_vertex_t *vertexes;
- //planes
- int numplanes;
- aas_plane_t *planes;
- //edges
- int numedges;
- aas_edge_t *edges;
- //edge index
- int edgeindexsize;
- aas_edgeindex_t *edgeindex;
- //faces
- int numfaces;
- aas_face_t *faces;
- //face index
- int faceindexsize;
- aas_faceindex_t *faceindex;
- //convex areas
- int numareas;
- aas_area_t *areas;
- //convex area settings
- int numareasettings;
- aas_areasettings_t *areasettings;
- //reachablity list
- int reachabilitysize;
- aas_reachability_t *reachability;
- //nodes of the bsp tree
- int numnodes;
- aas_node_t *nodes;
- //cluster portals
- int numportals;
- aas_portal_t *portals;
- //cluster portal index
- int portalindexsize;
- aas_portalindex_t *portalindex;
- //clusters
- int numclusters;
- aas_cluster_t *clusters;
- //
- int numreachabilityareas;
- float reachabilitytime;
- } bspc_aas_t;
- extern bspc_aas_t aasworld;
- //*/
- extern aas_t aasworld;
- //stores the AAS file from the temporary AAS
- void AAS_StoreFile(char *filename);
- //returns a number of the given plane
- qboolean AAS_FindPlane(vec3_t normal, float dist, int *planenum);
- //allocates the maximum AAS memory for storage
- void AAS_AllocMaxAAS(void);
- //frees the maximum AAS memory for storage
- void AAS_FreeMaxAAS(void);
|