summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/reporter.cpp10
-rw-r--r--src/core/reporter.h10
2 files changed, 15 insertions, 5 deletions
diff --git a/src/core/reporter.cpp b/src/core/reporter.cpp
index cfe0771e2..9c657929e 100644
--- a/src/core/reporter.cpp
+++ b/src/core/reporter.cpp
@@ -304,8 +304,8 @@ void Reporter::SaveUnimplementedAppletReport(
304 SaveToFile(std::move(out), GetPath("unimpl_applet_report", title_id, timestamp)); 304 SaveToFile(std::move(out), GetPath("unimpl_applet_report", title_id, timestamp));
305} 305}
306 306
307void Reporter::SavePlayReport(u64 title_id, u64 process_id, std::vector<std::vector<u8>> data, 307void Reporter::SavePlayReport(PlayReportType type, u64 title_id, std::vector<std::vector<u8>> data,
308 std::optional<u128> user_id) const { 308 std::optional<u64> process_id, std::optional<u128> user_id) const {
309 if (!IsReportingEnabled()) { 309 if (!IsReportingEnabled()) {
310 return; 310 return;
311 } 311 }
@@ -321,7 +321,11 @@ void Reporter::SavePlayReport(u64 title_id, u64 process_id, std::vector<std::vec
321 data_out.push_back(Common::HexToString(d)); 321 data_out.push_back(Common::HexToString(d));
322 } 322 }
323 323
324 out["play_report_process_id"] = fmt::format("{:016X}", process_id); 324 if (process_id.has_value()) {
325 out["play_report_process_id"] = fmt::format("{:016X}", *process_id);
326 }
327
328 out["play_report_type"] = fmt::format("{:02}", static_cast<u8>(type));
325 out["play_report_data"] = std::move(data_out); 329 out["play_report_data"] = std::move(data_out);
326 330
327 SaveToFile(std::move(out), GetPath("play_report", title_id, timestamp)); 331 SaveToFile(std::move(out), GetPath("play_report", title_id, timestamp));
diff --git a/src/core/reporter.h b/src/core/reporter.h
index 44256de50..f08aa11fb 100644
--- a/src/core/reporter.h
+++ b/src/core/reporter.h
@@ -46,8 +46,14 @@ public:
46 std::vector<std::vector<u8>> normal_channel, 46 std::vector<std::vector<u8>> normal_channel,
47 std::vector<std::vector<u8>> interactive_channel) const; 47 std::vector<std::vector<u8>> interactive_channel) const;
48 48
49 void SavePlayReport(u64 title_id, u64 process_id, std::vector<std::vector<u8>> data, 49 enum class PlayReportType {
50 std::optional<u128> user_id = {}) const; 50 Old,
51 New,
52 System,
53 };
54
55 void SavePlayReport(PlayReportType type, u64 title_id, std::vector<std::vector<u8>> data,
56 std::optional<u64> process_id = {}, std::optional<u128> user_id = {}) const;
51 57
52 void SaveErrorReport(u64 title_id, ResultCode result, 58 void SaveErrorReport(u64 title_id, ResultCode result,
53 std::optional<std::string> custom_text_main = {}, 59 std::optional<std::string> custom_text_main = {},