diff options
| author | JosJuice <josjuice@gmail.com> | 2017-11-02 17:34:04 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2017-11-03 23:17:36 +0100 |
| commit | 6902bbb696ea7089daded57569cca637a5e69eae (patch) | |
| tree | 55770a92c545cb2aa7914b93d75da47cf4ae9512 /Source/Core/DolphinQt2/MenuBar.cpp | |
| parent | 5a6d90900ec2dcf8ebec4182c29019ca5537c89f (diff) | |
When NAND is damaged, show title names from save files
The earlier code always tried to use TitleDatabase for getting
title names, but that didn't work for disc-based games, because
there was no way to get the maker ID.
Diffstat (limited to 'Source/Core/DolphinQt2/MenuBar.cpp')
| -rw-r--r-- | Source/Core/DolphinQt2/MenuBar.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/Source/Core/DolphinQt2/MenuBar.cpp b/Source/Core/DolphinQt2/MenuBar.cpp index fbc002457a..98ad117a99 100644 --- a/Source/Core/DolphinQt2/MenuBar.cpp +++ b/Source/Core/DolphinQt2/MenuBar.cpp @@ -16,6 +16,7 @@ #include "Common/CommonPaths.h" #include "Common/FileUtil.h" #include "Common/StringUtil.h" + #include "Core/CommonTitles.h" #include "Core/ConfigManager.h" #include "Core/Core.h" @@ -27,7 +28,10 @@ #include "Core/State.h" #include "Core/TitleDatabase.h" #include "Core/WiiUtils.h" + #include "DiscIO/NANDImporter.h" +#include "DiscIO/WiiSaveBanner.h" + #include "DolphinQt2/AboutDialog.h" #include "DolphinQt2/GameList/GameFile.h" #include "DolphinQt2/QtUtils/ActionHelper.h" @@ -557,10 +561,25 @@ void MenuBar::CheckNAND() Core::TitleDatabase title_db; for (const u64 title_id : result.titles_to_remove) { - const std::string name = title_db.GetTitleName(title_id); - title_listings += !name.empty() ? - StringFromFormat("%s (%016" PRIx64 ")", name.c_str(), title_id) : - StringFromFormat("%016" PRIx64, title_id); + title_listings += StringFromFormat("%016" PRIx64, title_id); + + const std::string database_name = title_db.GetChannelName(title_id); + if (!database_name.empty()) + { + title_listings += " - " + database_name; + } + else + { + DiscIO::WiiSaveBanner banner(title_id); + if (banner.IsValid()) + { + title_listings += " - " + banner.GetName(); + const std::string description = banner.GetDescription(); + if (!StripSpaces(description).empty()) + title_listings += " - " + description; + } + } + title_listings += "\n"; } |
