#ifndef PLAYER_H #define PLAYER_H /* The size of the player. */ #ifdef FXCG50 #define P_WIDTH 16 #define P_HEIGHT 16 #else #define P_WIDTH 8 #define P_HEIGHT 8 #endif /* SPEED should NOT be 8 or bigger: it may cause bugs when handling * collisions! */ #define SPEED PXSIZE*2 #include #include "game.h" #include "memory.h" /* Structure 'Player' has been moved to game.h */ /* to avoid circular references between map.h, game.h and player.h */ /* only methods propotypes are now in dedicated header files */ /* Draws the player player. This function should be called after drawing the * map! */ void player_draw(Game *game); /* Move the player player in the direction direction. */ void player_move(Game *game, Direction direction); /* (Mibi88) TODO: Describe this function please, I've no idea what she's for! */ void player_action(Game *game); /* Check if the player is in collision with the map or a NPC. Checkpos is used * to check the axis where the player is not moving. */ bool player_collision(Game *game, Direction direction, Checkpos nomov_axis_check); /* Fix the position of the player so that he's not a bit inside of a hard block * after a collision. */ void player_fix_position(Game *game, bool fix_x, bool fix_y); /* Apply damage to player */ void player_damage(Game *game, int amount); #endif