be_aas_move.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. ===========================================================================
  3. Copyright (C) 1999-2005 Id Software, Inc.
  4. This file is part of Quake III Arena source code.
  5. Quake III Arena source code is free software; you can redistribute it
  6. and/or modify it under the terms of the GNU General Public License as
  7. published by the Free Software Foundation; either version 2 of the License,
  8. or (at your option) any later version.
  9. Quake III Arena source code is distributed in the hope that it will be
  10. useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with Foobar; if not, write to the Free Software
  15. Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  16. ===========================================================================
  17. */
  18. /*****************************************************************************
  19. * name: be_aas_move.h
  20. *
  21. * desc: AAS
  22. *
  23. * $Archive: /source/code/botlib/be_aas_move.h $
  24. *
  25. *****************************************************************************/
  26. #ifdef AASINTERN
  27. extern aas_settings_t aassettings;
  28. #endif //AASINTERN
  29. //movement prediction
  30. int AAS_PredictClientMovement(struct aas_clientmove_s *move,
  31. int entnum, vec3_t origin,
  32. int presencetype, int onground,
  33. vec3_t velocity, vec3_t cmdmove,
  34. int cmdframes,
  35. int maxframes, float frametime,
  36. int stopevent, int stopareanum, int visualize);
  37. //predict movement until bounding box is hit
  38. int AAS_ClientMovementHitBBox(struct aas_clientmove_s *move,
  39. int entnum, vec3_t origin,
  40. int presencetype, int onground,
  41. vec3_t velocity, vec3_t cmdmove,
  42. int cmdframes,
  43. int maxframes, float frametime,
  44. vec3_t mins, vec3_t maxs, int visualize);
  45. //returns true if on the ground at the given origin
  46. int AAS_OnGround(vec3_t origin, int presencetype, int passent);
  47. //returns true if swimming at the given origin
  48. int AAS_Swimming(vec3_t origin);
  49. //returns the jump reachability run start point
  50. void AAS_JumpReachRunStart(struct aas_reachability_s *reach, vec3_t runstart);
  51. //returns true if against a ladder at the given origin
  52. int AAS_AgainstLadder(vec3_t origin);
  53. //rocket jump Z velocity when rocket-jumping at origin
  54. float AAS_RocketJumpZVelocity(vec3_t origin);
  55. //bfg jump Z velocity when bfg-jumping at origin
  56. float AAS_BFGJumpZVelocity(vec3_t origin);
  57. //calculates the horizontal velocity needed for a jump and returns true this velocity could be calculated
  58. int AAS_HorizontalVelocityForJump(float zvel, vec3_t start, vec3_t end, float *velocity);
  59. //
  60. void AAS_SetMovedir(vec3_t angles, vec3_t movedir);
  61. //
  62. int AAS_DropToFloor(vec3_t origin, vec3_t mins, vec3_t maxs);
  63. //
  64. void AAS_InitSettings(void);