update
[supertux.git] / src / defines.h
1 /*
2   defines.h
3   
4   Super Tux
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
14 #if !defined( SUPERTUX_DEFINES_H )
15
16 #define SUPERTUX_DEFINES_H
17 /* Version: */
18
19 #ifndef VERSION
20         #define VERSION "0.0.5-0.0.6-CVS"
21 #endif
22
23 /* Frames per second: */
24
25 #define FPS (1000 / 25)
26
27
28 /* Joystick buttons and axes: */
29
30 #define JOY_A 0
31 #define JOY_B 1
32
33 #define JOY_X 0
34 #define JOY_Y 1
35
36
37 /* Booleans: */
38
39 #define NO 0
40 #define YES 1
41
42 /* Direction (keyboard/joystick) states: */
43
44 #define UP 0
45 #define DOWN 1
46
47 /* Dying types: */
48
49 /* ---- NO 0 */
50 #define SQUISHED 1
51 #define FALLING 2
52
53 /* Hurt modes: */
54
55 #define KILL 0
56 #define SHRINK 1
57
58 /* Directions: */
59
60 #define LEFT 0
61 #define RIGHT 1
62
63 /* Sizes: */
64
65 #define SMALL 0
66 #define BIG 1
67
68 /* Speed constraints: */
69
70 #define MAX_WALK_XM 2.3
71 #define MAX_RUN_XM 3.2
72 #define MAX_YM 20.0
73 #define MAX_JUMP_TIME 375
74 #define MAX_LIVES 4.0
75
76 #define WALK_SPEED 1.0
77 #define RUN_SPEED 1.5
78 #define JUMP_SPEED 1.2
79
80 #define GRAVITY 1.0
81 #define YM_FOR_JUMP 6.0
82 #define KILL_BOUNCE_YM 8.0
83
84 #define SKID_XM 2.0
85 #define SKID_TIME 200
86
87 /* Size constraints: */
88
89 #define OFFSCREEN_DISTANCE 256
90
91 #define LEVEL_WIDTH 375
92
93
94 /* Debugging */
95
96 #ifdef DEBUG
97         #define DEBUG_MSG( msg ) { \
98         printf( msg ); printf("\n"); \
99         }
100         #else
101        #define DEBUG_MSG( msg ) {}
102 #endif
103
104 #endif
105