Adoranda/include/engine.h

31 lines
998 B
C
Raw Normal View History

2021-07-29 18:33:22 +02:00
#pragma once
2021-08-05 03:12:40 +02:00
#define ENGINE_TICK 35
2021-07-29 18:33:22 +02:00
struct game {
2021-08-08 01:43:26 +02:00
/*the current map to display*/
2021-07-29 18:33:22 +02:00
struct map *map;
2021-08-08 01:43:26 +02:00
/*the player*/
2021-07-29 18:33:22 +02:00
struct player *player;
2021-08-08 01:43:26 +02:00
/*list of all the characters on the map*/
2021-08-07 01:49:03 +02:00
struct character **characters;
2021-08-08 01:43:26 +02:00
/*the background color*/
2021-08-05 03:12:40 +02:00
int background;
2021-07-29 18:33:22 +02:00
};
2021-08-15 03:10:05 +02:00
/*draw the current state of the game*/
2021-07-29 18:33:22 +02:00
void engine_draw(struct game const *game);
2021-08-15 03:10:05 +02:00
/*draw the map around the player*/
2021-08-04 20:12:53 +02:00
void engine_draw_map_around_player(struct game const *game);
2021-08-15 03:10:05 +02:00
/*draw the player*/
2021-07-29 18:33:22 +02:00
void engine_draw_player(struct player const *player);
2021-08-15 03:10:05 +02:00
/*move the player to the direction*/
2021-08-05 03:12:40 +02:00
int engine_move(struct game *game, int direction);
2021-08-15 03:10:05 +02:00
/*update the player animation*/
2021-08-05 03:12:40 +02:00
void engine_tick(struct game *game, int dt);
2021-08-15 03:10:05 +02:00
/*set the background color*/
2021-08-07 01:49:03 +02:00
void engine_set_background(struct game *game, int color);
2021-08-15 03:10:05 +02:00
/*make an interaction with something*/
void engine_action(struct game const *game, int action);
2021-08-15 03:10:05 +02:00
/*check the current position of the player. To perform action depends of his location*/
void engine_check_position(struct game *game);