From 5da2b11fcf69d12b93ea73938ababdb98a749e40 Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Mon, 14 Jan 2019 21:17:47 -0500 Subject: bake assets into build --- src/sdl/main.c | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) (limited to 'src/sdl/main.c') diff --git a/src/sdl/main.c b/src/sdl/main.c index 8d7fdff..7cbe68f 100644 --- a/src/sdl/main.c +++ b/src/sdl/main.c @@ -11,6 +11,7 @@ #include "sprites.h" #include "draw.h" #include "log-renderer-info.h" +#include "assets.h" static void log_moves( @@ -31,6 +32,32 @@ log_moves( SDL_Log("Solution (%zu moves): %s", ctx->num_moves - skip_moves, buf); } +static TTF_Font * +load_font( + const asset_id_t id +) { + // get asset + const asset_t * const asset = asset_get(ASSET_ROBOTO_TTF); + if (!asset) { + die("asset_get()"); + } + + // create io + SDL_RWops *rw = SDL_RWFromConstMem(asset->buf, asset->len); + if (!rw) { + die("SDL_RWFromConstMem(): %s", SDL_GetError()); + } + + // load font + TTF_Font *font = TTF_OpenFontIndexRW(rw, 1, 16, 0); + if (!font) { + die("TTF_OpenFontIndex(): %s", TTF_GetError()); + } + + // return font + return font; +} + static void solve_on_error( const char * const err @@ -65,8 +92,6 @@ set_level( int main(int argc, char *argv[]) { size_t level_num = (argc > 1) ? atoi(argv[1]) : 0, zoom = 0; - const char *sprites_png_path = "../assets/sprites.png"; - const char *font_path = "../assets/roboto.ttf"; // init warp buffer warp_buf_t warp_buf; @@ -132,14 +157,9 @@ int main(int argc, char *argv[]) { // set level set_level(win, &draw_ctx, &ctx, level_num); - // init sprites - sprites_init(renderer, sprites_png_path, draw_ctx.sprites); - - // load font - draw_ctx.font = TTF_OpenFontIndex(font_path, 16, 0); - if (!draw_ctx.font) { - die("TTF_OpenFontIndex(): %s", TTF_GetError()); - } + // init sprites, load font + sprites_init(renderer, draw_ctx.sprites); + draw_ctx.font = load_font(ASSET_ROBOTO_TTF); bool is_fullscreen = false; bool done = false; -- cgit v1.2.3