mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-06-27 09:27:51 -05:00
Merge pull request #1396 from DarkLordZach/packed-updates
loader: Add support for packed updates
This commit is contained in:
@ -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)),
|
||||
|
Reference in New Issue
Block a user