mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-03-05 01:47:04 +00:00
Start using dir_list_new_special at more places
This commit is contained in:
parent
37a7749a73
commit
095683b2e0
@ -590,7 +590,7 @@ static void event_set_savestate_auto_index(void)
|
||||
fill_pathname_base(state_base, global->savestate_name,
|
||||
sizeof(state_base));
|
||||
|
||||
if (!(dir_list = dir_list_new(state_dir, NULL, false)))
|
||||
if (!(dir_list = dir_list_new_special(state_dir, DIR_LIST_PLAIN)))
|
||||
return;
|
||||
|
||||
for (i = 0; i < dir_list->size; i++)
|
||||
@ -1276,7 +1276,7 @@ bool event_command(enum event_command cmd)
|
||||
event_command(EVENT_CMD_CORE_INFO_DEINIT);
|
||||
|
||||
if (*settings->libretro_directory)
|
||||
global->core_info = core_info_list_new(settings->libretro_directory);
|
||||
global->core_info = core_info_list_new();
|
||||
break;
|
||||
case EVENT_CMD_CORE_DEINIT:
|
||||
{
|
||||
@ -1413,7 +1413,7 @@ bool event_command(enum event_command cmd)
|
||||
if (!*settings->video.shader_dir)
|
||||
return false;
|
||||
|
||||
global->shader_dir.list = dir_list_new_special(DIR_LIST_SHADERS);
|
||||
global->shader_dir.list = dir_list_new_special(NULL, DIR_LIST_SHADERS);
|
||||
|
||||
if (!global->shader_dir.list || global->shader_dir.list->size == 0)
|
||||
{
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include <file/file_path.h>
|
||||
#include "file_ext.h"
|
||||
#include <file/file_extract.h>
|
||||
#include <file/dir_list.h>
|
||||
#include "dir_list_special.h"
|
||||
#include "config.def.h"
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -100,14 +100,13 @@ static void core_info_list_resolve_all_firmware(
|
||||
}
|
||||
}
|
||||
|
||||
core_info_list_t *core_info_list_new(const char *modules_path)
|
||||
core_info_list_t *core_info_list_new(void)
|
||||
{
|
||||
size_t i;
|
||||
core_info_t *core_info = NULL;
|
||||
core_info_list_t *core_info_list = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
struct string_list *contents = (struct string_list*)
|
||||
dir_list_new(modules_path, EXT_EXECUTABLES, false);
|
||||
struct string_list *contents = dir_list_new_special(NULL, DIR_LIST_CORES);
|
||||
|
||||
if (!contents)
|
||||
return NULL;
|
||||
@ -144,7 +143,7 @@ core_info_list_t *core_info_list_new(const char *modules_path)
|
||||
strlcat(info_path_base, ".info", sizeof(info_path_base));
|
||||
|
||||
fill_pathname_join(info_path, (*settings->libretro_info_path) ?
|
||||
settings->libretro_info_path : modules_path,
|
||||
settings->libretro_info_path : settings->libretro_directory,
|
||||
info_path_base, sizeof(info_path));
|
||||
|
||||
core_info[i].data = config_file_new(info_path);
|
||||
|
@ -71,7 +71,7 @@ typedef struct
|
||||
char *all_ext;
|
||||
} core_info_list_t;
|
||||
|
||||
core_info_list_t *core_info_list_new(const char *modules_path);
|
||||
core_info_list_t *core_info_list_new(void);
|
||||
void core_info_list_free(core_info_list_t *list);
|
||||
|
||||
size_t core_info_list_num_info_files(core_info_list_t *list);
|
||||
|
@ -15,9 +15,11 @@
|
||||
*/
|
||||
|
||||
#include "dir_list_special.h"
|
||||
#include "general.h"
|
||||
#include "file_ext.h"
|
||||
#include "configuration.h"
|
||||
|
||||
struct string_list *dir_list_new_special(enum dir_list_type type)
|
||||
struct string_list *dir_list_new_special(const char *input_dir, enum dir_list_type type)
|
||||
{
|
||||
const char *dir = NULL;
|
||||
const char *exts = NULL;
|
||||
@ -25,14 +27,23 @@ struct string_list *dir_list_new_special(enum dir_list_type type)
|
||||
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
(void)input_dir;
|
||||
(void)settings;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case DIR_LIST_CORES:
|
||||
dir = settings->libretro_directory;
|
||||
exts = EXT_EXECUTABLES;
|
||||
break;
|
||||
case DIR_LIST_SHADERS:
|
||||
dir = settings->video.shader_dir;
|
||||
exts = "cg|cgp|glsl|glslp";
|
||||
break;
|
||||
case DIR_LIST_PLAIN:
|
||||
dir = input_dir;
|
||||
exts = NULL;
|
||||
break;
|
||||
case DIR_LIST_NONE:
|
||||
default:
|
||||
return NULL;
|
||||
|
@ -27,9 +27,11 @@
|
||||
enum dir_list_type
|
||||
{
|
||||
DIR_LIST_NONE = 0,
|
||||
DIR_LIST_CORES,
|
||||
DIR_LIST_PLAIN,
|
||||
DIR_LIST_SHADERS,
|
||||
};
|
||||
|
||||
struct string_list *dir_list_new_special(enum dir_list_type type);
|
||||
struct string_list *dir_list_new_special(const char *input_dir, enum dir_list_type type);
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user