#include "snapshot.h" #include "player.h" vec2 dp_player_calculate_acceleration(const struct player *p) { vec2 acc, dec; int x = 0, y = 0; if (p->input & INPUT_UP) { y -= 1; } if (p->input & INPUT_DOWN) { y += 1; } if (p->input & INPUT_LEFT) { x -= 1; } if (p->input & INPUT_RIGHT) { x += 1; } acc = dp_vec2_new((float)x, (float)y); acc = dp_vec2_normal(acc); acc = dp_vec2_mul(acc, PLAYER_ACCELERATION); dec = dp_vec2_mul(p->vel, -1.0f * PLAYER_DRAG); return dp_vec2_add(acc, dec); }