mirror of
https://github.com/libretro/RetroArch
synced 2025-01-31 15:32:59 +00:00
Cleanups and add FIXME/TODO note
This commit is contained in:
parent
24ca499570
commit
922d5a00e1
61
retroarch.c
61
retroarch.c
@ -6425,6 +6425,8 @@ static bool event_init_content(void)
|
||||
|
||||
content_get_status(&contentless, &is_inited);
|
||||
|
||||
/* TODO/FIXME - just because we have a contentless core does not
|
||||
* necessarily mean there should be no SRAM, try to find a solution here */
|
||||
rarch_use_sram = (current_core_type == CORE_TYPE_PLAIN)
|
||||
&& !contentless;
|
||||
|
||||
@ -10241,7 +10243,8 @@ static bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
case RETRO_ENVIRONMENT_SET_VARIABLES:
|
||||
RARCH_LOG("[Environ]: SET_VARIABLES.\n");
|
||||
|
||||
retroarch_deinit_core_options();
|
||||
if (runloop_core_options)
|
||||
retroarch_deinit_core_options();
|
||||
retroarch_init_core_variables((const struct retro_variable *)data);
|
||||
|
||||
break;
|
||||
@ -10249,7 +10252,8 @@ static bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
case RETRO_ENVIRONMENT_SET_CORE_OPTIONS:
|
||||
RARCH_LOG("[Environ]: SET_CORE_OPTIONS.\n");
|
||||
|
||||
retroarch_deinit_core_options();
|
||||
if (runloop_core_options)
|
||||
retroarch_deinit_core_options();
|
||||
rarch_init_core_options(
|
||||
(const struct retro_core_option_definition*)data);
|
||||
|
||||
@ -10258,7 +10262,8 @@ static bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
case RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL:
|
||||
RARCH_LOG("[Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL.\n");
|
||||
|
||||
retroarch_deinit_core_options();
|
||||
if (runloop_core_options)
|
||||
retroarch_deinit_core_options();
|
||||
retroarch_core_options_intl_init((const struct
|
||||
retro_core_options_intl *)data);
|
||||
|
||||
@ -11629,7 +11634,8 @@ static void uninit_libretro_symbols(struct retro_core_t *current_core)
|
||||
|
||||
core_set_shared_context = false;
|
||||
|
||||
retroarch_deinit_core_options();
|
||||
if (runloop_core_options)
|
||||
retroarch_deinit_core_options();
|
||||
retroarch_system_info_free();
|
||||
retroarch_frame_time_free();
|
||||
camera_driver_active = false;
|
||||
@ -27304,9 +27310,6 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data)
|
||||
|
||||
static void retroarch_deinit_core_options(void)
|
||||
{
|
||||
if (!runloop_core_options)
|
||||
return;
|
||||
|
||||
/* Check whether game-specific options file is being used */
|
||||
if (!path_is_empty(RARCH_PATH_CORE_OPTIONS))
|
||||
{
|
||||
@ -27472,7 +27475,6 @@ static bool retroarch_load_shader_preset(void)
|
||||
const char *rarch_path_basename = path_get(RARCH_PATH_BASENAME);
|
||||
|
||||
const char *game_name = path_basename(rarch_path_basename);
|
||||
char *content_dir_name = NULL;
|
||||
char *config_file_directory = NULL;
|
||||
char *old_presets_directory = NULL;
|
||||
bool auto_shaders_enable = settings->bools.auto_shaders_enable;
|
||||
@ -27481,13 +27483,9 @@ static bool retroarch_load_shader_preset(void)
|
||||
size_t i = 0;
|
||||
|
||||
bool ret = false;
|
||||
|
||||
if (!auto_shaders_enable)
|
||||
return false;
|
||||
|
||||
content_dir_name = (char*)malloc(PATH_MAX_LENGTH);
|
||||
char *content_dir_name = (char*)malloc(PATH_MAX_LENGTH);
|
||||
if (!content_dir_name)
|
||||
goto end;
|
||||
return false;
|
||||
|
||||
config_file_directory = (char*)malloc(PATH_MAX_LENGTH);
|
||||
if (!config_file_directory)
|
||||
@ -27579,6 +27577,8 @@ const char* retroarch_get_shader_preset(void)
|
||||
const char *core_name = runloop_system.info.library_name;
|
||||
bool video_shader_enable = settings->bools.video_shader_enable;
|
||||
unsigned video_shader_delay = settings->uints.video_shader_delay;
|
||||
bool auto_shaders_enable = settings->bools.auto_shaders_enable;
|
||||
|
||||
|
||||
if (!video_shader_enable)
|
||||
return NULL;
|
||||
@ -27600,7 +27600,8 @@ const char* retroarch_get_shader_preset(void)
|
||||
if (video_shader_is_supported(video_shader_parse_type(cli_shader)))
|
||||
strlcpy(runtime_shader_preset, cli_shader, sizeof(runtime_shader_preset));
|
||||
else
|
||||
retroarch_load_shader_preset(); /* sets runtime_shader_preset */
|
||||
if (auto_shaders_enable)
|
||||
retroarch_load_shader_preset(); /* sets runtime_shader_preset */
|
||||
return runtime_shader_preset;
|
||||
}
|
||||
#endif
|
||||
@ -28236,9 +28237,11 @@ static enum runloop_state runloop_check_state(retro_time_t current_time)
|
||||
if (settings->bools.input_overlay_enable)
|
||||
{
|
||||
static char prev_overlay_restore = false;
|
||||
bool check_next_rotation = true;
|
||||
static unsigned last_width = 0;
|
||||
static unsigned last_height = 0;
|
||||
bool check_next_rotation = true;
|
||||
bool input_overlay_hide_in_menu = settings->bools.input_overlay_hide_in_menu;
|
||||
bool input_overlay_auto_rotate = settings->bools.input_overlay_auto_rotate;
|
||||
|
||||
/* Check next overlay */
|
||||
HOTKEY_CHECK(RARCH_OVERLAY_NEXT, CMD_EVENT_OVERLAY_NEXT, true, &check_next_rotation);
|
||||
@ -28248,14 +28251,14 @@ static enum runloop_state runloop_check_state(retro_time_t current_time)
|
||||
prev_overlay_restore = true;
|
||||
else if (prev_overlay_restore)
|
||||
{
|
||||
if (!settings->bools.input_overlay_hide_in_menu)
|
||||
if (!input_overlay_hide_in_menu)
|
||||
retroarch_overlay_init();
|
||||
prev_overlay_restore = false;
|
||||
}
|
||||
|
||||
/* If video aspect ratio has changed, check overlay
|
||||
* rotation (if required) */
|
||||
if (settings->bools.input_overlay_auto_rotate)
|
||||
if (input_overlay_auto_rotate)
|
||||
{
|
||||
if ((video_driver_width != last_width) ||
|
||||
(video_driver_height != last_height))
|
||||
@ -28270,7 +28273,7 @@ static enum runloop_state runloop_check_state(retro_time_t current_time)
|
||||
|
||||
/* Check quit key */
|
||||
{
|
||||
bool trig_quit_key;
|
||||
bool trig_quit_key, quit_press_twice;
|
||||
static bool quit_key = false;
|
||||
static bool old_quit_key = false;
|
||||
static bool runloop_exec = false;
|
||||
@ -28278,14 +28281,15 @@ static enum runloop_state runloop_check_state(retro_time_t current_time)
|
||||
current_bits, RARCH_QUIT_KEY);
|
||||
trig_quit_key = quit_key && !old_quit_key;
|
||||
old_quit_key = quit_key;
|
||||
quit_press_twice = settings->bools.quit_press_twice;
|
||||
|
||||
/* Check double press if enabled */
|
||||
if (trig_quit_key && settings->bools.quit_press_twice)
|
||||
if (trig_quit_key && quit_press_twice)
|
||||
{
|
||||
static retro_time_t quit_key_time = 0;
|
||||
retro_time_t cur_time = current_time;
|
||||
trig_quit_key = (cur_time - quit_key_time < QUIT_DELAY_USEC);
|
||||
quit_key_time = cur_time;
|
||||
retro_time_t cur_time = current_time;
|
||||
trig_quit_key = (cur_time - quit_key_time < QUIT_DELAY_USEC);
|
||||
quit_key_time = cur_time;
|
||||
|
||||
if (!trig_quit_key)
|
||||
{
|
||||
@ -29141,9 +29145,10 @@ end:
|
||||
if (vrr_runloop_enable)
|
||||
{
|
||||
struct retro_system_av_info *av_info = &video_driver_av_info;
|
||||
bool audio_sync = settings->bools.audio_sync;
|
||||
|
||||
/* Sync on video only, block audio later. */
|
||||
if (fastforward_after_frames && settings->bools.audio_sync)
|
||||
if (fastforward_after_frames && audio_sync)
|
||||
{
|
||||
if (fastforward_after_frames == 1)
|
||||
{
|
||||
@ -29161,7 +29166,7 @@ end:
|
||||
if (audio_driver_active && audio_driver_context_audio_data)
|
||||
current_audio->set_nonblock_state(
|
||||
audio_driver_context_audio_data,
|
||||
settings->bools.audio_sync ? false : true);
|
||||
audio_sync ? false : true);
|
||||
audio_driver_chunk_size = audio_driver_chunk_block_size;
|
||||
fastforward_after_frames = 0;
|
||||
}
|
||||
@ -29760,12 +29765,14 @@ bool accessibility_speak_priority(const char* speak_text, int priority)
|
||||
|
||||
if (is_accessibility_enabled())
|
||||
{
|
||||
int speed =
|
||||
configuration_settings->uints.accessibility_narrator_speech_speed;
|
||||
frontend_ctx_driver_t *frontend = frontend_get_ptr();
|
||||
if (frontend && frontend->accessibility_speak)
|
||||
{
|
||||
int speed =
|
||||
configuration_settings->uints.accessibility_narrator_speech_speed;
|
||||
return frontend->accessibility_speak(speed, speak_text,
|
||||
priority);
|
||||
}
|
||||
|
||||
RARCH_LOG("Platform not supported for accessibility.\n");
|
||||
/* The following method is a fallback for other platforms to use the
|
||||
|
Loading…
x
Reference in New Issue
Block a user