diff --git a/config.def.h b/config.def.h index dbf610e6c7..697a159006 100644 --- a/config.def.h +++ b/config.def.h @@ -339,32 +339,11 @@ static unsigned aspect_ratio_idx = ASPECT_RATIO_CONFIG; // Use g_settings.video. // Save configuration file on exit static bool config_save_on_exit = true; -#ifdef HAVE_OVERLAY -// Default overlay directory -#if defined(__QNX__) -static const char *default_overlay_dir = "app/native/overlays/"; -#else -static const char *default_overlay_dir = NULL; -#endif -#endif - static const bool default_overlay_enable = false; -#if defined(__QNX__) -static const char *default_shader_dir = "/app/native/shaders_glsl/"; -#else -static const char *default_shader_dir = NULL; -#endif - static const char *default_filter_dir = NULL; static const char *default_dsp_filter_dir = NULL; -#if defined(__QNX__) -static const char *default_config_path = "app/native/retroarch.cfg"; -#else -static const char *default_config_path = NULL; -#endif - #ifdef HAVE_MENU static bool default_block_config_read = true; #else @@ -377,9 +356,7 @@ static bool default_core_specific_config = true; static bool default_core_specific_config = false; #endif -#if defined(__QNX__) -static const char *default_libretro_info_path = "/app/native/info/"; -#elif defined(_XBOX1) +#if defined(_XBOX1) static const char *default_libretro_info_path = "D:"; #elif defined(_XBOX360) static const char *default_libretro_info_path = "game:"; @@ -387,9 +364,7 @@ static const char *default_libretro_info_path = "game:"; static const char *default_libretro_info_path = NULL; #endif -#if defined(__QNX__) -static const char *default_libretro_path = "/app/native/lib/"; -#elif defined(_XBOX1) +#if defined(_XBOX1) static const char *default_libretro_path = "D:"; #elif defined(_XBOX360) static const char *default_libretro_path = "game:"; diff --git a/frontend/platform/platform_qnx.c b/frontend/platform/platform_qnx.c index 85ebe178ac..44b8abb84d 100644 --- a/frontend/platform/platform_qnx.c +++ b/frontend/platform/platform_qnx.c @@ -42,6 +42,16 @@ static int frontend_qnx_get_rating(void) return -1; } +static void frontend_qnx_get_environment_settings(int *argc, char *argv[], + void *data, void *params_data) +{ + fill_pathname_join(g_defaults.config_path, "app/native", "retroarch.cfg", sizeof(g_defaults.config_path)); + fill_pathname_join(g_defaults.shader_dir, "app/native", "shaders_glsl", sizeof(g_defaults.shader_dir)); + fill_pathname_join(g_defaults.overlay_dir, "app/native", "overlays", sizeof(g_defaults.overlay_dir)); + fill_pathname_join(g_defaults.core_dir, "app/native", "lib", sizeof(g_defaults.core_dir)); + fill_pathname_join(g_defaults.core_info_dir, "app/native", "info", sizeof(g_defaults.core_info_dir)); +} + const frontend_ctx_driver_t frontend_ctx_qnx = { NULL, /* get_environment_settings */ frontend_qnx_init, /* init */ diff --git a/settings.c b/settings.c index 6f29cc54f2..c82c0e8e39 100644 --- a/settings.c +++ b/settings.c @@ -475,18 +475,6 @@ void config_set_defaults(void) g_extern.console.sound.mode = SOUND_MODE_NORMAL; #endif -#ifdef HAVE_OVERLAY - if (default_overlay_dir) - { - fill_pathname_expand_special(g_extern.overlay_dir, default_overlay_dir, sizeof(g_extern.overlay_dir)); - if (!*g_settings.input.overlay) - fill_pathname_join(g_settings.input.overlay, g_extern.overlay_dir, "gamepads/retropad/retropad.cfg", sizeof(g_settings.input.overlay)); - } -#endif - - if (default_shader_dir) - fill_pathname_expand_special(g_settings.video.shader_dir, default_shader_dir, sizeof(g_settings.video.shader_dir)); - if (default_filter_dir) fill_pathname_expand_special(g_settings.video.filter_dir, default_filter_dir, sizeof(g_settings.video.filter_dir)); @@ -499,9 +487,6 @@ void config_set_defaults(void) if (default_libretro_info_path) fill_pathname_expand_special(g_settings.libretro_info_path, default_libretro_info_path, sizeof(g_settings.libretro_info_path)); - if (default_config_path) - fill_pathname_expand_special(g_extern.config_path, default_config_path, sizeof(g_extern.config_path)); - if (*g_defaults.audio_filter_dir) strlcpy(g_settings.audio.filter_dir, g_defaults.audio_filter_dir, sizeof(g_settings.audio.filter_dir)); if (*g_defaults.assets_dir) @@ -514,14 +499,19 @@ void config_set_defaults(void) strlcpy(g_settings.libretro_info_path, g_defaults.core_info_dir, sizeof(g_settings.libretro_info_path)); #ifdef HAVE_OVERLAY if (*g_defaults.overlay_dir) - strlcpy(g_extern.overlay_dir, g_defaults.overlay_dir, sizeof(g_extern.overlay_dir)); + { + fill_pathname_expand_special(g_extern.overlay_dir, g_defaults.overlay_dir, sizeof(g_extern.overlay_dir)); + if (!*g_settings.input.overlay) + fill_pathname_join(g_settings.input.overlay, g_extern.overlay_dir, "gamepads/retropad/retropad.cfg", sizeof(g_settings.input.overlay)); + } #endif #ifdef HAVE_MENU if (*g_defaults.menu_config_dir) strlcpy(g_settings.menu_config_directory, g_defaults.menu_config_dir, sizeof(g_settings.menu_config_directory)); #endif if (*g_defaults.shader_dir) - strlcpy(g_settings.video.shader_dir, g_defaults.shader_dir, sizeof(g_settings.video.shader_dir)); + fill_pathname_expand_special(g_settings.video.shader_dir, g_defaults.shader_dir, sizeof(g_settings.video.shader_dir)); + if (!g_extern.has_set_state_path && *g_defaults.savestate_dir) strlcpy(g_extern.savestate_dir, g_defaults.savestate_dir, sizeof(g_extern.savestate_dir)); if (!g_extern.has_set_save_path && *g_defaults.sram_dir) @@ -532,7 +522,7 @@ void config_set_defaults(void) strlcpy(g_settings.screenshot_directory, g_defaults.screenshot_dir, sizeof(g_settings.screenshot_directory)); if (*g_defaults.config_path) - strlcpy(g_extern.config_path, g_defaults.config_path, sizeof(g_extern.config_path)); + fill_pathname_expand_special(g_extern.config_path, g_defaults.config_path, sizeof(g_extern.config_path)); g_extern.config_save_on_exit = config_save_on_exit; diff --git a/settings_data.c b/settings_data.c index 101ed2b90b..5b933c9818 100644 --- a/settings_data.c +++ b/settings_data.c @@ -1105,10 +1105,10 @@ rarch_setting_t* setting_data_get_list(void) CONFIG_PATH(g_settings.cheat_settings_path, "cheat_settings_path", "Cheat Settings", "", GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) CONFIG_PATH(g_settings.game_history_path, "game_history_path", "Content History Path", "", GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) - CONFIG_PATH(g_settings.video.shader_dir, "video_shader_dir", "Shader Directory", default_shader_dir, GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR) + CONFIG_PATH(g_settings.video.shader_dir, "video_shader_dir", "Shader Directory", g_defaults.shader_dir ? g_defaults.shader_dir : "", GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR) #ifdef HAVE_OVERLAY - CONFIG_PATH(g_extern.overlay_dir, "overlay_directory", "Overlay Directory", default_overlay_dir, GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR) + CONFIG_PATH(g_extern.overlay_dir, "overlay_directory", "Overlay Directory", g_defaults.overlay_dir ? g_defaults.overlay_dir : "", GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR) #endif CONFIG_PATH(g_settings.screenshot_directory, "screenshot_directory", "Screenshot Directory", "", GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR) CONFIG_PATH(g_settings.input.autoconfig_dir, "joypad_autoconfig_dir", "Joypad Autoconfig Directory", "", GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR)