diff --git a/frontend/menu/rmenu_xui.cpp b/frontend/menu/rmenu_xui.cpp index 7373507a05..562577b4ab 100644 --- a/frontend/menu/rmenu_xui.cpp +++ b/frontend/menu/rmenu_xui.cpp @@ -401,6 +401,8 @@ HRESULT CRetroArchSettings::OnInit(XUIMessageInit * pInitData, BOOL& bHandled) m_settingslist.SetText(SETTING_ZIP_EXTRACT, strw_buffer); rmenu_settings_create_menu_item_label_w(strw_buffer, S_LBL_REWIND_GRANULARITY, sizeof(strw_buffer)); m_settingslist.SetText(SETTING_EMU_REWIND_GRANULARITY, strw_buffer); + m_settingslist.SetText(SETTING_ENABLE_SRAM_PATH, (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) ? L"SRAM Path Enable: ON" : L"SRAM Path Enable: OFF"); + m_settingslist.SetText(SETTING_ENABLE_STATE_PATH, (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) ? L"Savestate Path Enable: ON" : L"Savestate Path Enable: OFF"); return 0; } @@ -431,6 +433,20 @@ HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled rmenu_settings_create_menu_item_label_w(strw_buffer, S_LBL_REWIND_GRANULARITY, sizeof(strw_buffer)); m_settingslist.SetText(SETTING_EMU_REWIND_GRANULARITY, strw_buffer); break; + case SETTING_ENABLE_SRAM_PATH: + if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE); + else + g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE); + m_settingslist.SetText(SETTING_ENABLE_SRAM_PATH, (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) ? L"SRAM Path Enable: ON" : L"SRAM Path Enable: OFF"); + break; + case SETTING_ENABLE_STATE_PATH: + if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE); + else + g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE); + m_settingslist.SetText(SETTING_ENABLE_STATE_PATH, (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) ? L"Savestate Path Enable: ON" : L"Savestate Path Enable: OFF"); + break; case SETTING_EMU_SHOW_INFO_MSG: if (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW)) g_extern.lifecycle_mode_state &= ~(1ULL << MODE_INFO_DRAW); @@ -539,6 +555,20 @@ HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pContro rmenu_settings_create_menu_item_label_w(strw_buffer, S_LBL_REWIND_GRANULARITY, sizeof(strw_buffer)); m_settingslist.SetText(SETTING_EMU_REWIND_GRANULARITY, strw_buffer); break; + case SETTING_ENABLE_SRAM_PATH: + if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE); + else + g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE); + m_settingslist.SetText(SETTING_ENABLE_SRAM_PATH, (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) ? L"SRAM Path Enable: ON" : L"SRAM Path Enable: OFF"); + break; + case SETTING_ENABLE_STATE_PATH: + if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE); + else + g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE); + m_settingslist.SetText(SETTING_ENABLE_STATE_PATH, (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) ? L"Savestate Path Enable: ON" : L"Savestate Path Enable: OFF"); + break; case SETTING_EMU_SHOW_INFO_MSG: if (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW)) g_extern.lifecycle_mode_state &= ~(1ULL << MODE_INFO_DRAW); @@ -644,6 +674,20 @@ HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pContro rmenu_settings_create_menu_item_label_w(strw_buffer, S_LBL_REWIND_GRANULARITY, sizeof(strw_buffer)); m_settingslist.SetText(SETTING_EMU_REWIND_GRANULARITY, strw_buffer); break; + case SETTING_ENABLE_SRAM_PATH: + if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE); + else + g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE); + m_settingslist.SetText(SETTING_ENABLE_SRAM_PATH, (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) ? L"SRAM Path Enable: ON" : L"SRAM Path Enable: OFF"); + break; + case SETTING_ENABLE_STATE_PATH: + if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE); + else + g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE); + m_settingslist.SetText(SETTING_ENABLE_STATE_PATH, (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) ? L"Savestate Path Enable: ON" : L"Savestate Path Enable: OFF"); + break; case SETTING_SCALE_FACTOR: if(device_ptr->fbo_inited) { diff --git a/frontend/menu/rmenu_xui.h b/frontend/menu/rmenu_xui.h index a9ed6900f2..d8f5515a7c 100644 --- a/frontend/menu/rmenu_xui.h +++ b/frontend/menu/rmenu_xui.h @@ -35,6 +35,8 @@ enum SETTING_SCALE_ENABLED, SETTING_SCALE_FACTOR, SETTING_ZIP_EXTRACT, + SETTING_ENABLE_SRAM_PATH, + SETTING_ENABLE_STATE_PATH, }; enum diff --git a/frontend/platform/platform_xdk.c b/frontend/platform/platform_xdk.c index df9fdcc5b6..cc839fc1bc 100644 --- a/frontend/platform/platform_xdk.c +++ b/frontend/platform/platform_xdk.c @@ -322,6 +322,8 @@ static void get_environment_settings(int argc, char *argv[]) #else strlcpy(g_extern.config_path, "D:\\retroarch.cfg", sizeof(g_extern.config_path)); #endif + strlcpy(default_paths.savestate_dir, "D:\\savestates", sizeof(default_paths.savestate_dir)); + strlcpy(default_paths.sram_dir, "D:\\sram", sizeof(default_paths.sram_dir)); strlcpy(default_paths.system_dir, "D:\\system", sizeof(default_paths.system_dir)); strlcpy(default_paths.filesystem_root_dir, "D:", sizeof(default_paths.filesystem_root_dir)); strlcpy(default_paths.executable_extension, ".xbe", sizeof(default_paths.executable_extension)); @@ -341,6 +343,8 @@ static void get_environment_settings(int argc, char *argv[]) strlcpy(default_paths.shader_file, "game:\\media\\shaders\\stock.cg", sizeof(default_paths.shader_file)); strlcpy(g_extern.config_path, "game:\\retroarch.cfg", sizeof(g_extern.config_path)); #endif + strlcpy(default_paths.savestate_dir, "game:\\savestates", sizeof(default_paths.savestate_dir)); + strlcpy(default_paths.sram_dir, "game:\\sram", sizeof(default_paths.sram_dir)); strlcpy(default_paths.system_dir, "game:\\system", sizeof(default_paths.system_dir)); strlcpy(default_paths.executable_extension, ".xex", sizeof(default_paths.executable_extension)); strlcpy(default_paths.filebrowser_startup_dir, "game:", sizeof(default_paths.filebrowser_startup_dir)); diff --git a/media/360/hd/rarch_settings.xui b/media/360/hd/rarch_settings.xui index 76aef42630..f399f89ec2 100644 --- a/media/360/hd/rarch_settings.xui +++ b/media/360/hd/rarch_settings.xui @@ -43,6 +43,8 @@ Hardware filtering shader #2: Custom Scaling/Dual Shaders: Custom Scaling Factor: Extract ZIP: +SRAM Path Enable: +Savestate Path Enable: diff --git a/media/360/sd/rarch_settings.xui b/media/360/sd/rarch_settings.xui index a3d6ca95fc..57c5d35b03 100644 --- a/media/360/sd/rarch_settings.xui +++ b/media/360/sd/rarch_settings.xui @@ -43,6 +43,8 @@ Hardware filtering shader #2: Cutom Scaling/Dual Shaders: Cutom Scaling Factor: Extract ZIP: +SRAM Path Enable: +Savestate Path Enable: