4 #include "player/rigid_rect.h"
7 void solid_touches_rect_sides(solid_ref_t solid,
9 int sides[RECT_SIDE_N])
13 platforms_touches_rect_sides((platforms_t *) solid.ptr, object, sides);
17 boxes_touches_rect_sides((boxes_t *) solid.ptr, object, sides);
20 case SOLID_RIGID_RECT:
21 rigid_rect_touches_rect_sides((rigid_rect_t *) solid.ptr, object, sides);
25 player_touches_rect_sides((player_t *) solid.ptr, object, sides);
30 void solid_apply_force(solid_ref_t solid,
35 /* no implementation */
38 case SOLID_RIGID_RECT:
39 rigid_rect_apply_force((rigid_rect_t *) solid.ptr, force);
43 player_apply_force((player_t *) solid.ptr, force);
47 boxes_apply_force((boxes_t *) solid.ptr, force);
54 void solid_collide_with_solid(solid_ref_t solid,
55 solid_ref_t other_solid)
59 /* no implementation */
62 case SOLID_RIGID_RECT:
63 rigid_rect_collide_with_solid((rigid_rect_t *) solid.ptr, other_solid);
67 player_collide_with_solid((player_t *) solid.ptr, other_solid);
71 boxes_collide_with_solid((boxes_t *) solid.ptr, other_solid);