summaryrefslogtreecommitdiff
path: root/src/yuzu
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-10-06 23:58:24 -0400
committerGitHub <noreply@github.com>2018-10-06 23:58:24 -0400
commit6e4d2e672d1083f29186ea0ddcb33cd634e360e3 (patch)
treecbd20aab8705f8efac340c509ca71b08865a1417 /src/yuzu
parent2c0b0ad50d71ff3b9a50052362b2ffc5ca7977da (diff)
parent38c2ac95af814e21e65e2785b276c4f64bfead71 (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.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)),