From af5967c92418dbaf3a4ca440e10c6567cfe78d2f Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sun, 08 Aug 2021 00:37:01 -0400 Subject: player: Implement (renders just a dot so far) --- (limited to 'src/game.c') diff --git a/src/game.c b/src/game.c index 6a8be75..e336c03 100644 --- a/src/game.c +++ b/src/game.c @@ -25,6 +25,7 @@ #include "dirs.h" #include "game.h" #include "maze.h" +#include "player.h" #include "tk.h" #include "util.h" @@ -65,6 +66,7 @@ int mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer) { struct mf_maze *maze = NULL; + struct mf_player *player = NULL; SDL_Color maze_color; char *font_path = NULL; TTF_Font *text_font = NULL; @@ -89,6 +91,11 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer) maze_color.b = MF_COLOR_MAZE_B; maze_color.a = MF_COLOR_MAZE_A; + player = mf_player_new(maze, MF_WINDOW_H / size); + if (player == NULL) { + goto err; + } + font_path = mf_strcat(mf_get_fonts_dir(), "/FifteenTwenty-Regular.ttf"); text_font = TTF_OpenFont(font_path, MF_TEXT_FONT_S); if (text_font == NULL) { @@ -131,6 +138,7 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer) default: break; } + mf_player_key_event(player, &event); switch (mftk_window_event(win, &event)) { case 0: break; @@ -140,11 +148,13 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer) goto err; } } + mf_player_update(player); SDL_SetRenderDrawColor(renderer, MF_COLOR_BACK_R, MF_COLOR_BACK_G, MF_COLOR_BACK_B, MF_COLOR_BACK_A); SDL_RenderClear(renderer); mf_maze_render(maze, renderer, &maze_color, MF_WINDOW_H / size); + mf_player_render(player, renderer); secs = (beg - game.beg) / 1000; if (sprintf(game.time_buf, "%02d:%02d", secs / 60, secs % 60) < 0) { @@ -175,6 +185,7 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer) TTF_CloseFont(text_font); text_font = NULL; mf_maze_destroy(&maze); + mf_player_destroy(&player); return 0; quit: @@ -182,6 +193,7 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer) TTF_CloseFont(text_font); text_font = NULL; mf_maze_destroy(&maze); + mf_player_destroy(&player); return 1; err: @@ -193,5 +205,6 @@ mf_game(long seed, int size, int fow, int reveal, SDL_Renderer *renderer) } mftk_window_destroy(&win); mf_maze_destroy(&maze); + mf_player_destroy(&player); return -1; } -- cgit v0.9.1