summaryrefslogtreecommitdiffstats
path: root/src/game.c
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2021-08-08 20:13:39 (EDT)
committer P. J. McDermott <pj@pehjota.net>2021-08-08 20:13:39 (EDT)
commitc80d9c0f34c0f165e77d14b5ef84b6b38dac1abd (patch)
treed76941ffc0ad25fac77e9c146501d5eb5a73af5a /src/game.c
parentda11b8d5afa60cd6f46aa83feafbd720ef8ef923 (diff)
downloadmazefight-c80d9c0f34c0f165e77d14b5ef84b6b38dac1abd.zip
mazefight-c80d9c0f34c0f165e77d14b5ef84b6b38dac1abd.tar.gz
mazefight-c80d9c0f34c0f165e77d14b5ef84b6b38dac1abd.tar.bz2
char/enemy: New character
Diffstat (limited to 'src/game.c')
-rw-r--r--src/game.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/game.c b/src/game.c
index 8fb6637..549088c 100644
--- a/src/game.c
+++ b/src/game.c
@@ -144,6 +144,7 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer)
{
struct mf_maze *maze = NULL;
struct mf_char *player = NULL;
+ struct mf_char *enemy = NULL;
SDL_Color maze_color;
char *font_path = NULL;
TTF_Font *text_font = NULL;
@@ -173,6 +174,10 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer)
if (player == NULL) {
goto err;
}
+ enemy = mf_enemy_new(maze, MF_WINDOW_H / size, size);
+ if (enemy == NULL) {
+ goto err;
+ }
font_path = mf_strcat(mf_get_fonts_dir(), "/FifteenTwenty-Regular.ttf");
text_font = TTF_OpenFont(font_path, MF_TEXT_FONT_S);
@@ -229,6 +234,7 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer)
}
if (won == SDL_FALSE) {
mf_char_update(player);
+ mf_char_update(enemy);
mf_char_get_vector(player, &game.player_cx,
&game.player_cy, &game.player_travel,
&game.player_dx, &game.player_dy);
@@ -246,6 +252,7 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer)
MF_COLOR_BACK_B, MF_COLOR_BACK_A);
SDL_RenderClear(renderer);
mf_char_render(player, renderer);
+ mf_char_render(enemy, renderer);
if (fow == SDL_TRUE && _mf_game_fow(renderer, &game, maze,
MF_WINDOW_H / size) < 0) {
goto err;
@@ -284,6 +291,7 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer)
text_font = NULL;
mf_maze_destroy(&maze);
mf_char_destroy(&player);
+ mf_char_destroy(&enemy);
return 0;
quit:
@@ -292,6 +300,7 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer)
text_font = NULL;
mf_maze_destroy(&maze);
mf_char_destroy(&player);
+ mf_char_destroy(&enemy);
return 1;
err:
@@ -304,5 +313,6 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer)
mftk_window_destroy(&win);
mf_maze_destroy(&maze);
mf_char_destroy(&player);
+ mf_char_destroy(&enemy);
return -1;
}