1 /*
2 ===========================================================================
3 Copyright (C) 1999-2005 Id Software, Inc.
4 
5 This file is part of Quake III Arena source code.
6 
7 Quake III Arena source code is free software; you can redistribute it
8 and/or modify it under the terms of the GNU General Public License as
9 published by the Free Software Foundation; either version 2 of the License,
10 or (at your option) any later version.
11 
12 Quake III Arena source code is distributed in the hope that it will be
13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Quake III Arena source code; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 ===========================================================================
21 */
22 
23 /*****************************************************************************
24  * name:		be_aas_route.h
25  *
26  * desc:		AAS
27  *
28  * $Archive: /source/code/botlib/be_aas_route.h $
29  *
30  *****************************************************************************/
31 
32 #ifdef AASINTERN
33 //initialize the AAS routing
34 void AAS_InitRouting(void);
35 //free the AAS routing caches
36 void AAS_FreeRoutingCaches(void);
37 //returns the travel time from start to end in the given area
38 unsigned short int AAS_AreaTravelTime(int areanum, vec3_t start, vec3_t end);
39 //
40 void AAS_CreateAllRoutingCache(void);
41 void AAS_WriteRouteCache(void);
42 //
43 void AAS_RoutingInfo(void);
44 #endif //AASINTERN
45 
46 //returns the travel flag for the given travel type
47 int AAS_TravelFlagForType(int traveltype);
48 //return the travel flag(s) for traveling through this area
49 int AAS_AreaContentsTravelFlags(int areanum);
50 //returns the index of the next reachability for the given area
51 int AAS_NextAreaReachability(int areanum, int reachnum);
52 //returns the reachability with the given index
53 void AAS_ReachabilityFromNum(int num, struct aas_reachability_s *reach);
54 //returns a random goal area and goal origin
55 int AAS_RandomGoalArea(int areanum, int travelflags, int *goalareanum, vec3_t goalorigin);
56 //enable or disable an area for routing
57 int AAS_EnableRoutingArea(int areanum, int enable);
58 //returns the travel time within the given area from start to end
59 unsigned short int AAS_AreaTravelTime(int areanum, vec3_t start, vec3_t end);
60 //returns the travel time from the area to the goal area using the given travel flags
61 int AAS_AreaTravelTimeToGoalArea(int areanum, vec3_t origin, int goalareanum, int travelflags);
62 //predict a route up to a stop event
63 int AAS_PredictRoute(struct aas_predictroute_s *route, int areanum, vec3_t origin,
64 							int goalareanum, int travelflags, int maxareas, int maxtime,
65 							int stopevent, int stopcontents, int stoptfl, int stopareanum);
66 
67 
68