7 // Author: Tobias Glaesser <tobi.web@gmx.de>, (C) 2003
9 // Copyright: See COPYING file that comes with this distribution
13 #ifndef SUPERTUX_WORLD_H
14 #define SUPERTUX_WORLD_H
19 /* Bounciness of distros: */
24 struct bouncy_distro_type
29 extern texture_type img_distro[4];
31 void bouncy_distro_init(bouncy_distro_type* pbouncy_distro, float x, float y);
32 void bouncy_distro_action(bouncy_distro_type* pbouncy_distro);
33 void bouncy_distro_draw(bouncy_distro_type* pbouncy_distro);
34 void bouncy_distro_collision(bouncy_distro_type* pbouncy_distro, int c_object);
36 #define BOUNCY_BRICK_MAX_OFFSET 8
37 #define BOUNCY_BRICK_SPEED 0.9
39 struct broken_brick_type
45 void broken_brick_init(broken_brick_type* pbroken_brick, float x, float y, float xm, float ym);
46 void broken_brick_action(broken_brick_type* pbroken_brick);
47 void broken_brick_draw(broken_brick_type* pbroken_brick);
49 struct bouncy_brick_type
57 void bouncy_brick_init(bouncy_brick_type* pbouncy_brick, float x, float y);
58 void bouncy_brick_action(bouncy_brick_type* pbouncy_brick);
59 void bouncy_brick_draw(bouncy_brick_type* pbouncy_brick);
61 struct floating_score_type
68 void floating_score_init(floating_score_type* pfloating_score, float x, float y, int s);
69 void floating_score_action(floating_score_type* pfloating_score);
70 void floating_score_draw(floating_score_type* pfloating_score);
73 /** Try to grab the coin at the given coordinates */
74 void trygrabdistro(float x, float y, int bounciness);
76 /** Try to break the brick at the given coordinates */
77 void trybreakbrick(float x, float y, bool small);
79 /** Try to get the content out of a bonus box, thus emptying it */
80 void tryemptybox(float x, float y, int col_side);
82 /** Try to bumb a badguy that might we walking above Tux, thus shaking
83 the tile which the badguy is walking on an killing him this way */
84 void trybumpbadguy(float x, float y);
86 #endif /*SUPERTUX_WORLD_H*/