diff options
author | P. 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) |
commit | c80d9c0f34c0f165e77d14b5ef84b6b38dac1abd (patch) | |
tree | d76941ffc0ad25fac77e9c146501d5eb5a73af5a /src/game.c | |
parent | da11b8d5afa60cd6f46aa83feafbd720ef8ef923 (diff) | |
download | mazefight-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.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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; } |