summaryrefslogtreecommitdiffstats
path: root/src/yuzu/game_list_worker.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/yuzu/game_list_worker.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/yuzu/game_list_worker.cpp b/src/yuzu/game_list_worker.cpp
index 1947bdb93..d2b3de683 100644
--- a/src/yuzu/game_list_worker.cpp
+++ b/src/yuzu/game_list_worker.cpp
@@ -57,16 +57,25 @@ QString FormatGameName(const std::string& physical_name) {
return physical_name_as_qstring;
}
-QString FormatPatchNameVersions(const FileSys::PatchManager& patch_manager, bool updatable = true) {
+QString FormatPatchNameVersions(const FileSys::PatchManager& patch_manager,
+ Loader::AppLoader& loader, bool updatable = true) {
QString out;
- for (const auto& kv : patch_manager.GetPatchVersionNames()) {
+ FileSys::VirtualFile update_raw;
+ loader.ReadUpdateRaw(update_raw);
+ for (const auto& kv : patch_manager.GetPatchVersionNames(update_raw)) {
if (!updatable && kv.first == "Update")
continue;
if (kv.second.empty()) {
out.append(fmt::format("{}\n", kv.first).c_str());
} else {
- out.append(fmt::format("{} ({})\n", kv.first, kv.second).c_str());
+ auto ver = kv.second;
+
+ // Display container name for packed updates
+ if (ver == "PACKED" && kv.first == "Update")
+ ver = Loader::GetFileTypeString(loader.GetFileType());
+
+ out.append(fmt::format("{} ({})\n", kv.first, ver).c_str());
}
}
@@ -116,7 +125,7 @@ void GameListWorker::AddInstalledTitlesToGameList() {
QString::fromStdString(Loader::GetFileTypeString(loader->GetFileType())),
program_id),
new GameListItemCompat(compatibility),
- new GameListItem(FormatPatchNameVersions(patch)),
+ new GameListItem(FormatPatchNameVersions(patch, *loader)),
new GameListItem(
QString::fromStdString(Loader::GetFileTypeString(loader->GetFileType()))),
new GameListItemSize(file->GetSize()),
@@ -206,7 +215,8 @@ void GameListWorker::AddFstEntriesToGameList(const std::string& dir_path, unsign
QString::fromStdString(Loader::GetFileTypeString(loader->GetFileType())),
program_id),
new GameListItemCompat(compatibility),
- new GameListItem(FormatPatchNameVersions(patch, loader->IsRomFSUpdatable())),
+ new GameListItem(
+ FormatPatchNameVersions(patch, *loader, loader->IsRomFSUpdatable())),
new GameListItem(
QString::fromStdString(Loader::GetFileTypeString(loader->GetFileType()))),
new GameListItemSize(FileUtil::GetSize(physical_name)),