diff options
author | bunnei <bunneidev@gmail.com> | 2018-10-06 23:58:24 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-06 23:58:24 -0400 |
commit | 6e4d2e672d1083f29186ea0ddcb33cd634e360e3 (patch) | |
tree | cbd20aab8705f8efac340c509ca71b08865a1417 /src/yuzu | |
parent | 2c0b0ad50d71ff3b9a50052362b2ffc5ca7977da (diff) | |
parent | 38c2ac95af814e21e65e2785b276c4f64bfead71 (diff) |
Merge pull request #1396 from DarkLordZach/packed-updates
loader: Add support for packed updates
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)), |