diff options
Diffstat (limited to 'src/yuzu')
-rw-r--r-- | src/yuzu/game_list_worker.cpp | 20 |
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)), |