collision_group.hpp 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // SuperTux
  2. // Copyright (C) 2006 Matthias Braun <matze@braunis.de>
  3. // 2018 Ingo Ruhnke <grumbel@gmail.com>
  4. //
  5. // This program is free software: you can redistribute it and/or modify
  6. // it under the terms of the GNU General Public License as published by
  7. // the Free Software Foundation, either version 3 of the License, or
  8. // (at your option) any later version.
  9. //
  10. // This program is distributed in the hope that it will be useful,
  11. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. // GNU General Public License for more details.
  14. //
  15. // You should have received a copy of the GNU General Public License
  16. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. #ifndef HEADER_SUPERTUX_COLLISION_COLLISION_GROUP_HPP
  18. #define HEADER_SUPERTUX_COLLISION_COLLISION_GROUP_HPP
  19. enum CollisionGroup {
  20. /** Objects in DISABLED group are not tested for collisions */
  21. COLGROUP_DISABLED = 0,
  22. /** Tested against:
  23. - tiles + attributes
  24. - static obstacles
  25. - touchables
  26. - other moving objects
  27. and it counts as an obstacle during static collision phase.
  28. Use for kinematic moving objects like platforms and rocks. */
  29. COLGROUP_MOVING_STATIC,
  30. /** Tested against:
  31. - tiles + attributes
  32. - static obstacles
  33. - touchables
  34. - other moving objects
  35. Use for ordinary objects. */
  36. COLGROUP_MOVING,
  37. /** Tested against:
  38. - tiles + attributes
  39. - static obstacles
  40. Use for interactive particles and decoration. */
  41. COLGROUP_MOVING_ONLY_STATIC,
  42. /** Tested against:
  43. - moving objects
  44. and it counts as an obstacle during static collision phase.
  45. Use for static obstacles that Tux walks on. */
  46. COLGROUP_STATIC,
  47. /** Tested against:
  48. - moving objects
  49. Use for triggers like spikes/areas or collectibles like coins. */
  50. COLGROUP_TOUCHABLE
  51. };
  52. #endif
  53. /* EOF */