diff --git a/rpcs3/Emu/RSX/Overlays/overlay_message.cpp b/rpcs3/Emu/RSX/Overlays/overlay_message.cpp index 44a998b1dd..75f7edaf8f 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_message.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlay_message.cpp @@ -6,7 +6,8 @@ namespace rsx { namespace overlays { - message_item::message_item(localized_string_id msg_id) + template + message_item::message_item(T msg_id) { m_expiration_time = get_system_time() + 5'000'000; @@ -20,6 +21,8 @@ namespace rsx m_fade_animation.duration = 2.f; m_fade_animation.active = true; } + template message_item::message_item(std::string msg_id); + template message_item::message_item(localized_string_id msg_id); u64 message_item::get_expiration() const { diff --git a/rpcs3/Emu/RSX/Overlays/overlay_message.h b/rpcs3/Emu/RSX/Overlays/overlay_message.h index 2c34813ebb..7fa0fdc544 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_message.h +++ b/rpcs3/Emu/RSX/Overlays/overlay_message.h @@ -10,7 +10,8 @@ namespace rsx class message_item { public: - message_item(localized_string_id msg_id); + template + message_item(T msg_id); void update(usz index, u64 time); u64 get_expiration() const; diff --git a/rpcs3/rpcs3qt/gs_frame.cpp b/rpcs3/rpcs3qt/gs_frame.cpp index 5f1d9e12e4..62f2ab9132 100644 --- a/rpcs3/rpcs3qt/gs_frame.cpp +++ b/rpcs3/rpcs3qt/gs_frame.cpp @@ -12,6 +12,7 @@ #include "Emu/Cell/Modules/cellScreenshot.h" #include "Emu/Cell/Modules/cellVideoOut.h" #include "Emu/RSX/rsx_utils.h" +#include "Emu/RSX/Overlays/overlay_message.h" #include #include @@ -770,6 +771,10 @@ void gs_frame::take_screenshot(std::vector data, const u32 sshot_width, cons } }); + ensure(filename.find(fs::get_config_dir()) != filename.npos); + const std::string shortpath = filename.substr(fs::get_config_dir().size() - 1); // -1 for / + rsx::overlays::queue_message(tr("Screenshot saved: %0").arg(QString::fromStdString(shortpath)).toStdString()); + return; }, std::move(data))