Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

be_aas_route.h (2872B)


      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 Foobar; 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