2021-12-15 23:43:04 +01:00
|
|
|
#pragma once
|
|
|
|
#include "vec.h"
|
|
|
|
|
2021-12-17 11:00:29 +01:00
|
|
|
enum AirState { AS_NEUTRAL, AS_RISING, AS_BREAKING };
|
|
|
|
|
2021-12-16 12:16:16 +01:00
|
|
|
struct Player {
|
2021-12-18 17:20:00 +01:00
|
|
|
struct Vec pos, gravity;
|
2021-12-16 12:16:16 +01:00
|
|
|
struct VecF spd, rem;
|
2021-12-17 11:00:29 +01:00
|
|
|
enum AirState air_state;
|
2021-12-19 11:48:17 +01:00
|
|
|
int jump_buffer, jump_grace, burn, bouncing, was_in_water;
|
2021-12-16 12:16:16 +01:00
|
|
|
};
|
2021-12-15 23:43:04 +01:00
|
|
|
|
2021-12-17 18:44:13 +01:00
|
|
|
void player_spawn(struct Player *);
|
2021-12-16 12:16:16 +01:00
|
|
|
void player_update(struct Player *);
|
2021-12-21 00:14:49 +01:00
|
|
|
void player_draw(const struct Player *);
|
2021-12-17 00:20:39 +01:00
|
|
|
void player_move(struct Player *, struct Vec);
|
2021-12-21 00:14:49 +01:00
|
|
|
|
|
|
|
struct Vec player_middle(const struct Player *);
|