From 5e0f3439d82a4ff04bf0ce5da47901129acf521e Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Wed, 24 Mar 2021 09:41:23 -0400 Subject: level: Render map --- (limited to 'src') diff --git a/src/level.c b/src/level.c index 7349e23..cc81b2f 100644 --- a/src/level.c +++ b/src/level.c @@ -19,6 +19,7 @@ #include #include +#include "defs.h" #include "level.h" #include "map.h" #include "output.h" @@ -66,6 +67,7 @@ int db_level_play(SDL_Renderer *renderer, struct db_level *level) { struct db_map *map; + SDL_Texture *map_texture; db_dbg("Playing %s/%s", level->game_id, level->level_id); @@ -73,8 +75,24 @@ db_level_play(SDL_Renderer *renderer, struct db_level *level) if (map == NULL) { return -1; } + map_texture = db_map_render(map, renderer); - SDL_RenderClear(renderer); + if (SDL_SetRenderDrawColor(renderer, + DB_COLOR_BACK_R, DB_COLOR_BACK_G, + DB_COLOR_BACK_B, DB_COLOR_BACK_A) != 0) { + db_err("Failed to set drawing color (%s)", SDL_GetError()); + return -1; + } + if (SDL_RenderClear(renderer) != 0) { + db_err("Failed to clear screen (%s)", SDL_GetError()); + return -1; + } + if (SDL_RenderCopy(renderer, map_texture, NULL, NULL) != 0) { + db_err("Failed to copy texture (%s)", SDL_GetError()); + return -1; + } + SDL_RenderPresent(renderer); + SDL_Delay(1000); return 0; } -- cgit v0.9.1