aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/main.cpp
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-09-03 18:57:52 -0400
committerZach Hilman <zachhilman@gmail.com>2018-09-04 16:25:10 -0400
commit23a16c1720ee522f6ac7d1f426a2d4a918ce41c9 (patch)
tree43a69cb7046a768760e5ae20eddfe3b53d3ca7f8 /src/yuzu/main.cpp
parent92e26df00f12de2e084ceb84d17ca79c5323a315 (diff)
patch_manager: Centralize Control-type NCA parsing
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r--src/yuzu/main.cpp12
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,