Move more to load_overlays

This commit is contained in:
twinaphex 2015-02-23 19:18:51 +01:00
parent bdd5df32a8
commit 3af7656d42
2 changed files with 27 additions and 30 deletions

View File

@ -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));

View File

@ -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;