jtmm2/src/player.c

37 lines
899 B
C

#include <gint/display.h>
#include "player.h"
#include "camera.h"
#include "input.h"
void player_step(Player *player, Input *input)
{
Vec move = {
input_is_down(*input, K_RIGHT) - input_is_down(*input, K_LEFT),
input_is_down(*input, K_DOWN) - input_is_down(*input, K_UP)
};
#ifdef FX9860G
vec_div(&move, 50);
#endif /* FX9860G */
#ifdef FXCG50
vec_mul(&move, 2);
#endif /* FXCG50 */
vec_add(&player->pos, move);
}
void player_draw(Player *player, Camera *camera)
{
Vec draw_pos_tl;
Vec draw_pos_br;
vec_cpy(&draw_pos_tl, player->pos);
vec_sub(&draw_pos_tl, player->origin);
vec_cpy(&draw_pos_br, draw_pos_tl);
vec_add(&draw_pos_br, player->hbox);
#ifdef FX9860G
drect(draw_pos_tl.x, draw_pos_tl.y, draw_pos_br.x, draw_pos_br.y, C_LIGHT);
#endif /* FX9860G */
#ifdef FXCG50
drect(draw_pos_tl.x, draw_pos_tl.y, draw_pos_br.x, draw_pos_br.y, C_BLACK);
#endif /* FXCG50 */
}