aboutsummaryrefslogtreecommitdiffstats
path: root/code/botlib/aasfile.h
diff options
context:
space:
mode:
authorzakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea>2005-08-26 17:39:27 +0000
committerzakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea>2005-08-26 17:39:27 +0000
commit6bf20c78f5b69d40bcc4931df93d29198435ab67 (patch)
treee3eda937a05d7db42de725b7013bd0344b987f34 /code/botlib/aasfile.h
parent872d4d7f55af706737ffb361bb76ad13e7496770 (diff)
downloadioquake3-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/botlib/aasfile.h')
-rwxr-xr-xcode/botlib/aasfile.h534
1 files changed, 267 insertions, 267 deletions
diff --git a/code/botlib/aasfile.h b/code/botlib/aasfile.h
index 5b37fbe..7fdc26a 100755
--- a/code/botlib/aasfile.h
+++ b/code/botlib/aasfile.h
@@ -1,267 +1,267 @@
-/*
-===========================================================================
-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
-===========================================================================
-*/
-
-
-//NOTE: int = default signed
-// default long
-
-#define AASID (('S'<<24)+('A'<<16)+('A'<<8)+'E')
-#define AASVERSION_OLD 4
-#define AASVERSION 5
-
-//presence types
-#define PRESENCE_NONE 1
-#define PRESENCE_NORMAL 2
-#define PRESENCE_CROUCH 4
-
-//travel types
-#define MAX_TRAVELTYPES 32
-#define TRAVEL_INVALID 1 //temporary not possible
-#define TRAVEL_WALK 2 //walking
-#define TRAVEL_CROUCH 3 //crouching
-#define TRAVEL_BARRIERJUMP 4 //jumping onto a barrier
-#define TRAVEL_JUMP 5 //jumping
-#define TRAVEL_LADDER 6 //climbing a ladder
-#define TRAVEL_WALKOFFLEDGE 7 //walking of a ledge
-#define TRAVEL_SWIM 8 //swimming
-#define TRAVEL_WATERJUMP 9 //jump out of the water
-#define TRAVEL_TELEPORT 10 //teleportation
-#define TRAVEL_ELEVATOR 11 //travel by elevator
-#define TRAVEL_ROCKETJUMP 12 //rocket jumping required for travel
-#define TRAVEL_BFGJUMP 13 //bfg jumping required for travel
-#define TRAVEL_GRAPPLEHOOK 14 //grappling hook required for travel
-#define TRAVEL_DOUBLEJUMP 15 //double jump
-#define TRAVEL_RAMPJUMP 16 //ramp jump
-#define TRAVEL_STRAFEJUMP 17 //strafe jump
-#define TRAVEL_JUMPPAD 18 //jump pad
-#define TRAVEL_FUNCBOB 19 //func bob
-
-//additional travel flags
-#define TRAVELTYPE_MASK 0xFFFFFF
-#define TRAVELFLAG_NOTTEAM1 (1 << 24)
-#define TRAVELFLAG_NOTTEAM2 (2 << 24)
-
-//face flags
-#define FACE_SOLID 1 //just solid at the other side
-#define FACE_LADDER 2 //ladder
-#define FACE_GROUND 4 //standing on ground when in this face
-#define FACE_GAP 8 //gap in the ground
-#define FACE_LIQUID 16 //face seperating two areas with liquid
-#define FACE_LIQUIDSURFACE 32 //face seperating liquid and air
-#define FACE_BRIDGE 64 //can walk over this face if bridge is closed
-
-//area contents
-#define AREACONTENTS_WATER 1
-#define AREACONTENTS_LAVA 2
-#define AREACONTENTS_SLIME 4
-#define AREACONTENTS_CLUSTERPORTAL 8
-#define AREACONTENTS_TELEPORTAL 16
-#define AREACONTENTS_ROUTEPORTAL 32
-#define AREACONTENTS_TELEPORTER 64
-#define AREACONTENTS_JUMPPAD 128
-#define AREACONTENTS_DONOTENTER 256
-#define AREACONTENTS_VIEWPORTAL 512
-#define AREACONTENTS_MOVER 1024
-#define AREACONTENTS_NOTTEAM1 2048
-#define AREACONTENTS_NOTTEAM2 4096
-//number of model of the mover inside this area
-#define AREACONTENTS_MODELNUMSHIFT 24
-#define AREACONTENTS_MAXMODELNUM 0xFF
-#define AREACONTENTS_MODELNUM (AREACONTENTS_MAXMODELNUM << AREACONTENTS_MODELNUMSHIFT)
-
-//area flags
-#define AREA_GROUNDED 1 //bot can stand on the ground
-#define AREA_LADDER 2 //area contains one or more ladder faces
-#define AREA_LIQUID 4 //area contains a liquid
-#define AREA_DISABLED 8 //area is disabled for routing when set
-#define AREA_BRIDGE 16 //area ontop of a bridge
-
-//aas file header lumps
-#define AAS_LUMPS 14
-#define AASLUMP_BBOXES 0
-#define AASLUMP_VERTEXES 1
-#define AASLUMP_PLANES 2
-#define AASLUMP_EDGES 3
-#define AASLUMP_EDGEINDEX 4
-#define AASLUMP_FACES 5
-#define AASLUMP_FACEINDEX 6
-#define AASLUMP_AREAS 7
-#define AASLUMP_AREASETTINGS 8
-#define AASLUMP_REACHABILITY 9
-#define AASLUMP_NODES 10
-#define AASLUMP_PORTALS 11
-#define AASLUMP_PORTALINDEX 12
-#define AASLUMP_CLUSTERS 13
-
-//========== bounding box =========
-
-//bounding box
-typedef struct aas_bbox_s
-{
- int presencetype;
- int flags;
- vec3_t mins, maxs;
-} aas_bbox_t;
-
-//============ settings ===========
-
-//reachability to another area
-typedef struct aas_reachability_s
-{
- int areanum; //number of the reachable area
- int facenum; //number of the face towards the other area
- int edgenum; //number of the edge towards the other area
- vec3_t start; //start point of inter area movement
- vec3_t end; //end point of inter area movement
- int traveltype; //type of travel required to get to the area
- unsigned short int traveltime;//travel time of the inter area movement
-} aas_reachability_t;
-
-//area settings
-typedef struct aas_areasettings_s
-{
- //could also add all kind of statistic fields
- int contents; //contents of the area
- int areaflags; //several area flags
- int presencetype; //how a bot can be present in this area
- int cluster; //cluster the area belongs to, if negative it's a portal
- int clusterareanum; //number of the area in the cluster
- int numreachableareas; //number of reachable areas from this one
- int firstreachablearea; //first reachable area in the reachable area index
-} aas_areasettings_t;
-
-//cluster portal
-typedef struct aas_portal_s
-{
- int areanum; //area that is the actual portal
- int frontcluster; //cluster at front of portal
- int backcluster; //cluster at back of portal
- int clusterareanum[2]; //number of the area in the front and back cluster
-} aas_portal_t;
-
-//cluster portal index
-typedef int aas_portalindex_t;
-
-//cluster
-typedef struct aas_cluster_s
-{
- int numareas; //number of areas in the cluster
- int numreachabilityareas; //number of areas with reachabilities
- int numportals; //number of cluster portals
- int firstportal; //first cluster portal in the index
-} aas_cluster_t;
-
-//============ 3d definition ============
-
-typedef vec3_t aas_vertex_t;
-
-//just a plane in the third dimension
-typedef struct aas_plane_s
-{
- vec3_t normal; //normal vector of the plane
- float dist; //distance of the plane (normal vector * distance = point in plane)
- int type;
-} aas_plane_t;
-
-//edge
-typedef struct aas_edge_s
-{
- int v[2]; //numbers of the vertexes of this edge
-} aas_edge_t;
-
-//edge index, negative if vertexes are reversed
-typedef int aas_edgeindex_t;
-
-//a face bounds an area, often it will also seperate two areas
-typedef struct aas_face_s
-{
- int planenum; //number of the plane this face is in
- int faceflags; //face flags (no use to create face settings for just this field)
- int numedges; //number of edges in the boundary of the face
- int firstedge; //first edge in the edge index
- int frontarea; //area at the front of this face
- int backarea; //area at the back of this face
-} aas_face_t;
-
-//face index, stores a negative index if backside of face
-typedef int aas_faceindex_t;
-
-//area with a boundary of faces
-typedef struct aas_area_s
-{
- int areanum; //number of this area
- //3d definition
- int numfaces; //number of faces used for the boundary of the area
- int firstface; //first face in the face index used for the boundary of the area
- vec3_t mins; //mins of the area
- vec3_t maxs; //maxs of the area
- vec3_t center; //'center' of the area
-} aas_area_t;
-
-//nodes of the bsp tree
-typedef struct aas_node_s
-{
- int planenum;
- int children[2]; //child nodes of this node, or areas as leaves when negative
- //when a child is zero it's a solid leaf
-} aas_node_t;
-
-//=========== aas file ===============
-
-//header lump
-typedef struct
-{
- int fileofs;
- int filelen;
-} aas_lump_t;
-
-//aas file header
-typedef struct aas_header_s
-{
- int ident;
- int version;
- int bspchecksum;
- //data entries
- aas_lump_t lumps[AAS_LUMPS];
-} aas_header_t;
-
-
-//====== additional information ======
-/*
-
-- when a node child is a solid leaf the node child number is zero
-- two adjacent areas (sharing a plane at opposite sides) share a face
- this face is a portal between the areas
-- when an area uses a face from the faceindex with a positive index
- then the face plane normal points into the area
-- the face edges are stored counter clockwise using the edgeindex
-- two adjacent convex areas (sharing a face) only share One face
- this is a simple result of the areas being convex
-- the areas can't have a mixture of ground and gap faces
- other mixtures of faces in one area are allowed
-- areas with the AREACONTENTS_CLUSTERPORTAL in the settings have
- the cluster number set to the negative portal number
-- edge zero is a dummy
-- face zero is a dummy
-- area zero is a dummy
-- node zero is a dummy
-*/
+/*
+===========================================================================
+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
+===========================================================================
+*/
+
+
+//NOTE: int = default signed
+// default long
+
+#define AASID (('S'<<24)+('A'<<16)+('A'<<8)+'E')
+#define AASVERSION_OLD 4
+#define AASVERSION 5
+
+//presence types
+#define PRESENCE_NONE 1
+#define PRESENCE_NORMAL 2
+#define PRESENCE_CROUCH 4
+
+//travel types
+#define MAX_TRAVELTYPES 32
+#define TRAVEL_INVALID 1 //temporary not possible
+#define TRAVEL_WALK 2 //walking
+#define TRAVEL_CROUCH 3 //crouching
+#define TRAVEL_BARRIERJUMP 4 //jumping onto a barrier
+#define TRAVEL_JUMP 5 //jumping
+#define TRAVEL_LADDER 6 //climbing a ladder
+#define TRAVEL_WALKOFFLEDGE 7 //walking of a ledge
+#define TRAVEL_SWIM 8 //swimming
+#define TRAVEL_WATERJUMP 9 //jump out of the water
+#define TRAVEL_TELEPORT 10 //teleportation
+#define TRAVEL_ELEVATOR 11 //travel by elevator
+#define TRAVEL_ROCKETJUMP 12 //rocket jumping required for travel
+#define TRAVEL_BFGJUMP 13 //bfg jumping required for travel
+#define TRAVEL_GRAPPLEHOOK 14 //grappling hook required for travel
+#define TRAVEL_DOUBLEJUMP 15 //double jump
+#define TRAVEL_RAMPJUMP 16 //ramp jump
+#define TRAVEL_STRAFEJUMP 17 //strafe jump
+#define TRAVEL_JUMPPAD 18 //jump pad
+#define TRAVEL_FUNCBOB 19 //func bob
+
+//additional travel flags
+#define TRAVELTYPE_MASK 0xFFFFFF
+#define TRAVELFLAG_NOTTEAM1 (1 << 24)
+#define TRAVELFLAG_NOTTEAM2 (2 << 24)
+
+//face flags
+#define FACE_SOLID 1 //just solid at the other side
+#define FACE_LADDER 2 //ladder
+#define FACE_GROUND 4 //standing on ground when in this face
+#define FACE_GAP 8 //gap in the ground
+#define FACE_LIQUID 16 //face seperating two areas with liquid
+#define FACE_LIQUIDSURFACE 32 //face seperating liquid and air
+#define FACE_BRIDGE 64 //can walk over this face if bridge is closed
+
+//area contents
+#define AREACONTENTS_WATER 1
+#define AREACONTENTS_LAVA 2
+#define AREACONTENTS_SLIME 4
+#define AREACONTENTS_CLUSTERPORTAL 8
+#define AREACONTENTS_TELEPORTAL 16
+#define AREACONTENTS_ROUTEPORTAL 32
+#define AREACONTENTS_TELEPORTER 64
+#define AREACONTENTS_JUMPPAD 128
+#define AREACONTENTS_DONOTENTER 256
+#define AREACONTENTS_VIEWPORTAL 512
+#define AREACONTENTS_MOVER 1024
+#define AREACONTENTS_NOTTEAM1 2048
+#define AREACONTENTS_NOTTEAM2 4096
+//number of model of the mover inside this area
+#define AREACONTENTS_MODELNUMSHIFT 24
+#define AREACONTENTS_MAXMODELNUM 0xFF
+#define AREACONTENTS_MODELNUM (AREACONTENTS_MAXMODELNUM << AREACONTENTS_MODELNUMSHIFT)
+
+//area flags
+#define AREA_GROUNDED 1 //bot can stand on the ground
+#define AREA_LADDER 2 //area contains one or more ladder faces
+#define AREA_LIQUID 4 //area contains a liquid
+#define AREA_DISABLED 8 //area is disabled for routing when set
+#define AREA_BRIDGE 16 //area ontop of a bridge
+
+//aas file header lumps
+#define AAS_LUMPS 14
+#define AASLUMP_BBOXES 0
+#define AASLUMP_VERTEXES 1
+#define AASLUMP_PLANES 2
+#define AASLUMP_EDGES 3
+#define AASLUMP_EDGEINDEX 4
+#define AASLUMP_FACES 5
+#define AASLUMP_FACEINDEX 6
+#define AASLUMP_AREAS 7
+#define AASLUMP_AREASETTINGS 8
+#define AASLUMP_REACHABILITY 9
+#define AASLUMP_NODES 10
+#define AASLUMP_PORTALS 11
+#define AASLUMP_PORTALINDEX 12
+#define AASLUMP_CLUSTERS 13
+
+//========== bounding box =========
+
+//bounding box
+typedef struct aas_bbox_s
+{
+ int presencetype;
+ int flags;
+ vec3_t mins, maxs;
+} aas_bbox_t;
+
+//============ settings ===========
+
+//reachability to another area
+typedef struct aas_reachability_s
+{
+ int areanum; //number of the reachable area
+ int facenum; //number of the face towards the other area
+ int edgenum; //number of the edge towards the other area
+ vec3_t start; //start point of inter area movement
+ vec3_t end; //end point of inter area movement
+ int traveltype; //type of travel required to get to the area
+ unsigned short int traveltime;//travel time of the inter area movement
+} aas_reachability_t;
+
+//area settings
+typedef struct aas_areasettings_s
+{
+ //could also add all kind of statistic fields
+ int contents; //contents of the area
+ int areaflags; //several area flags
+ int presencetype; //how a bot can be present in this area
+ int cluster; //cluster the area belongs to, if negative it's a portal
+ int clusterareanum; //number of the area in the cluster
+ int numreachableareas; //number of reachable areas from this one
+ int firstreachablearea; //first reachable area in the reachable area index
+} aas_areasettings_t;
+
+//cluster portal
+typedef struct aas_portal_s
+{
+ int areanum; //area that is the actual portal
+ int frontcluster; //cluster at front of portal
+ int backcluster; //cluster at back of portal
+ int clusterareanum[2]; //number of the area in the front and back cluster
+} aas_portal_t;
+
+//cluster portal index
+typedef int aas_portalindex_t;
+
+//cluster
+typedef struct aas_cluster_s
+{
+ int numareas; //number of areas in the cluster
+ int numreachabilityareas; //number of areas with reachabilities
+ int numportals; //number of cluster portals
+ int firstportal; //first cluster portal in the index
+} aas_cluster_t;
+
+//============ 3d definition ============
+
+typedef vec3_t aas_vertex_t;
+
+//just a plane in the third dimension
+typedef struct aas_plane_s
+{
+ vec3_t normal; //normal vector of the plane
+ float dist; //distance of the plane (normal vector * distance = point in plane)
+ int type;
+} aas_plane_t;
+
+//edge
+typedef struct aas_edge_s
+{
+ int v[2]; //numbers of the vertexes of this edge
+} aas_edge_t;
+
+//edge index, negative if vertexes are reversed
+typedef int aas_edgeindex_t;
+
+//a face bounds an area, often it will also seperate two areas
+typedef struct aas_face_s
+{
+ int planenum; //number of the plane this face is in
+ int faceflags; //face flags (no use to create face settings for just this field)
+ int numedges; //number of edges in the boundary of the face
+ int firstedge; //first edge in the edge index
+ int frontarea; //area at the front of this face
+ int backarea; //area at the back of this face
+} aas_face_t;
+
+//face index, stores a negative index if backside of face
+typedef int aas_faceindex_t;
+
+//area with a boundary of faces
+typedef struct aas_area_s
+{
+ int areanum; //number of this area
+ //3d definition
+ int numfaces; //number of faces used for the boundary of the area
+ int firstface; //first face in the face index used for the boundary of the area
+ vec3_t mins; //mins of the area
+ vec3_t maxs; //maxs of the area
+ vec3_t center; //'center' of the area
+} aas_area_t;
+
+//nodes of the bsp tree
+typedef struct aas_node_s
+{
+ int planenum;
+ int children[2]; //child nodes of this node, or areas as leaves when negative
+ //when a child is zero it's a solid leaf
+} aas_node_t;
+
+//=========== aas file ===============
+
+//header lump
+typedef struct
+{
+ int fileofs;
+ int filelen;
+} aas_lump_t;
+
+//aas file header
+typedef struct aas_header_s
+{
+ int ident;
+ int version;
+ int bspchecksum;
+ //data entries
+ aas_lump_t lumps[AAS_LUMPS];
+} aas_header_t;
+
+
+//====== additional information ======
+/*
+
+- when a node child is a solid leaf the node child number is zero
+- two adjacent areas (sharing a plane at opposite sides) share a face
+ this face is a portal between the areas
+- when an area uses a face from the faceindex with a positive index
+ then the face plane normal points into the area
+- the face edges are stored counter clockwise using the edgeindex
+- two adjacent convex areas (sharing a face) only share One face
+ this is a simple result of the areas being convex
+- the areas can't have a mixture of ground and gap faces
+ other mixtures of faces in one area are allowed
+- areas with the AREACONTENTS_CLUSTERPORTAL in the settings have
+ the cluster number set to the negative portal number
+- edge zero is a dummy
+- face zero is a dummy
+- area zero is a dummy
+- node zero is a dummy
+*/