diff --git a/console/console_settings.c b/console/console_settings.c index 63cd2fab83..d494e40611 100644 --- a/console/console_settings.c +++ b/console/console_settings.c @@ -295,3 +295,76 @@ void rarch_settings_create_menu_item_label(char * str, unsigned setting, size_t break; } } + +void rarch_settings_set_default (void) +{ + // g_settings + g_settings.rewind_enable = false; + strlcpy(g_settings.cheat_database, default_paths.port_dir, sizeof(g_settings.cheat_database)); + +#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL) + strlcpy(g_settings.video.cg_shader_path, default_paths.shader_file, sizeof(g_settings.video.cg_shader_path)); + strlcpy(g_settings.video.second_pass_shader, default_paths.shader_file, sizeof(g_settings.video.second_pass_shader)); + g_settings.video.second_pass_smooth = true; +#endif + +#ifdef HAVE_FBO + g_settings.video.fbo_scale_x = 2.0f; + g_settings.video.fbo_scale_y = 2.0f; +#endif + + g_settings.video.render_to_texture = true; + g_settings.video.smooth = true; + g_settings.video.vsync = true; + + strlcpy(g_settings.system_directory, default_paths.system_dir, sizeof(g_settings.system_directory)); + + g_settings.video.msg_pos_x = 0.05f; + g_settings.video.msg_pos_y = 0.90f; + g_settings.video.aspect_ratio = -1.0f; + + rarch_input_set_controls_default(); + + // g_console + g_console.block_config_read = true; + g_console.frame_advance_enable = false; + g_console.emulator_initialized = 0; + g_console.screenshots_enable = true; + g_console.throttle_enable = true; + g_console.initialize_rarch_enable = false; + g_console.triple_buffering_enable = true; + g_console.default_savestate_dir_enable = false; + g_console.default_sram_dir_enable = false; + +#ifdef HAVE_FBO + g_console.fbo_enabled = true; +#else + g_console.fbo_enabled = false; +#endif + + g_console.mode_switch = MODE_MENU; + g_console.screen_orientation = ORIENTATION_NORMAL; + g_console.current_resolution_id = 0; + strlcpy(g_console.default_rom_startup_dir, default_paths.filesystem_root_dir, sizeof(g_console.default_rom_startup_dir)); + strlcpy(g_console.default_savestate_dir, default_paths.savestate_dir, sizeof(g_console.default_savestate_dir)); + strlcpy(g_console.default_sram_dir, default_paths.sram_dir, sizeof(g_console.default_sram_dir)); + g_console.aspect_ratio_index = 0; + g_console.menu_font_size = 1.0f; + g_console.overscan_enable = false; + g_console.overscan_amount = 0.0f; + g_console.sound_mode = SOUND_MODE_NORMAL; + g_console.viewports.custom_vp.width = 0; + g_console.viewports.custom_vp.height = 0; + g_console.viewports.custom_vp.x = 0; + g_console.viewports.custom_vp.y = 0; + g_console.custom_bgm_enable = true; + g_console.info_msg_enable = true; +#ifdef _XBOX360 + g_console.color_format = 0; +#endif + + // g_extern + g_extern.state_slot = 0; + g_extern.audio_data.mute = 0; + g_extern.verbose = true; +} diff --git a/console/console_settings.h b/console/console_settings.h index 824ce68df0..a7022cfe32 100644 --- a/console/console_settings.h +++ b/console/console_settings.h @@ -105,6 +105,7 @@ enum void rarch_settings_change(unsigned setting); void rarch_settings_default(unsigned setting); void rarch_settings_msg(unsigned setting, unsigned delay); +void rarch_settings_set_default (void); void rarch_settings_create_menu_item_label(char * str, unsigned setting, size_t size); void rarch_settings_create_menu_item_label_w(wchar_t *strwbuf, unsigned setting, size_t size); diff --git a/console/libretro_mgmt.c b/console/libretro_mgmt.c index 45aca72c18..3dd0ef9958 100644 --- a/console/libretro_mgmt.c +++ b/console/libretro_mgmt.c @@ -139,3 +139,16 @@ void rarch_manage_libretro_set_first_file(char *first_file, size_t size_of_first end: dir_list_free(dir_list); } + +void rarch_configure_libretro(const char *path_prefix, const char * extension) +{ + char full_path[1024]; + snprintf(full_path, sizeof(full_path), "%sCORE%s", path_prefix, extension); + + bool find_libretro_file = rarch_configure_libretro_core(full_path, path_prefix, path_prefix, + default_paths.config_file, extension); + + rarch_settings_set_default(); + rarch_config_load(default_paths.config_file, path_prefix, extension, find_libretro_file); + init_libretro_sym(); +} diff --git a/console/libretro_mgmt.h b/console/libretro_mgmt.h index 0ec47db851..936f31106b 100644 --- a/console/libretro_mgmt.h +++ b/console/libretro_mgmt.h @@ -30,5 +30,6 @@ enum void rarch_manage_libretro_set_first_file(char *first_file, size_t size_of_first_file, const char *libretro_path, const char * exe_ext); bool rarch_configure_libretro_core(const char *full_path, const char *tmp_path, const char *libretro_path, const char *config_path, const char *extension); +void rarch_configure_libretro(const char *path_prefix, const char * extension); #endif diff --git a/console/retroarch_console.h b/console/retroarch_console.h index e3d5f18eb9..cb8184cbda 100644 --- a/console/retroarch_console.h +++ b/console/retroarch_console.h @@ -142,6 +142,8 @@ typedef struct char cgp_dir[PATH_MAX]; char config_file[PATH_MAX]; char core_dir[PATH_MAX]; + char executable_extension[PATH_MAX]; + char filesystem_root_dir[PATH_MAX]; char input_presets_dir[PATH_MAX]; #ifdef HAVE_MULTIMAN char multiman_self_file[PATH_MAX]; diff --git a/ps3/frontend/main.c b/ps3/frontend/main.c index 785f3b55b9..fa15f3ddf5 100644 --- a/ps3/frontend/main.c +++ b/ps3/frontend/main.c @@ -66,62 +66,6 @@ SYS_PROCESS_PARAM(1001, 0x200000) #undef main -static void set_default_settings(void) -{ - // g_settings - strlcpy(g_settings.cheat_database, default_paths.port_dir, sizeof(g_settings.cheat_database)); - g_settings.rewind_enable = false; - strlcpy(g_settings.video.cg_shader_path, default_paths.shader_file, sizeof(g_settings.video.cg_shader_path)); - g_settings.video.fbo_scale_x = 2.0f; - g_settings.video.fbo_scale_y = 2.0f; - g_settings.video.render_to_texture = true; - strlcpy(g_settings.video.second_pass_shader, default_paths.shader_file, sizeof(g_settings.video.second_pass_shader)); - g_settings.video.second_pass_smooth = true; - g_settings.video.smooth = true; - g_settings.video.vsync = true; - strlcpy(g_settings.cheat_database, default_paths.port_dir, sizeof(g_settings.cheat_database)); - strlcpy(g_settings.system_directory, default_paths.system_dir, sizeof(g_settings.system_directory)); - g_settings.video.msg_pos_x = 0.05f; - g_settings.video.msg_pos_y = 0.90f; - g_settings.video.aspect_ratio = -1.0f; - - rarch_input_set_controls_default(); - - // g_console - g_console.block_config_read = true; - g_console.frame_advance_enable = false; - g_console.emulator_initialized = 0; - g_console.screenshots_enable = true; - g_console.throttle_enable = true; - g_console.initialize_rarch_enable = false; - g_console.triple_buffering_enable = true; - g_console.default_savestate_dir_enable = false; - g_console.default_sram_dir_enable = false; - g_console.fbo_enabled = true; - g_console.mode_switch = MODE_MENU; - g_console.screen_orientation = ORIENTATION_NORMAL; - g_console.current_resolution_id = 0; - strlcpy(g_console.default_rom_startup_dir, "/", sizeof(g_console.default_rom_startup_dir)); - strlcpy(g_console.default_savestate_dir, default_paths.savestate_dir, sizeof(g_console.default_savestate_dir)); - strlcpy(g_console.default_sram_dir, default_paths.sram_dir, sizeof(g_console.default_sram_dir)); - g_console.aspect_ratio_index = 0; - g_console.menu_font_size = 1.0f; - g_console.overscan_enable = false; - g_console.overscan_amount = 0.0f; - g_console.sound_mode = SOUND_MODE_NORMAL; - g_console.viewports.custom_vp.width = 0; - g_console.viewports.custom_vp.height = 0; - g_console.viewports.custom_vp.x = 0; - g_console.viewports.custom_vp.y = 0; - g_console.custom_bgm_enable = true; - g_console.info_msg_enable = true; - - // g_extern - g_extern.state_slot = 0; - g_extern.audio_data.mute = 0; - g_extern.verbose = true; -} - #ifdef HAVE_SYSUTILS static void callback_sysutil_exit(uint64_t status, uint64_t param, void *userdata) { @@ -244,7 +188,9 @@ static void get_environment_settings(int argc, char *argv[]) } snprintf(default_paths.core_dir, sizeof(default_paths.core_dir), "%s/cores", default_paths.port_dir); + snprintf(default_paths.executable_extension, sizeof(default_paths.executable_extension), ".SELF"); snprintf(default_paths.savestate_dir, sizeof(default_paths.savestate_dir), "%s/savestates", default_paths.core_dir); + snprintf(default_paths.filesystem_root_dir, sizeof(default_paths.filesystem_root_dir), "/"); snprintf(default_paths.sram_dir, sizeof(default_paths.sram_dir), "%s/sram", default_paths.core_dir); snprintf(default_paths.system_dir, sizeof(default_paths.system_dir), "%s/system", default_paths.core_dir); @@ -295,16 +241,9 @@ int main(int argc, char *argv[]) config_set_defaults(); - char full_path[1024], tmp_path[1024]; - snprintf(full_path, sizeof(full_path), "%s/CORE.SELF", default_paths.core_dir); + char tmp_path[PATH_MAX]; snprintf(tmp_path, sizeof(tmp_path), "%s/", default_paths.core_dir); - - bool find_libretro_file = rarch_configure_libretro_core(full_path, tmp_path, default_paths.core_dir, - default_paths.config_file, ".SELF"); - - set_default_settings(); - rarch_config_load(default_paths.config_file, default_paths.core_dir, ".SELF", find_libretro_file); - init_libretro_sym(); + rarch_configure_libretro(tmp_path, default_paths.executable_extension); #if(CELL_SDK_VERSION > 0x340000) if (g_console.screenshots_enable) diff --git a/xdk/frontend/main.c b/xdk/frontend/main.c index af27ba5593..a66adc334c 100644 --- a/xdk/frontend/main.c +++ b/xdk/frontend/main.c @@ -47,50 +47,6 @@ int rarch_main(int argc, char *argv[]); #undef main -static void set_default_settings (void) -{ - //g_settings - g_settings.rewind_enable = false; -#ifdef _XBOX360 - strlcpy(g_settings.video.cg_shader_path, default_paths.shader_file, sizeof(g_settings.video.cg_shader_path)); - strlcpy(g_settings.video.second_pass_shader, default_paths.shader_file, sizeof(g_settings.video.second_pass_shader)); -#endif - g_settings.video.fbo_scale_x = 2.0f; - g_settings.video.fbo_scale_y = 2.0f; - g_settings.video.render_to_texture = true; - g_settings.video.second_pass_smooth = true; - g_settings.video.smooth = true; - g_settings.video.vsync = true; - strlcpy(g_settings.cheat_database, "game:", sizeof(g_settings.cheat_database)); - g_settings.video.aspect_ratio = -1.0f; - - rarch_input_set_controls_default(); - - //g_console - g_console.block_config_read = true; - g_console.frame_advance_enable = false; - g_console.emulator_initialized = 0; - g_console.gamma_correction_enable = true; - g_console.initialize_rarch_enable = false; - g_console.fbo_enabled = true; - g_console.mode_switch = MODE_MENU; - g_console.screen_orientation = ORIENTATION_NORMAL; - g_console.throttle_enable = true; - g_console.aspect_ratio_index = 0; - strlcpy(g_console.default_rom_startup_dir, "game:", sizeof(g_console.default_rom_startup_dir)); - g_console.viewports.custom_vp.width = 0; - g_console.viewports.custom_vp.height = 0; - g_console.viewports.custom_vp.x = 0; - g_console.viewports.custom_vp.y = 0; - g_console.color_format = 0; - g_console.info_msg_enable = true; - - //g_extern - g_extern.state_slot = 0; - g_extern.audio_data.mute = 0; - g_extern.verbose = true; -} - static void get_environment_settings (void) { HRESULT ret; @@ -147,27 +103,17 @@ static void get_environment_settings (void) /* FIXME: Hardcoded */ strlcpy(default_paths.config_file, "D:\\retroarch.cfg", sizeof(default_paths.config_file)); strlcpy(g_settings.system_directory, "D:\\system\\", sizeof(g_settings.system_directory)); + strlcpy(default_paths.filesystem_root_dir, "D:\\", sizeof(default_paths.filesystem_root_dir)); + strlcpy(default_paths.executable_extension, ".xbe", sizeof(default_paths.executable_extension)); #else + strlcpy(default_paths.filesystem_root_dir, "game:\\", sizeof(default_paths.filesystem_root_dir)); strlcpy(default_paths.shader_file, "game:\\media\\shaders\\stock.cg", sizeof(default_paths.shader_file)); strlcpy(default_paths.config_file, "game:\\retroarch.cfg", sizeof(default_paths.config_file)); strlcpy(g_settings.system_directory, "game:\\system\\", sizeof(g_settings.system_directory)); + strlcpy(default_paths.executable_extension, ".xex", sizeof(default_paths.executable_extension)); #endif } -static void configure_libretro(const char *path_prefix, const char * extension) -{ - char full_path[1024]; - snprintf(full_path, sizeof(full_path), "%sCORE%s", path_prefix, extension); - - bool find_libretro_file = rarch_configure_libretro_core(full_path, path_prefix, path_prefix, - default_paths.config_file, extension); - - set_default_settings(); - rarch_config_load(default_paths.config_file, path_prefix, extension, find_libretro_file); - init_libretro_sym(); -} - - int main(int argc, char *argv[]) { rarch_main_clear_state(); @@ -175,11 +121,7 @@ int main(int argc, char *argv[]) config_set_defaults(); -#ifdef _XBOX1 - configure_libretro("D:\\", ".xbe"); -#else - configure_libretro("game:\\", ".xex"); -#endif + rarch_configure_libretro(default_paths.filesystem_root_dir, default_paths.executable_extension); #if defined(HAVE_D3D8) || defined(HAVE_D3D9) video_xdk_d3d.start();