diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-09-03 18:57:52 -0400 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-09-04 16:25:10 -0400 |
commit | 23a16c1720ee522f6ac7d1f426a2d4a918ce41c9 (patch) | |
tree | 43a69cb7046a768760e5ae20eddfe3b53d3ca7f8 /src/yuzu/main.cpp | |
parent | 92e26df00f12de2e084ceb84d17ca79c5323a315 (diff) |
patch_manager: Centralize Control-type NCA parsing
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r-- | src/yuzu/main.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index b7ce0248b0..80a2845133 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -592,8 +592,16 @@ void GMainWindow::BootGame(const QString& filename) { std::string title_name; const auto res = Core::System::GetInstance().GetGameName(title_name); - if (res != Loader::ResultStatus::Success) - title_name = FileUtil::GetFilename(filename.toStdString()); + if (res != Loader::ResultStatus::Success) { + const u64 program_id = Core::System::GetInstance().CurrentProcess()->program_id; + + const auto [nacp, icon_file] = FileSys::PatchManager(program_id).GetControlMetadata(); + if (nacp != nullptr) + title_name = nacp->GetApplicationName(); + + if (title_name.empty()) + title_name = FileUtil::GetFilename(filename.toStdString()); + } setWindowTitle(QString("yuzu %1| %4 | %2-%3") .arg(Common::g_build_name, Common::g_scm_branch, Common::g_scm_desc, |