mirror of
https://github.com/libretro/RetroArch
synced 2025-03-02 19:13:34 +00:00
When settings struct gets modified, go through macros to set
the modified flag
This commit is contained in:
parent
f87bd0c190
commit
d592959be8
280
configuration.c
280
configuration.c
@ -2047,54 +2047,69 @@ void config_set_defaults(void *data)
|
||||
}
|
||||
|
||||
if (def_camera)
|
||||
strlcpy(settings->arrays.camera_driver,
|
||||
def_camera, sizeof(settings->arrays.camera_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.camera_driver,
|
||||
def_camera);
|
||||
if (def_wifi)
|
||||
strlcpy(settings->arrays.wifi_driver,
|
||||
def_wifi, sizeof(settings->arrays.wifi_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.wifi_driver,
|
||||
def_wifi);
|
||||
if (def_led)
|
||||
strlcpy(settings->arrays.led_driver,
|
||||
def_led, sizeof(settings->arrays.led_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.led_driver,
|
||||
def_led);
|
||||
if (def_location)
|
||||
strlcpy(settings->arrays.location_driver,
|
||||
def_location, sizeof(settings->arrays.location_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.location_driver,
|
||||
def_location);
|
||||
if (def_video)
|
||||
strlcpy(settings->arrays.video_driver,
|
||||
def_video, sizeof(settings->arrays.video_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.video_driver,
|
||||
def_video);
|
||||
if (def_audio)
|
||||
strlcpy(settings->arrays.audio_driver,
|
||||
def_audio, sizeof(settings->arrays.audio_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.audio_driver,
|
||||
def_audio);
|
||||
if (def_audio_resampler)
|
||||
strlcpy(settings->arrays.audio_resampler,
|
||||
def_audio_resampler, sizeof(settings->arrays.audio_resampler));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.audio_resampler,
|
||||
def_audio_resampler);
|
||||
if (def_input)
|
||||
strlcpy(settings->arrays.input_driver,
|
||||
def_input, sizeof(settings->arrays.input_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.input_driver,
|
||||
def_input);
|
||||
if (def_joypad)
|
||||
strlcpy(settings->arrays.input_joypad_driver,
|
||||
def_joypad, sizeof(settings->arrays.input_joypad_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.input_joypad_driver,
|
||||
def_joypad);
|
||||
if (def_record)
|
||||
strlcpy(settings->arrays.record_driver,
|
||||
def_record, sizeof(settings->arrays.record_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.record_driver,
|
||||
def_record);
|
||||
if (def_midi)
|
||||
strlcpy(settings->arrays.midi_driver,
|
||||
def_midi, sizeof(settings->arrays.midi_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.midi_driver,
|
||||
def_midi);
|
||||
if (def_mitm)
|
||||
strlcpy(settings->arrays.netplay_mitm_server,
|
||||
def_mitm, sizeof(settings->arrays.netplay_mitm_server));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.netplay_mitm_server,
|
||||
def_mitm);
|
||||
#ifdef HAVE_MENU
|
||||
if (def_menu)
|
||||
strlcpy(settings->arrays.menu_driver,
|
||||
def_menu, sizeof(settings->arrays.menu_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.menu_driver,
|
||||
def_menu);
|
||||
#ifdef HAVE_XMB
|
||||
*settings->paths.path_menu_xmb_font = '\0';
|
||||
#endif
|
||||
|
||||
strlcpy(settings->arrays.discord_app_id,
|
||||
DEFAULT_DISCORD_APP_ID, sizeof(settings->arrays.discord_app_id));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.discord_app_id,
|
||||
DEFAULT_DISCORD_APP_ID);
|
||||
|
||||
strlcpy(settings->arrays.ai_service_url,
|
||||
DEFAULT_AI_SERVICE_URL, sizeof(settings->arrays.ai_service_url));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.ai_service_url,
|
||||
DEFAULT_AI_SERVICE_URL);
|
||||
|
||||
|
||||
#ifdef HAVE_MATERIALUI
|
||||
@ -2121,8 +2136,9 @@ void config_set_defaults(void *data)
|
||||
settings->floats.video_refresh_rate = g_defaults.settings.video_refresh_rate;
|
||||
|
||||
if (DEFAULT_AUDIO_DEVICE)
|
||||
strlcpy(settings->arrays.audio_device,
|
||||
DEFAULT_AUDIO_DEVICE, sizeof(settings->arrays.audio_device));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.audio_device,
|
||||
DEFAULT_AUDIO_DEVICE);
|
||||
|
||||
if (!g_defaults.settings.out_latency)
|
||||
g_defaults.settings.out_latency = DEFAULT_OUT_LATENCY;
|
||||
@ -2135,16 +2151,20 @@ void config_set_defaults(void *data)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LAKKA
|
||||
settings->bools.ssh_enable = filestream_exists(LAKKA_SSH_PATH);
|
||||
settings->bools.samba_enable = filestream_exists(LAKKA_SAMBA_PATH);
|
||||
settings->bools.bluetooth_enable = filestream_exists(LAKKA_BLUETOOTH_PATH);
|
||||
settings->bools.localap_enable = false;
|
||||
configuration_set_bool(settings,
|
||||
settings->bools.ssh_enable, filestream_exists(LAKKA_SSH_PATH));
|
||||
configuration_set_bool(settings,
|
||||
settings->bools.samba_enable, filestream_exists(LAKKA_SAMBA_PATH));
|
||||
configuration_set_bool(settings,
|
||||
settings->bools.bluetooth_enable, filestream_exists(LAKKA_BLUETOOTH_PATH));
|
||||
configuration_set_bool(settings, settings->bools.localap_enable, false);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
if (first_initialized)
|
||||
settings->bools.menu_show_start_screen =
|
||||
DEFAULT_MENU_SHOW_START_SCREEN;
|
||||
configuration_set_bool(settings,
|
||||
settings->bools.menu_show_start_screen,
|
||||
DEFAULT_MENU_SHOW_START_SCREEN);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CHEEVOS
|
||||
@ -2170,11 +2190,11 @@ void config_set_defaults(void *data)
|
||||
}
|
||||
}
|
||||
|
||||
strlcpy(settings->paths.network_buildbot_url, DEFAULT_BUILDBOT_SERVER_URL,
|
||||
sizeof(settings->paths.network_buildbot_url));
|
||||
strlcpy(settings->paths.network_buildbot_assets_url,
|
||||
DEFAULT_BUILDBOT_ASSETS_SERVER_URL,
|
||||
sizeof(settings->paths.network_buildbot_assets_url));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.network_buildbot_url, DEFAULT_BUILDBOT_SERVER_URL);
|
||||
configuration_set_string(settings,
|
||||
settings->paths.network_buildbot_assets_url,
|
||||
DEFAULT_BUILDBOT_ASSETS_SERVER_URL);
|
||||
|
||||
*settings->arrays.input_keyboard_layout = '\0';
|
||||
|
||||
@ -2265,68 +2285,68 @@ void config_set_defaults(void *data)
|
||||
video_driver_default_settings();
|
||||
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_WALLPAPERS]))
|
||||
strlcpy(settings->paths.directory_dynamic_wallpapers,
|
||||
g_defaults.dirs[DEFAULT_DIR_WALLPAPERS],
|
||||
sizeof(settings->paths.directory_dynamic_wallpapers));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_dynamic_wallpapers,
|
||||
g_defaults.dirs[DEFAULT_DIR_WALLPAPERS]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS]))
|
||||
strlcpy(settings->paths.directory_thumbnails,
|
||||
g_defaults.dirs[DEFAULT_DIR_THUMBNAILS],
|
||||
sizeof(settings->paths.directory_thumbnails));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_thumbnails,
|
||||
g_defaults.dirs[DEFAULT_DIR_THUMBNAILS]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_REMAP]))
|
||||
strlcpy(settings->paths.directory_input_remapping,
|
||||
g_defaults.dirs[DEFAULT_DIR_REMAP],
|
||||
sizeof(settings->paths.directory_input_remapping));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_input_remapping,
|
||||
g_defaults.dirs[DEFAULT_DIR_REMAP]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_CACHE]))
|
||||
strlcpy(settings->paths.directory_cache,
|
||||
g_defaults.dirs[DEFAULT_DIR_CACHE],
|
||||
sizeof(settings->paths.directory_cache));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_cache,
|
||||
g_defaults.dirs[DEFAULT_DIR_CACHE]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_ASSETS]))
|
||||
strlcpy(settings->paths.directory_assets,
|
||||
g_defaults.dirs[DEFAULT_DIR_ASSETS],
|
||||
sizeof(settings->paths.directory_assets));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_assets,
|
||||
g_defaults.dirs[DEFAULT_DIR_ASSETS]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS]))
|
||||
strlcpy(settings->paths.directory_core_assets,
|
||||
g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS],
|
||||
sizeof(settings->paths.directory_core_assets));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_core_assets,
|
||||
g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_PLAYLIST]))
|
||||
strlcpy(settings->paths.directory_playlist,
|
||||
g_defaults.dirs[DEFAULT_DIR_PLAYLIST],
|
||||
sizeof(settings->paths.directory_playlist));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_playlist,
|
||||
g_defaults.dirs[DEFAULT_DIR_PLAYLIST]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_CORE]))
|
||||
fill_pathname_expand_special(settings->paths.directory_libretro,
|
||||
g_defaults.dirs[DEFAULT_DIR_CORE],
|
||||
sizeof(settings->paths.directory_libretro));
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]))
|
||||
strlcpy(settings->paths.directory_audio_filter,
|
||||
g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
|
||||
sizeof(settings->paths.directory_audio_filter));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_audio_filter,
|
||||
g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]))
|
||||
strlcpy(settings->paths.directory_video_filter,
|
||||
g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
|
||||
sizeof(settings->paths.directory_video_filter));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_video_filter,
|
||||
g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_SHADER]))
|
||||
fill_pathname_expand_special(settings->paths.directory_video_shader,
|
||||
g_defaults.dirs[DEFAULT_DIR_SHADER],
|
||||
sizeof(settings->paths.directory_video_shader));
|
||||
|
||||
if (!string_is_empty(g_defaults.path.buildbot_server_url))
|
||||
strlcpy(settings->paths.network_buildbot_url,
|
||||
g_defaults.path.buildbot_server_url,
|
||||
sizeof(settings->paths.network_buildbot_url));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.network_buildbot_url,
|
||||
g_defaults.path.buildbot_server_url);
|
||||
if (!string_is_empty(g_defaults.path.core))
|
||||
path_set(RARCH_PATH_CORE, g_defaults.path.core);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_DATABASE]))
|
||||
strlcpy(settings->paths.path_content_database,
|
||||
g_defaults.dirs[DEFAULT_DIR_DATABASE],
|
||||
sizeof(settings->paths.path_content_database));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.path_content_database,
|
||||
g_defaults.dirs[DEFAULT_DIR_DATABASE]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_CURSOR]))
|
||||
strlcpy(settings->paths.directory_cursor,
|
||||
g_defaults.dirs[DEFAULT_DIR_CURSOR],
|
||||
sizeof(settings->paths.directory_cursor));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_cursor,
|
||||
g_defaults.dirs[DEFAULT_DIR_CURSOR]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_CHEATS]))
|
||||
strlcpy(settings->paths.path_cheat_database,
|
||||
g_defaults.dirs[DEFAULT_DIR_CHEATS],
|
||||
sizeof(settings->paths.path_cheat_database));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.path_cheat_database,
|
||||
g_defaults.dirs[DEFAULT_DIR_CHEATS]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]))
|
||||
fill_pathname_expand_special(settings->paths.path_libretro_info,
|
||||
g_defaults.dirs[DEFAULT_DIR_CORE_INFO],
|
||||
@ -2358,9 +2378,9 @@ void config_set_defaults(void *data)
|
||||
#ifdef HAVE_MENU
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG]))
|
||||
{
|
||||
strlcpy(settings->paths.directory_menu_config,
|
||||
g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG],
|
||||
sizeof(settings->paths.directory_menu_config));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_menu_config,
|
||||
g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG]);
|
||||
#if TARGET_OS_IPHONE
|
||||
{
|
||||
char *config_file_path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
|
||||
@ -2375,14 +2395,14 @@ void config_set_defaults(void *data)
|
||||
}
|
||||
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_MENU_CONTENT]))
|
||||
strlcpy(settings->paths.directory_menu_content,
|
||||
g_defaults.dirs[DEFAULT_DIR_MENU_CONTENT],
|
||||
sizeof(settings->paths.directory_menu_content));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_menu_content,
|
||||
g_defaults.dirs[DEFAULT_DIR_MENU_CONTENT]);
|
||||
#endif
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]))
|
||||
strlcpy(settings->paths.directory_autoconfig,
|
||||
g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG],
|
||||
sizeof(settings->paths.directory_autoconfig));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_autoconfig,
|
||||
g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]);
|
||||
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_SAVESTATE]))
|
||||
dir_set(RARCH_DIR_SAVESTATE, g_defaults.dirs[DEFAULT_DIR_SAVESTATE]);
|
||||
@ -2391,26 +2411,25 @@ void config_set_defaults(void *data)
|
||||
dir_set(RARCH_DIR_SAVEFILE, g_defaults.dirs[DEFAULT_DIR_SRAM]);
|
||||
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_SYSTEM]))
|
||||
strlcpy(settings->paths.directory_system,
|
||||
g_defaults.dirs[DEFAULT_DIR_SYSTEM],
|
||||
sizeof(settings->paths.directory_system));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_system,
|
||||
g_defaults.dirs[DEFAULT_DIR_SYSTEM]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT]))
|
||||
strlcpy(settings->paths.directory_screenshot,
|
||||
g_defaults.dirs[DEFAULT_DIR_SCREENSHOT],
|
||||
sizeof(settings->paths.directory_screenshot));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_screenshot,
|
||||
g_defaults.dirs[DEFAULT_DIR_SCREENSHOT]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_RESAMPLER]))
|
||||
strlcpy(settings->paths.directory_resampler,
|
||||
g_defaults.dirs[DEFAULT_DIR_RESAMPLER],
|
||||
sizeof(settings->paths.directory_resampler));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_resampler,
|
||||
g_defaults.dirs[DEFAULT_DIR_RESAMPLER]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_CONTENT_HISTORY]))
|
||||
strlcpy(settings->paths.directory_content_history,
|
||||
g_defaults.dirs[DEFAULT_DIR_CONTENT_HISTORY],
|
||||
sizeof(settings->paths.directory_content_history));
|
||||
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_content_history,
|
||||
g_defaults.dirs[DEFAULT_DIR_CONTENT_HISTORY]);
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_LOGS]))
|
||||
strlcpy(settings->paths.log_dir,
|
||||
g_defaults.dirs[DEFAULT_DIR_LOGS],
|
||||
sizeof(settings->paths.log_dir));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.log_dir,
|
||||
g_defaults.dirs[DEFAULT_DIR_LOGS]);
|
||||
|
||||
if (!string_is_empty(g_defaults.path.config))
|
||||
{
|
||||
@ -2425,10 +2444,12 @@ void config_set_defaults(void *data)
|
||||
free(temp_str);
|
||||
}
|
||||
|
||||
strlcpy(settings->arrays.midi_input,
|
||||
DEFAULT_MIDI_INPUT, sizeof(settings->arrays.midi_input));
|
||||
strlcpy(settings->arrays.midi_output,
|
||||
DEFAULT_MIDI_OUTPUT, sizeof(settings->arrays.midi_output));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.midi_input,
|
||||
DEFAULT_MIDI_INPUT);
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.midi_output,
|
||||
DEFAULT_MIDI_OUTPUT);
|
||||
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
/* Avoid reloading config on every content load */
|
||||
@ -2459,7 +2480,6 @@ void config_load(void *data)
|
||||
}
|
||||
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
|
||||
#if defined(HAVE_MENU) && defined(HAVE_RGUI)
|
||||
static bool check_menu_driver_compatibility(settings_t *settings)
|
||||
{
|
||||
@ -2809,7 +2829,8 @@ static bool config_load_file(global_t *global,
|
||||
snprintf(tmp, sizeof(tmp), "network_remote_enable_user_p%u", i + 1);
|
||||
|
||||
if (config_get_bool(conf, tmp, &tmp_bool))
|
||||
settings->bools.network_remote_enable_user[i] = tmp_bool;
|
||||
configuration_set_bool(settings,
|
||||
settings->bools.network_remote_enable_user[i], tmp_bool);
|
||||
}
|
||||
#endif
|
||||
if (config_get_bool(conf, "log_verbosity", &tmp_bool))
|
||||
@ -2922,7 +2943,8 @@ static bool config_load_file(global_t *global,
|
||||
}
|
||||
|
||||
if (config_get_path(conf, "libretro_directory", tmp_str, path_size))
|
||||
strlcpy(settings->paths.directory_libretro, tmp_str, sizeof(settings->paths.directory_libretro));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_libretro, tmp_str);
|
||||
|
||||
#ifndef HAVE_DYNAMIC
|
||||
if (config_get_path(conf, "libretro_path", tmp_str, path_size))
|
||||
@ -2937,9 +2959,9 @@ static bool config_load_file(global_t *global,
|
||||
|
||||
if (rarch_ctl(RARCH_CTL_HAS_SET_USERNAME, NULL) && override_username)
|
||||
{
|
||||
strlcpy(settings->paths.username,
|
||||
override_username,
|
||||
sizeof(settings->paths.username));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.username,
|
||||
override_username);
|
||||
free(override_username);
|
||||
}
|
||||
|
||||
@ -3054,8 +3076,8 @@ static bool config_load_file(global_t *global,
|
||||
if (path_is_directory(path_core))
|
||||
{
|
||||
RARCH_WARN("\"libretro_path\" is a directory, using this for \"libretro_directory\" instead.\n");
|
||||
strlcpy(settings->paths.directory_libretro, path_core,
|
||||
sizeof(settings->paths.directory_libretro));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.directory_libretro, path_core);
|
||||
path_clear(RARCH_PATH_CORE);
|
||||
}
|
||||
#ifdef RARCH_CONSOLE
|
||||
@ -3108,9 +3130,11 @@ static bool config_load_file(global_t *global,
|
||||
if (string_is_equal(settings->paths.log_dir, "default"))
|
||||
{
|
||||
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_LOGS]))
|
||||
strlcpy(settings->paths.log_dir,
|
||||
g_defaults.dirs[DEFAULT_DIR_LOGS],
|
||||
sizeof(settings->paths.log_dir));
|
||||
{
|
||||
configuration_set_string(settings,
|
||||
settings->paths.log_dir,
|
||||
g_defaults.dirs[DEFAULT_DIR_LOGS]);
|
||||
}
|
||||
else
|
||||
*settings->paths.log_dir = '\0';
|
||||
}
|
||||
@ -3124,9 +3148,12 @@ static bool config_load_file(global_t *global,
|
||||
configuration_set_float(settings, settings->floats.fastforward_ratio, 0.0f);
|
||||
|
||||
#ifdef HAVE_LAKKA
|
||||
settings->bools.ssh_enable = filestream_exists(LAKKA_SSH_PATH);
|
||||
settings->bools.samba_enable = filestream_exists(LAKKA_SAMBA_PATH);
|
||||
settings->bools.bluetooth_enable = filestream_exists(LAKKA_BLUETOOTH_PATH);
|
||||
configuration_set_bool(settings,
|
||||
settings->bools.ssh_enable, filestream_exists(LAKKA_SSH_PATH));
|
||||
configuration_set_bool(settings,
|
||||
settings->bools.samba_enable, filestream_exists(LAKKA_SAMBA_PATH));
|
||||
configuration_set_bool(settings,
|
||||
settings->bools.bluetooth_enable, filestream_exists(LAKKA_BLUETOOTH_PATH));
|
||||
#endif
|
||||
|
||||
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_SAVE_PATH, NULL) &&
|
||||
@ -3180,7 +3207,8 @@ static bool config_load_file(global_t *global,
|
||||
|
||||
#if defined(HAVE_MENU) && defined(HAVE_RGUI)
|
||||
if (!check_menu_driver_compatibility(settings))
|
||||
strlcpy(settings->arrays.menu_driver, "rgui", sizeof(settings->arrays.menu_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.menu_driver, "rgui");
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBNX
|
||||
|
@ -470,11 +470,14 @@ static void frontend_darwin_get_environment_settings(int *argc, char *argv[],
|
||||
|
||||
RARCH_LOG("Assets ZIP found at [%s], setting up bundle assets extraction...\n", assets_zip_path);
|
||||
RARCH_LOG("Extraction dir will be: %s\n", home_dir_buf);
|
||||
strlcpy(settings->arrays.bundle_assets_src,
|
||||
assets_zip_path, sizeof(settings->arrays.bundle_assets_src));
|
||||
strlcpy(settings->arrays.bundle_assets_dst,
|
||||
home_dir_buf, sizeof(settings->arrays.bundle_assets_dst));
|
||||
settings->uints.bundle_assets_extract_version_current = 130; /* TODO/FIXME: Just hardcode this for now */
|
||||
confguration_set_string(settings,
|
||||
settings->arrays.bundle_assets_src,
|
||||
assets_zip_path);
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.bundle_assets_dst,
|
||||
home_dir_buf);
|
||||
/* TODO/FIXME: Just hardcode this for now */
|
||||
configuration_set_uint(settings, settings->uints.bundle_assets_extract_version_current, 130);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1654,8 +1654,9 @@ static int generic_action_ok(const char *path,
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
strlcpy(settings->paths.path_menu_wallpaper,
|
||||
action_path, sizeof(settings->paths.path_menu_wallpaper));
|
||||
configuration_set_string(settings,
|
||||
settings->paths.path_menu_wallpaper,
|
||||
action_path);
|
||||
|
||||
task_push_image_load(action_path,
|
||||
video_driver_supports_rgba(), 0,
|
||||
@ -1741,8 +1742,10 @@ static int generic_action_ok(const char *path,
|
||||
flush_char = msg_hash_to_str(flush_id);
|
||||
|
||||
if (settings)
|
||||
strlcpy(settings->paths.path_stream_config, action_path,
|
||||
sizeof(settings->paths.path_stream_config));
|
||||
{
|
||||
configuration_set_string(settings,
|
||||
settings->paths.path_stream_config, action_path);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ACTION_OK_LOAD_RECORD_CONFIGFILE:
|
||||
@ -1751,8 +1754,10 @@ static int generic_action_ok(const char *path,
|
||||
flush_char = msg_hash_to_str(flush_id);
|
||||
|
||||
if (settings)
|
||||
strlcpy(settings->paths.path_record_config, action_path,
|
||||
sizeof(settings->paths.path_record_config));
|
||||
{
|
||||
configuration_set_string(settings,
|
||||
settings->paths.path_record_config, action_path);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ACTION_OK_LOAD_REMAPPING_FILE:
|
||||
@ -1786,8 +1791,10 @@ static int generic_action_ok(const char *path,
|
||||
flush_char = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_MENU_SETTINGS_LIST);
|
||||
|
||||
if (settings)
|
||||
strlcpy(settings->paths.path_rgui_theme_preset, action_path,
|
||||
sizeof(settings->paths.path_rgui_theme_preset));
|
||||
{
|
||||
configuration_set_string(settings,
|
||||
settings->paths.path_rgui_theme_preset, action_path);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ACTION_OK_APPEND_DISK_IMAGE:
|
||||
|
@ -244,9 +244,9 @@ static int action_start_netplay_mitm_server(
|
||||
unsigned type, size_t idx, size_t entry_idx)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
strlcpy(settings->arrays.netplay_mitm_server,
|
||||
DEFAULT_NETPLAY_MITM_SERVER,
|
||||
sizeof(settings->arrays.netplay_mitm_server));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.netplay_mitm_server,
|
||||
DEFAULT_NETPLAY_MITM_SERVER);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2428,9 +2428,10 @@ static bool menu_driver_init_internal(bool video_is_threaded)
|
||||
return false;
|
||||
|
||||
{
|
||||
/* TODO/FIXME - can we get rid of this? Is this needed? */
|
||||
settings_t *settings = config_get_ptr();
|
||||
strlcpy(settings->arrays.menu_driver, menu_driver_ctx->ident,
|
||||
sizeof(settings->arrays.menu_driver));
|
||||
configuration_set_string(settings,
|
||||
settings->arrays.menu_driver, menu_driver_ctx->ident);
|
||||
}
|
||||
|
||||
if (menu_driver_ctx->lists_init)
|
||||
|
45
retroarch.c
45
retroarch.c
@ -8466,17 +8466,23 @@ bool command_event(enum event_command cmd, void *data)
|
||||
}
|
||||
break;
|
||||
case CMD_EVENT_AUTOSAVE_INIT:
|
||||
#ifdef HAVE_THREADS
|
||||
retroarch_autosave_deinit();
|
||||
{
|
||||
#ifdef HAVE_NETWORKING
|
||||
/* Only enable state manager if netplay is not underway
|
||||
TODO/FIXME: Add a setting for these tweaks */
|
||||
if (configuration_settings->uints.autosave_interval != 0
|
||||
&& !netplay_driver_ctl_internal(
|
||||
RARCH_NETPLAY_CTL_IS_ENABLED, NULL))
|
||||
unsigned autosave_interval = configuration_settings->uints.autosave_interval;
|
||||
#endif
|
||||
runloop_autosave = autosave_init();
|
||||
|
||||
#ifdef HAVE_THREADS
|
||||
retroarch_autosave_deinit();
|
||||
#ifdef HAVE_NETWORKING
|
||||
/* Only enable state manager if netplay is not underway
|
||||
TODO/FIXME: Add a setting for these tweaks */
|
||||
if ( (autosave_interval != 0)
|
||||
&& !netplay_driver_ctl_internal(
|
||||
RARCH_NETPLAY_CTL_IS_ENABLED, NULL))
|
||||
#endif
|
||||
runloop_autosave = autosave_init();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case CMD_EVENT_AUDIO_STOP:
|
||||
midi_driver_set_all_sounds_off();
|
||||
@ -14552,19 +14558,20 @@ static void input_overlay_load_active(input_overlay_t *ol, float opacity)
|
||||
* config file. */
|
||||
static void input_overlay_auto_rotate(input_overlay_t *ol)
|
||||
{
|
||||
settings_t *settings = configuration_settings;
|
||||
enum overlay_orientation screen_orientation = OVERLAY_ORIENTATION_NONE;
|
||||
enum overlay_orientation active_overlay_orientation = OVERLAY_ORIENTATION_NONE;
|
||||
settings_t *settings = configuration_settings;
|
||||
bool input_overlay_enable = settings->bools.input_overlay_enable;
|
||||
bool next_overlay_found = false;
|
||||
bool tmp = false;
|
||||
unsigned next_overlay_index = 0;
|
||||
size_t i;
|
||||
|
||||
/* Sanity check */
|
||||
if (!ol || !settings)
|
||||
if (!ol)
|
||||
return;
|
||||
|
||||
if (!ol->alive || !settings->bools.input_overlay_enable)
|
||||
if (!ol->alive || !input_overlay_enable)
|
||||
return;
|
||||
|
||||
/* Get current screen orientation */
|
||||
@ -14982,14 +14989,14 @@ static void input_poll_overlay(input_overlay_t *ol, float opacity,
|
||||
rarch_joypad_info_t joypad_info;
|
||||
input_overlay_state_t old_key_state;
|
||||
unsigned i, j, device;
|
||||
settings_t *settings = configuration_settings;
|
||||
uint16_t key_mod = 0;
|
||||
bool polled = false;
|
||||
bool button_pressed = false;
|
||||
void *input_data = current_input_data;
|
||||
input_overlay_state_t *ol_state = &ol->overlay_state;
|
||||
input_driver_t *input_ptr = current_input;
|
||||
bool input_overlay_show_physical_inputs = settings->bools.input_overlay_show_physical_inputs;
|
||||
uint16_t key_mod = 0;
|
||||
bool polled = false;
|
||||
bool button_pressed = false;
|
||||
void *input_data = current_input_data;
|
||||
input_overlay_state_t *ol_state = &ol->overlay_state;
|
||||
input_driver_t *input_ptr = current_input;
|
||||
settings_t *settings = configuration_settings;
|
||||
bool input_overlay_show_physical_inputs = settings->bools.input_overlay_show_physical_inputs;
|
||||
unsigned input_overlay_show_physical_inputs_port = settings->uints.input_overlay_show_physical_inputs_port;
|
||||
|
||||
if (!ol_state)
|
||||
|
Loading…
x
Reference in New Issue
Block a user