mirror of
https://github.com/libretro/RetroArch
synced 2025-03-30 16:20:27 +00:00
Move more to load_overlays
This commit is contained in:
parent
bdd5df32a8
commit
3af7656d42
@ -364,37 +364,13 @@ static bool input_overlay_load_overlay(input_overlay_t *ol,
|
||||
struct overlay *overlay, unsigned idx)
|
||||
{
|
||||
size_t i;
|
||||
char conf_key[64], overlay_full_screen_key[64];
|
||||
bool normalized = false;
|
||||
float alpha_mod = 1.0f;
|
||||
float range_mod = 1.0f;
|
||||
config_file_t *conf = config_file_new(ol->overlay_path);
|
||||
|
||||
if (!conf)
|
||||
return false;
|
||||
|
||||
snprintf(overlay_full_screen_key, sizeof(overlay_full_screen_key),
|
||||
"overlay%u_full_screen", idx);
|
||||
overlay->full_screen = false;
|
||||
config_get_bool(conf, overlay_full_screen_key, &overlay->full_screen);
|
||||
|
||||
|
||||
snprintf(conf_key, sizeof(conf_key),
|
||||
"overlay%u_normalized", idx);
|
||||
config_get_bool(conf, conf_key, &normalized);
|
||||
|
||||
|
||||
snprintf(conf_key, sizeof(conf_key), "overlay%u_alpha_mod", idx);
|
||||
config_get_float(conf, conf_key, &alpha_mod);
|
||||
|
||||
snprintf(conf_key, sizeof(conf_key), "overlay%u_range_mod", idx);
|
||||
config_get_float(conf, conf_key, &range_mod);
|
||||
|
||||
for (i = 0; i < overlay->size; i++)
|
||||
{
|
||||
if (!input_overlay_load_desc(ol, &overlay->descs[i], idx, i,
|
||||
overlay->image.width, overlay->image.height,
|
||||
normalized, alpha_mod, range_mod))
|
||||
overlay->config.normalized,
|
||||
overlay->config.alpha_mod, overlay->config.range_mod))
|
||||
{
|
||||
RARCH_ERR("[Overlay]: Failed to load overlay descs for overlay #%u.\n",
|
||||
(unsigned)i);
|
||||
@ -402,7 +378,6 @@ static bool input_overlay_load_overlay(input_overlay_t *ol,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (overlay->image.pixels)
|
||||
overlay->load_images[overlay->load_images_size++] = overlay->image;
|
||||
|
||||
@ -421,12 +396,9 @@ static bool input_overlay_load_overlay(input_overlay_t *ol,
|
||||
overlay->center_x = overlay->x + 0.5f * overlay->w;
|
||||
overlay->center_y = overlay->y + 0.5f * overlay->h;
|
||||
|
||||
config_file_free(conf);
|
||||
|
||||
return true;
|
||||
|
||||
error:
|
||||
config_file_free(conf);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -596,6 +568,8 @@ bool input_overlay_load_overlays(input_overlay_t *ol)
|
||||
|
||||
for (i = 0; i < ol->size; i++)
|
||||
{
|
||||
char conf_key[64];
|
||||
char overlay_full_screen_key[64];
|
||||
struct overlay *overlay = &ol->overlays[i];
|
||||
|
||||
if (!overlay)
|
||||
@ -622,6 +596,25 @@ bool input_overlay_load_overlays(input_overlay_t *ol)
|
||||
|
||||
overlay->size = overlay->config.descs.size;
|
||||
|
||||
snprintf(overlay_full_screen_key, sizeof(overlay_full_screen_key),
|
||||
"overlay%u_full_screen", i);
|
||||
overlay->full_screen = false;
|
||||
config_get_bool(conf, overlay_full_screen_key, &overlay->full_screen);
|
||||
|
||||
overlay->config.normalized = false;
|
||||
overlay->config.alpha_mod = 1.0f;
|
||||
overlay->config.range_mod = 1.0f;
|
||||
|
||||
snprintf(conf_key, sizeof(conf_key),
|
||||
"overlay%u_normalized", i);
|
||||
config_get_bool(conf, conf_key, &overlay->config.normalized);
|
||||
|
||||
snprintf(conf_key, sizeof(conf_key), "overlay%u_alpha_mod", i);
|
||||
config_get_float(conf, conf_key, &overlay->config.alpha_mod);
|
||||
|
||||
snprintf(conf_key, sizeof(conf_key), "overlay%u_range_mod", i);
|
||||
config_get_float(conf, conf_key, &overlay->config.range_mod);
|
||||
|
||||
/* Precache load image array for simplicity. */
|
||||
overlay->load_images = (struct texture_image*)
|
||||
calloc(1 + overlay->size, sizeof(struct texture_image));
|
||||
|
@ -158,6 +158,10 @@ struct overlay
|
||||
char key[64];
|
||||
unsigned size;
|
||||
} descs;
|
||||
|
||||
bool normalized;
|
||||
float alpha_mod;
|
||||
float range_mod;
|
||||
} config;
|
||||
|
||||
struct texture_image *load_images;
|
||||
|
Loading…
x
Reference in New Issue
Block a user