diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index 403a9165a3..73c86907f1 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -3073,7 +3073,7 @@ namespace rsx { capture_current_frame = false; - std::string file_path = fs::get_config_dir() + "captures/" + Emu.GetTitleID() + "_" + date_time::current_time_narrow() + "_capture.rrc.gz"; + const std::string file_path = fs::get_config_dir() + "captures/" + (Emu.GetTitleID().empty() ? Emu.GetTitle() : Emu.GetTitleID()) + "_" + date_time::current_time_narrow() + "_capture.rrc.gz"; fs::pending_file temp(file_path); diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index c738474499..dd6c3506b2 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -840,6 +840,19 @@ bool Emulator::BootRsxCapture(const std::string& path) return false; } + m_path.clear(); + m_path_old.clear(); + m_path_original.clear(); + m_title_id.clear(); + m_title.clear(); + m_localized_title.clear(); + m_app_version.clear(); + m_hash.clear(); + m_cat.clear(); + m_dir.clear(); + m_sfo_dir.clear(); + m_ar.reset(); + Init(); g_cfg.video.disable_on_disk_shader_cache.set(true);