Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.9 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. //=============================================================================//
  4. #ifndef AI_HULL_H
  5. #define AI_HULL_H
  6. #pragma once
  7. class Vector;
  8. //=========================================================
  9. // Link Properties. These hulls must correspond to the hulls
  10. // in AI_Hull.cpp!
  11. //=========================================================
  12. enum Hull_t
  13. {
  14. HULL_HUMAN, // Combine, Stalker, Zombie...
  15. HULL_SMALL_CENTERED, // Scanner
  16. HULL_WIDE_HUMAN, // Vortigaunt
  17. HULL_TINY, // Headcrab
  18. HULL_WIDE_SHORT, // Bullsquid
  19. HULL_MEDIUM, // Cremator
  20. HULL_TINY_CENTERED, // Manhack
  21. HULL_LARGE, // Antlion Guard
  22. HULL_LARGE_CENTERED, // Mortar Synth
  23. HULL_MEDIUM_TALL, // Hunter
  24. //--------------------------------------------
  25. NUM_HULLS,
  26. HULL_NONE // No Hull (appears after num hulls as we don't want to count it)
  27. };
  28. enum Hull_Bits_t
  29. {
  30. bits_HUMAN_HULL = 0x00000001,
  31. bits_SMALL_CENTERED_HULL = 0x00000002,
  32. bits_WIDE_HUMAN_HULL = 0x00000004,
  33. bits_TINY_HULL = 0x00000008,
  34. bits_WIDE_SHORT_HULL = 0x00000010,
  35. bits_MEDIUM_HULL = 0x00000020,
  36. bits_TINY_CENTERED_HULL = 0x00000040,
  37. bits_LARGE_HULL = 0x00000080,
  38. bits_LARGE_CENTERED_HULL = 0x00000100,
  39. bits_MEDIUM_TALL_HULL = 0x00000200,
  40. bits_HULL_BITS_MASK = 0x000002ff,
  41. };
  42. inline int HullToBit( Hull_t hull )
  43. {
  44. return ( 1 << hull );
  45. }
  46. //=============================================================================
  47. // >> CAI_Hull
  48. //=============================================================================
  49. namespace NAI_Hull
  50. {
  51. const Vector &Mins(int id);
  52. const Vector &Maxs(int id);
  53. const Vector &SmallMins(int id);
  54. const Vector &SmallMaxs(int id);
  55. float Length(int id);
  56. float Width(int id);
  57. float Height(int id);
  58. int Bits(int id);
  59. const char* Name(int id);
  60. Hull_t LookupId(const char *szName);
  61. };
  62. #endif // AI_HULL_H