mirror of
https://github.com/libretro/RetroArch
synced 2025-03-01 16:13:40 +00:00
Move shader_dir references
This commit is contained in:
parent
3555fc1d02
commit
10875bf6a0
@ -1398,34 +1398,13 @@ bool event_command(enum event_command cmd)
|
||||
#endif
|
||||
break;
|
||||
case EVENT_CMD_SHADER_DIR_DEINIT:
|
||||
if (!global)
|
||||
break;
|
||||
|
||||
dir_list_free(global->dir.shader_dir.list);
|
||||
global->dir.shader_dir.list = NULL;
|
||||
global->dir.shader_dir.ptr = 0;
|
||||
shader_dir_free();
|
||||
break;
|
||||
case EVENT_CMD_SHADER_DIR_INIT:
|
||||
event_command(EVENT_CMD_SHADER_DIR_DEINIT);
|
||||
|
||||
if (!*settings->video.shader_dir)
|
||||
if (!shader_dir_init())
|
||||
return false;
|
||||
|
||||
global->dir.shader_dir.list = dir_list_new_special(NULL, DIR_LIST_SHADERS, NULL);
|
||||
|
||||
if (!global->dir.shader_dir.list || global->dir.shader_dir.list->size == 0)
|
||||
{
|
||||
event_command(EVENT_CMD_SHADER_DIR_DEINIT);
|
||||
return false;
|
||||
}
|
||||
|
||||
global->dir.shader_dir.ptr = 0;
|
||||
dir_list_sort(global->dir.shader_dir.list, false);
|
||||
|
||||
for (i = 0; i < global->dir.shader_dir.list->size; i++)
|
||||
RARCH_LOG("%s \"%s\"\n",
|
||||
msg_hash_to_str(MSG_FOUND_SHADER),
|
||||
global->dir.shader_dir.list->elems[i].data);
|
||||
break;
|
||||
case EVENT_CMD_SAVEFILES:
|
||||
event_save_files();
|
||||
|
40
runloop.c
40
runloop.c
@ -40,6 +40,7 @@
|
||||
#include "retroarch.h"
|
||||
#include "runloop.h"
|
||||
#include "rewind.h"
|
||||
#include "dir_list_special.h"
|
||||
#include "audio/audio_driver.h"
|
||||
|
||||
#include "msg_hash.h"
|
||||
@ -290,6 +291,45 @@ static void check_stateslots(settings_t *settings,
|
||||
#define SHADER_EXT_CG 0x0059776fU
|
||||
#define SHADER_EXT_CGP 0x0b8865bfU
|
||||
|
||||
void shader_dir_free(void)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
|
||||
if (!global)
|
||||
return;
|
||||
|
||||
dir_list_free(global->dir.shader_dir.list);
|
||||
global->dir.shader_dir.list = NULL;
|
||||
global->dir.shader_dir.ptr = 0;
|
||||
}
|
||||
|
||||
bool shader_dir_init(void)
|
||||
{
|
||||
unsigned i;
|
||||
global_t *global = global_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!*settings->video.shader_dir)
|
||||
return false;
|
||||
|
||||
global->dir.shader_dir.list = dir_list_new_special(NULL, DIR_LIST_SHADERS, NULL);
|
||||
|
||||
if (!global->dir.shader_dir.list || global->dir.shader_dir.list->size == 0)
|
||||
{
|
||||
event_command(EVENT_CMD_SHADER_DIR_DEINIT);
|
||||
return false;
|
||||
}
|
||||
|
||||
global->dir.shader_dir.ptr = 0;
|
||||
dir_list_sort(global->dir.shader_dir.list, false);
|
||||
|
||||
for (i = 0; i < global->dir.shader_dir.list->size; i++)
|
||||
RARCH_LOG("%s \"%s\"\n",
|
||||
msg_hash_to_str(MSG_FOUND_SHADER),
|
||||
global->dir.shader_dir.list->elems[i].data);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* check_shader_dir:
|
||||
* @pressed_next : was next shader key pressed?
|
||||
|
Loading…
x
Reference in New Issue
Block a user