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
18#ifndef HEADER_SUPERTUX_COLLISION_COLLISION_GROUP_HPP
19#define HEADER_SUPERTUX_COLLISION_COLLISION_GROUP_HPP
20
21enum CollisionGroup {
22 /** Objects in DISABLED group are not tested for collisions */
23 COLGROUP_DISABLED = 0,
24
25 /** Tested against:
26 - tiles + attributes
27 - static obstacles
28 - touchables
29 - other moving objects
30 and it counts as an obstacle during static collision phase.
31
32 Use for kinematic moving objects like platforms and rocks. */
33 COLGROUP_MOVING_STATIC,
34
35 /** Tested against:
36 - tiles + attributes
37 - static obstacles
38 - touchables
39 - other moving objects
40
41 Use for ordinary objects. */
42 COLGROUP_MOVING,
43
44 /** Tested against:
45 - tiles + attributes
46 - static obstacles
47
48 Use for interactive particles and decoration. */
49 COLGROUP_MOVING_ONLY_STATIC,
50
51 /** Tested against:
52 - moving objects
53 and it counts as an obstacle during static collision phase.
54
55 Use for static obstacles that Tux walks on. */
56 COLGROUP_STATIC,
57
58 /** Tested against:
59 - moving objects
60
61 Use for triggers like spikes/areas or collectibles like coins. */
62 COLGROUP_TOUCHABLE
63};
64
65#endif
66
67/* EOF */
68