Add font loading and use font for menu
parent
1e0ec6edfb
commit
15162c64e8
|
@ -7,6 +7,7 @@ typedef enum AssetInfoType
|
||||||
TEXTURE_INFO,
|
TEXTURE_INFO,
|
||||||
SPRITE_INFO,
|
SPRITE_INFO,
|
||||||
SOUND_INFO,
|
SOUND_INFO,
|
||||||
|
FONT_INFO,
|
||||||
EMITTER_INFO,
|
EMITTER_INFO,
|
||||||
LEVELPACK_INFO,
|
LEVELPACK_INFO,
|
||||||
INVALID_INFO
|
INVALID_INFO
|
||||||
|
@ -80,6 +81,8 @@ static inline AssetInfoType_t get_asset_type(const char* str)
|
||||||
|
|
||||||
if (strcmp(str, "LevelPack") == 0) return LEVELPACK_INFO;
|
if (strcmp(str, "LevelPack") == 0) return LEVELPACK_INFO;
|
||||||
|
|
||||||
|
if (strcmp(str, "Font") == 0) return FONT_INFO;
|
||||||
|
|
||||||
return INVALID_INFO;
|
return INVALID_INFO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -272,12 +275,22 @@ bool load_from_infofile(const char* file, Assets_t* assets)
|
||||||
{
|
{
|
||||||
if (add_sound(assets, name, info_str) == NULL)
|
if (add_sound(assets, name, info_str) == NULL)
|
||||||
{
|
{
|
||||||
printf("Unable to add texture at line %lu\n", line_num);
|
printf("Unable to add sound at line %lu\n", line_num);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
printf("Added sound %s as %s\n", info_str, name);
|
printf("Added sound %s as %s\n", info_str, name);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case FONT_INFO:
|
||||||
|
{
|
||||||
|
if (add_font(assets, name, info_str) == NULL)
|
||||||
|
{
|
||||||
|
printf("Unable to add font at line %lu\n", line_num);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
printf("Added font %s as %s\n", info_str, name);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case LEVELPACK_INFO:
|
case LEVELPACK_INFO:
|
||||||
{
|
{
|
||||||
//if (add_level_pack(assets, name, info_str) == NULL)
|
//if (add_level_pack(assets, name, info_str) == NULL)
|
||||||
|
|
|
@ -11,12 +11,17 @@ static void menu_scene_render_func(Scene_t* scene)
|
||||||
Sprite_t* title_spr = get_sprite(&scene->engine->assets, "title_board");
|
Sprite_t* title_spr = get_sprite(&scene->engine->assets, "title_board");
|
||||||
Sprite_t* title_select = get_sprite(&scene->engine->assets, "title_select");
|
Sprite_t* title_select = get_sprite(&scene->engine->assets, "title_select");
|
||||||
Rectangle render_rec = scene->layers.render_layers[0].render_area;
|
Rectangle render_rec = scene->layers.render_layers[0].render_area;
|
||||||
|
Font* menu_font = get_font(&scene->engine->assets, "MenuFont");
|
||||||
BeginTextureMode(scene->layers.render_layers[0].layer_tex);
|
BeginTextureMode(scene->layers.render_layers[0].layer_tex);
|
||||||
ClearBackground(RAYWHITE);
|
ClearBackground(RAYWHITE);
|
||||||
draw_sprite(spr, 0, (Vector2){0, 0}, 0, false);
|
draw_sprite(spr, 0, (Vector2){0, 0}, 0, false);
|
||||||
draw_sprite(title_spr, 0, (Vector2){32, 10}, 0, false);
|
draw_sprite(title_spr, 0, (Vector2){32, 10}, 0, false);
|
||||||
int title_width = MeasureText("Bunny's Spelunking Adventure", 32);
|
Vector2 title_sz = MeasureTextEx(*menu_font, "Bunny's Spelunking Adventure", 56, 0);
|
||||||
DrawText("Bunny's Spelunking Adventure", (render_rec.width - title_width) / 2, 20, 32, BLACK);
|
Vector2 title_pos = {
|
||||||
|
.x = (render_rec.width - title_sz.x) / 2,
|
||||||
|
.y = 32 + (title_spr->frame_size.y - title_sz.y) / 2
|
||||||
|
};
|
||||||
|
DrawTextEx(*menu_font, "Bunny's Spelunking Adventure", title_pos, 56, 0, BLACK);
|
||||||
|
|
||||||
const char* OPTIONS[3] = {"Start", "Credits", "Exit"};
|
const char* OPTIONS[3] = {"Start", "Credits", "Exit"};
|
||||||
for (uint8_t i = 0; i < 3; ++i)
|
for (uint8_t i = 0; i < 3; ++i)
|
||||||
|
|
Loading…
Reference in New Issue