]> git.lizzy.rs Git - nothing.git/blob - src/game/level/solid.c
Merge pull request #198 from tsoding/solid-player
[nothing.git] / src / game / level / solid.c
1 #include "boxes.h"
2 #include "platforms.h"
3 #include "player.h"
4 #include "player/rigid_rect.h"
5 #include "solid.h"
6
7 void solid_rect_object_collide(solid_ref_t solid,
8                                rect_t object,
9                                int sides[RECT_SIDE_N])
10 {
11     switch (solid.tag) {
12     case SOLID_PLATFORMS:
13         platforms_rect_object_collide((platforms_t *) solid.ptr, object, sides);
14         break;
15
16     case SOLID_BOXES:
17         boxes_rect_object_collide((boxes_t *) solid.ptr, object, sides);
18         break;
19
20     case SOLID_RIGID_RECT:
21         rigid_body_object_collide((rigid_rect_t *) solid.ptr, object, sides);
22         break;
23
24     case SOLID_PLAYER:
25         player_rect_object_collide((player_t *) solid.ptr, object, sides);
26         break;
27
28     default: {}
29     }
30 }