2a1ab16e54f92f8eb9e749248c182ed473f4a744
[supertux.git] / src / gameloop.h
1 /*
2   gameloop.h
3   
4   Super Tux - Game Loop!
5   
6   by Bill Kendrick
7   bill@newbreedsoftware.com
8   http://www.newbreedsoftware.com/supertux/
9   
10   April 11, 2000 - Junuary 1st, 2004
11 */
12
13 #if !defined( SUPERTUX_GAMELOOP_H )
14 #define SUPERTUX_GAMELOOP_H 1
15
16 #include "sound.h"
17 #include "type.h"
18
19 /* Bounciness of distros: */
20
21 #define NO_BOUNCE 0
22 #define BOUNCE 1
23
24
25 /* One-ups... */
26
27 #define DISTROS_LIFEUP 100
28
29
30 /* Upgrade types: */
31
32 enum {
33   UPGRADE_MINTS,
34   UPGRADE_COFFEE,
35   UPGRADE_HERRING
36 };
37
38 /* Scores: */
39
40 #define SCORE_BRICK 5
41 #define SCORE_DISTRO 25
42
43 /* Function prototypes: */
44
45 int gameloop(void);
46 void savegame(void);
47 void loadgame(char* filename);
48 int issolid(float x, float y);
49 int isbrick(float x, float y);
50 int isice(float x, float y);
51 int isfullbox(float x, float y);
52 int rectcollision(base_type* one, base_type* two);
53 void drawshape(float x, float y, unsigned char c);
54 unsigned char shape(float x, float y);
55 void bumpbrick(float x, float y);
56 void trygrabdistro(float x, float y, int bounciness);
57 void trybreakbrick(float x, float y);
58 void tryemptybox(float x, float y);
59 void trybumpbadguy(float x, float y);
60 void add_bouncy_distro(float x, float y);
61 void add_broken_brick(float x, float y);
62 void add_broken_brick_piece(float x, float y, float xm, float ym);
63 void add_bouncy_brick(float x, float y);
64 void add_bad_guy(float x, float y, int kind);
65 void add_upgrade(float x, float y, int kind);
66 void add_bullet(float x, float y, float xm, int dir);
67 #endif
68