mirror of
https://github.com/libretro/RetroArch
synced 2025-02-07 03:40:24 +00:00
(Ozone/XMB) Move some fill_pathname_join operations out of the loops since
the output string is not subject to change during iterations
This commit is contained in:
parent
4b8d3ab8a0
commit
83a2ec1da8
@ -4450,10 +4450,14 @@ static ozone_node_t *ozone_alloc_node(void)
|
|||||||
static void ozone_context_reset_horizontal_list(ozone_handle_t *ozone)
|
static void ozone_context_reset_horizontal_list(ozone_handle_t *ozone)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
char icons_path_default[PATH_MAX_LENGTH];
|
||||||
size_t list_size = ozone_list_get_size(ozone, MENU_LIST_HORIZONTAL);
|
size_t list_size = ozone_list_get_size(ozone, MENU_LIST_HORIZONTAL);
|
||||||
|
|
||||||
RHMAP_FREE(ozone->playlist_db_node_map);
|
RHMAP_FREE(ozone->playlist_db_node_map);
|
||||||
|
|
||||||
|
fill_pathname_join(icons_path_default, ozone->icons_path,
|
||||||
|
"default", sizeof(icons_path_default));
|
||||||
|
|
||||||
for (i = 0; i < list_size; i++)
|
for (i = 0; i < list_size; i++)
|
||||||
{
|
{
|
||||||
const char *path = NULL;
|
const char *path = NULL;
|
||||||
@ -4461,11 +4465,8 @@ static void ozone_context_reset_horizontal_list(ozone_handle_t *ozone)
|
|||||||
ozone_node_t *node = (ozone_node_t*)ozone->horizontal_list.list[i].userdata;
|
ozone_node_t *node = (ozone_node_t*)ozone->horizontal_list.list[i].userdata;
|
||||||
|
|
||||||
if (!node)
|
if (!node)
|
||||||
{
|
if (!(node = ozone_alloc_node()))
|
||||||
node = ozone_alloc_node();
|
|
||||||
if (!node)
|
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
|
|
||||||
if (!(path = ozone->horizontal_list.list[i].path))
|
if (!(path = ozone->horizontal_list.list[i].path))
|
||||||
continue;
|
continue;
|
||||||
@ -4477,24 +4478,21 @@ static void ozone_context_reset_horizontal_list(ozone_handle_t *ozone)
|
|||||||
char sysname[PATH_MAX_LENGTH];
|
char sysname[PATH_MAX_LENGTH];
|
||||||
char texturepath[PATH_MAX_LENGTH];
|
char texturepath[PATH_MAX_LENGTH];
|
||||||
char content_texturepath[PATH_MAX_LENGTH];
|
char content_texturepath[PATH_MAX_LENGTH];
|
||||||
char icons_path[PATH_MAX_LENGTH];
|
|
||||||
|
|
||||||
/* Add current node to playlist database name map */
|
/* Add current node to playlist database name map */
|
||||||
RHMAP_SET_STR(ozone->playlist_db_node_map, path, node);
|
RHMAP_SET_STR(ozone->playlist_db_node_map, path, node);
|
||||||
|
|
||||||
strlcpy(icons_path, ozone->icons_path, sizeof(icons_path));
|
|
||||||
|
|
||||||
fill_pathname_base(sysname, path, sizeof(sysname));
|
fill_pathname_base(sysname, path, sizeof(sysname));
|
||||||
path_remove_extension(sysname);
|
path_remove_extension(sysname);
|
||||||
|
|
||||||
fill_pathname_join(texturepath, icons_path, sysname,
|
fill_pathname_join(texturepath, ozone->icons_path, sysname,
|
||||||
sizeof(texturepath));
|
sizeof(texturepath));
|
||||||
strlcat(texturepath, ".png", sizeof(texturepath));
|
strlcat(texturepath, ".png", sizeof(texturepath));
|
||||||
|
|
||||||
/* If the playlist icon doesn't exist return default */
|
/* If the playlist icon doesn't exist return default */
|
||||||
if (!path_is_valid(texturepath))
|
if (!path_is_valid(texturepath))
|
||||||
{
|
{
|
||||||
fill_pathname_join(texturepath, icons_path, "default",
|
fill_pathname_join(texturepath, ozone->icons_path, "default",
|
||||||
sizeof(texturepath));
|
sizeof(texturepath));
|
||||||
strlcat(texturepath, ".png", sizeof(texturepath));
|
strlcat(texturepath, ".png", sizeof(texturepath));
|
||||||
}
|
}
|
||||||
@ -4518,18 +4516,13 @@ static void ozone_context_reset_horizontal_list(ozone_handle_t *ozone)
|
|||||||
|
|
||||||
fill_pathname_join_delim(sysname, sysname,
|
fill_pathname_join_delim(sysname, sysname,
|
||||||
"content.png", '-', sizeof(sysname));
|
"content.png", '-', sizeof(sysname));
|
||||||
strlcpy(content_texturepath, icons_path, sizeof(content_texturepath));
|
fill_pathname_join(content_texturepath, ozone->icons_path, sysname,
|
||||||
strlcat(content_texturepath, PATH_DEFAULT_SLASH(), sizeof(content_texturepath));
|
sizeof(content_texturepath));
|
||||||
strlcat(content_texturepath, sysname, sizeof(content_texturepath));
|
|
||||||
|
|
||||||
/* If the content icon doesn't exist return default-content */
|
/* If the content icon doesn't exist, return default-content */
|
||||||
if (!path_is_valid(content_texturepath))
|
if (!path_is_valid(content_texturepath))
|
||||||
{
|
fill_pathname_join_delim(content_texturepath, icons_path_default,
|
||||||
strlcat(icons_path,
|
|
||||||
PATH_DEFAULT_SLASH() "default", sizeof(icons_path));
|
|
||||||
fill_pathname_join_delim(content_texturepath, icons_path,
|
|
||||||
"content.png", '-', sizeof(content_texturepath));
|
"content.png", '-', sizeof(content_texturepath));
|
||||||
}
|
|
||||||
|
|
||||||
if (image_texture_load(&ti, content_texturepath))
|
if (image_texture_load(&ti, content_texturepath))
|
||||||
{
|
{
|
||||||
|
@ -2255,6 +2255,8 @@ static void xmb_context_reset_horizontal_list(
|
|||||||
xmb_handle_t *xmb)
|
xmb_handle_t *xmb)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
char iconpath[PATH_MAX_LENGTH];
|
||||||
|
char icons_path_default[PATH_MAX_LENGTH];
|
||||||
int depth = 1; /* keep this integer */
|
int depth = 1; /* keep this integer */
|
||||||
size_t list_size =
|
size_t list_size =
|
||||||
xmb_list_get_size(xmb, MENU_LIST_HORIZONTAL);
|
xmb_list_get_size(xmb, MENU_LIST_HORIZONTAL);
|
||||||
@ -2269,6 +2271,12 @@ static void xmb_context_reset_horizontal_list(
|
|||||||
|
|
||||||
RHMAP_FREE(xmb->playlist_db_node_map);
|
RHMAP_FREE(xmb->playlist_db_node_map);
|
||||||
|
|
||||||
|
iconpath[0] = '\0';
|
||||||
|
fill_pathname_application_special(iconpath, sizeof(iconpath),
|
||||||
|
APPLICATION_SPECIAL_DIRECTORY_ASSETS_XMB_ICONS);
|
||||||
|
fill_pathname_join(icons_path_default, iconpath,
|
||||||
|
"default", sizeof(icons_path_default));
|
||||||
|
|
||||||
for (i = 0; i < list_size; i++)
|
for (i = 0; i < list_size; i++)
|
||||||
{
|
{
|
||||||
const char *path = NULL;
|
const char *path = NULL;
|
||||||
@ -2287,18 +2295,14 @@ static void xmb_context_reset_horizontal_list(
|
|||||||
{
|
{
|
||||||
struct texture_image ti;
|
struct texture_image ti;
|
||||||
char sysname[PATH_MAX_LENGTH];
|
char sysname[PATH_MAX_LENGTH];
|
||||||
char iconpath[PATH_MAX_LENGTH];
|
|
||||||
char texturepath[PATH_MAX_LENGTH];
|
char texturepath[PATH_MAX_LENGTH];
|
||||||
char content_texturepath[PATH_MAX_LENGTH];
|
char content_texturepath[PATH_MAX_LENGTH];
|
||||||
|
|
||||||
/* Add current node to playlist database name map */
|
/* Add current node to playlist database name map */
|
||||||
RHMAP_SET_STR(xmb->playlist_db_node_map, path, node);
|
RHMAP_SET_STR(xmb->playlist_db_node_map, path, node);
|
||||||
iconpath[0] = '\0';
|
|
||||||
|
|
||||||
fill_pathname_base(sysname, path, sizeof(sysname));
|
fill_pathname_base(sysname, path, sizeof(sysname));
|
||||||
path_remove_extension(sysname);
|
path_remove_extension(sysname);
|
||||||
fill_pathname_application_special(iconpath, sizeof(iconpath),
|
|
||||||
APPLICATION_SPECIAL_DIRECTORY_ASSETS_XMB_ICONS);
|
|
||||||
|
|
||||||
fill_pathname_join(texturepath, iconpath, sysname,
|
fill_pathname_join(texturepath, iconpath, sysname,
|
||||||
sizeof(texturepath));
|
sizeof(texturepath));
|
||||||
@ -2334,17 +2338,14 @@ static void xmb_context_reset_horizontal_list(
|
|||||||
fill_pathname_join_delim(sysname, sysname,
|
fill_pathname_join_delim(sysname, sysname,
|
||||||
FILE_PATH_CONTENT_BASENAME, '-',
|
FILE_PATH_CONTENT_BASENAME, '-',
|
||||||
sizeof(sysname));
|
sizeof(sysname));
|
||||||
strlcpy(content_texturepath, iconpath, sizeof(content_texturepath));
|
fill_pathname_join(content_texturepath, iconpath, sysname,
|
||||||
strlcat(content_texturepath, sysname, sizeof(content_texturepath));
|
sizeof(content_texturepath));
|
||||||
|
|
||||||
/* If the content icon doesn't exist return default-content */
|
/* If the content icon doesn't exist return default-content */
|
||||||
|
|
||||||
if (!path_is_valid(content_texturepath))
|
if (!path_is_valid(content_texturepath))
|
||||||
{
|
fill_pathname_join_delim(content_texturepath, icons_path_default,
|
||||||
strlcat(iconpath, "default", sizeof(iconpath));
|
|
||||||
fill_pathname_join_delim(content_texturepath, iconpath,
|
|
||||||
FILE_PATH_CONTENT_BASENAME, '-', sizeof(content_texturepath));
|
FILE_PATH_CONTENT_BASENAME, '-', sizeof(content_texturepath));
|
||||||
}
|
|
||||||
|
|
||||||
if (image_texture_load(&ti, content_texturepath))
|
if (image_texture_load(&ti, content_texturepath))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user