diff options
Diffstat (limited to 'src/core/core.cpp')
| -rw-r--r-- | src/core/core.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 0ede0d85c..5df32c1e7 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -43,14 +43,15 @@ | |||
| 43 | #include "core/hle/service/service.h" | 43 | #include "core/hle/service/service.h" |
| 44 | #include "core/hle/service/sm/sm.h" | 44 | #include "core/hle/service/sm/sm.h" |
| 45 | #include "core/hle/service/time/time_manager.h" | 45 | #include "core/hle/service/time/time_manager.h" |
| 46 | #include "core/internal_network/network.h" | ||
| 46 | #include "core/loader/loader.h" | 47 | #include "core/loader/loader.h" |
| 47 | #include "core/memory.h" | 48 | #include "core/memory.h" |
| 48 | #include "core/memory/cheat_engine.h" | 49 | #include "core/memory/cheat_engine.h" |
| 49 | #include "core/network/network.h" | ||
| 50 | #include "core/perf_stats.h" | 50 | #include "core/perf_stats.h" |
| 51 | #include "core/reporter.h" | 51 | #include "core/reporter.h" |
| 52 | #include "core/telemetry_session.h" | 52 | #include "core/telemetry_session.h" |
| 53 | #include "core/tools/freezer.h" | 53 | #include "core/tools/freezer.h" |
| 54 | #include "network/network.h" | ||
| 54 | #include "video_core/renderer_base.h" | 55 | #include "video_core/renderer_base.h" |
| 55 | #include "video_core/video_core.h" | 56 | #include "video_core/video_core.h" |
| 56 | 57 | ||
| @@ -315,6 +316,15 @@ struct System::Impl { | |||
| 315 | GetAndResetPerfStats(); | 316 | GetAndResetPerfStats(); |
| 316 | perf_stats->BeginSystemFrame(); | 317 | perf_stats->BeginSystemFrame(); |
| 317 | 318 | ||
| 319 | std::string name = "Unknown Game"; | ||
| 320 | const Loader::ResultStatus res{app_loader->ReadTitle(name)}; | ||
| 321 | if (auto room_member = Network::GetRoomMember().lock()) { | ||
| 322 | Network::GameInfo game_info; | ||
| 323 | game_info.name = name; | ||
| 324 | game_info.id = program_id; | ||
| 325 | room_member->SendGameInfo(game_info); | ||
| 326 | } | ||
| 327 | |||
| 318 | status = SystemResultStatus::Success; | 328 | status = SystemResultStatus::Success; |
| 319 | return status; | 329 | return status; |
| 320 | } | 330 | } |
| @@ -362,6 +372,11 @@ struct System::Impl { | |||
| 362 | memory.Reset(); | 372 | memory.Reset(); |
| 363 | applet_manager.ClearAll(); | 373 | applet_manager.ClearAll(); |
| 364 | 374 | ||
| 375 | if (auto room_member = Network::GetRoomMember().lock()) { | ||
| 376 | Network::GameInfo game_info{}; | ||
| 377 | room_member->SendGameInfo(game_info); | ||
| 378 | } | ||
| 379 | |||
| 365 | LOG_DEBUG(Core, "Shutdown OK"); | 380 | LOG_DEBUG(Core, "Shutdown OK"); |
| 366 | } | 381 | } |
| 367 | 382 | ||