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
19 #include "collision.h"
23 #define TUX_SAFE_TIME 16
24 #define TUX_INVINCIBLE_TIME 10000
25 #define TIME_WARNING 20000 /* When to alert player they're low on time! */
27 typedef struct player_input_type
38 typedef struct player_type
40 player_input_type input;
58 timer_type invincible_timer;
59 timer_type jump_timer;
65 texture_type tux_life,
66 tux_right[3], tux_left[3],
67 bigtux_right[3], bigtux_left[3],
68 bigtux_right_jump, bigtux_left_jump,
69 ducktux_right, ducktux_left,
70 skidtux_right, skidtux_left,
71 firetux_right[3], firetux_left[3],
72 bigfiretux_right[3], bigfiretux_left[3],
73 bigfiretux_right_jump, bigfiretux_left_jump,
74 duckfiretux_right, duckfiretux_left,
75 skidfiretux_right, skidfiretux_left,
76 cape_right[2], cape_left[2],
77 bigcape_right[2], bigcape_left[2];
79 void player_init(player_type* pplayer);
80 void player_level_begin(player_type* pplayer);
81 void player_action(player_type* pplayer);
82 void player_input(player_type* pplayer);
83 void player_grabdistros(player_type *pplayer);
84 void player_draw(player_type* pplayer);
85 void player_collision(player_type* pplayer,void* p_c_object, int c_object);
86 void player_kill(player_type *pplayer, int mode);
87 void player_dying(player_type *pplayer);
88 void player_remove_powerups(player_type *pplayer);
89 void player_keep_in_bounds(player_type *pplayer);
91 #endif /*SUPERTUX_PLAYER_H*/