This repository has been archived on 2022-01-13. You can view files and clone it, but cannot push or open issues or pull requests.
jtmm2-old/src/player.c

44 lines
1.1 KiB
C
Raw Normal View History

#include <gint/display.h>
2020-09-11 18:07:53 +02:00
#include "player.h"
#include "conf.h"
2020-09-11 18:07:53 +02:00
#include "camera.h"
2020-09-17 14:30:46 +02:00
#include "input.h"
2020-09-11 18:07:53 +02:00
2020-09-17 14:30:46 +02:00
void player_step(Player *player, Input *input)
2020-09-11 18:07:53 +02:00
{
2020-09-17 14:30:46 +02:00
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))
2020-09-17 14:30:46 +02:00
};
vec_mul(&move, 32 * PXS);
2020-09-17 14:30:46 +02:00
vec_add(&player->pos, move);
2020-09-11 18:07:53 +02:00
}
void player_draw(Player *player, Camera *camera)
{
Vec tl;
Vec br;
vec_cpy(&tl, player->pos);
vec_sub(&tl, player->origin);
vec_cpy(&br, tl);
vec_div(&tl, VEC_PRECISION);
vec_div(&br, VEC_PRECISION);
vec_add(&br, player->vbox);
vec_sub(&tl, camera->offset);
vec_sub(&br, camera->offset);
vec_mul(&tl, SCALE);
vec_mul(&br, SCALE);
vec_drect(tl, br, C_BLACK);
}
void player_draw_debug(Player *player, uint step)
{
dprint(0, 0, C_BLACK, "x: %d", player->pos.x);
dprint(0, 10, C_BLACK, "y: %d", player->pos.y);
dprint(0, 20, C_BLACK, "dx: %d", player->pos.x / SCALE * VEC_PRECISION);
dprint(0, 30, C_BLACK, "dy: %d", player->pos.y / SCALE * VEC_PRECISION);
dprint(0, 40, C_BLACK, "vp: %d", VEC_PRECISION);
dprint(0, 50, C_BLACK, "st: %u", step);
}