2 // Interface: player/tux
7 // Author: Tobias Glaesser <tobi.web@gmx.de>, (C) 2003
9 // Copyright: See COPYING file that comes with this distribution
13 #ifndef SUPERTUX_PLAYER_H
14 #define SUPERTUX_PLAYER_H
21 #include "collision.h"
27 #define TUX_SAFE_TIME 750
28 #define TUX_INVINCIBLE_TIME 10000
29 #define TIME_WARNING 20000 /* When to alert player they're low on time! */
33 #define DISTROS_LIFEUP 100
38 #define SCORE_DISTRO 25
40 struct player_keymap_type
49 struct player_input_type
59 void player_input_init(player_input_type* pplayer_input);
61 extern texture_type tux_life;
62 extern texture_type tux_right[3];
63 extern texture_type tux_left[3];
64 extern texture_type bigtux_right[3];
65 extern texture_type bigtux_left[3];
66 extern texture_type bigtux_right_jump;
67 extern texture_type bigtux_left_jump;
68 extern texture_type ducktux_right;
69 extern texture_type ducktux_left;
70 extern texture_type skidtux_right;
71 extern texture_type skidtux_left;
72 extern texture_type firetux_right[3];
73 extern texture_type firetux_left[3];
74 extern texture_type bigfiretux_right[3];
75 extern texture_type bigfiretux_left[3];
76 extern texture_type bigfiretux_right_jump;
77 extern texture_type bigfiretux_left_jump;
78 extern texture_type duckfiretux_right;
79 extern texture_type duckfiretux_left;
80 extern texture_type skidfiretux_right;
81 extern texture_type skidfiretux_left;
82 extern texture_type cape_right[2];
83 extern texture_type cape_left[2];
84 extern texture_type bigcape_right[2];
85 extern texture_type bigcape_left[2];
90 player_input_type input_;
91 player_keymap_type keymap;
105 base_type previous_base;
106 timer_type invincible_timer;
107 timer_type skidding_timer;
108 timer_type safe_timer;
109 timer_type frame_timer;
115 int key_event(SDLKey key, int state);
121 void collision(void* p_c_object, int c_object);
124 void player_remove_powerups();
125 void keep_in_bounds();
129 void handle_horizontal_input(int dir);
130 void handle_vertical_input();
131 void remove_powerups();
134 #endif /*SUPERTUX_PLAYER_H*/