- removed alpha from tile since it isn't needed
[supertux.git] / src / gameloop.h
1 /*
2   gameloop.h
3   
4   Super Tux - Game Loop!
5   
6   by Bill Kendrick & Tobias Glaesser <tobi.web@gmx.de>
7   bill@newbreedsoftware.com
8   http://www.newbreedsoftware.com/supertux/
9   
10   April 11, 2000 - March 15, 2004
11 */
12
13 #ifndef SUPERTUX_GAMELOOP_H
14 #define SUPERTUX_GAMELOOP_H
15
16 #include "sound.h"
17 #include "type.h"
18 #include "level.h"
19
20 /* GameLoop modes */
21
22 #define ST_GL_PLAY 0
23 #define ST_GL_TEST 1
24 #define ST_GL_LOAD_GAME 2
25 #define ST_GL_LOAD_LEVEL_FILE  3
26
27 extern int game_started;
28 extern st_level current_level;
29
30 /* Function prototypes: */
31 class Tile;
32
33 Tile* gettile(float x, float y);
34 int gameloop(const char * subset, int levelnb, int mode);
35 void savegame(int slot);
36 void loadgame(int slot);
37 void slotinfo(char **pinfo, int slot);
38 bool issolid(float x, float y);
39 bool isbrick(float x, float y);
40 bool isice(float x, float y);
41 bool isfullbox(float x, float y);
42 bool rectcollision(base_type* one, base_type* two);
43 void drawshape(float x, float y, unsigned int c);
44 unsigned int shape(float x, float y);
45 void bumpbrick(float x, float y);
46
47 /** Try to grab the coin at the given coordinates */
48 void trygrabdistro(float x, float y, int bounciness);
49
50 /** Try to break the brick at the given coordinates */
51 void trybreakbrick(float x, float y, bool small);
52
53 /** Try to get the content out of a bonus box, thus emptying it */
54 void tryemptybox(float x, float y, int col_side);
55
56 /** Try to bumb a badguy that might we walking above Tux, thus shaking
57     the tile which the badguy is walking on an killing him this way */
58 void trybumpbadguy(float x, float y);
59
60 #endif /*SUPERTUX_GAMELOOP_H*/
61