فهرست منبع

patch_manager: Add support for NSP packed updates
Reads as Update (NSP) in add-ons

Zach Hilman 7 سال پیش
والد
کامیت
5acaeb04c4
2فایلهای تغییر یافته به همراه10 افزوده شده و 3 حذف شده
  1. 2 2
      src/core/file_sys/patch_manager.cpp
  2. 8 1
      src/yuzu/game_list_worker.cpp

+ 2 - 2
src/core/file_sys/patch_manager.cpp

@@ -209,7 +209,7 @@ VirtualFile PatchManager::PatchRomFS(VirtualFile romfs, u64 ivfc_offset, Content
         const auto new_nca = std::make_shared<NCA>(update, romfs, ivfc_offset);
         if (new_nca->GetStatus() == Loader::ResultStatus::Success &&
             new_nca->GetRomFS() != nullptr) {
-            LOG_INFO(Loader, "    RomFS: Update (XCI) applied successfully");
+            LOG_INFO(Loader, "    RomFS: Update (PACKED) applied successfully");
             romfs = new_nca->GetRomFS();
         }
     }
@@ -253,7 +253,7 @@ std::map<PatchType, std::string> PatchManager::GetPatchVersionNames(VirtualFile
                     FormatTitleVersion(meta_ver.get(), TitleVersionFormat::ThreeElements));
             }
         } else if (update_raw != nullptr) {
-            out[PatchType::Update] = "XCI";
+            out[PatchType::Update] = "PACKED";
         }
     }
 

+ 8 - 1
src/yuzu/game_list_worker.cpp

@@ -69,7 +69,14 @@ QString FormatPatchNameVersions(const FileSys::PatchManager& patch_manager,
         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 == FileSys::PatchType::Update)
+                ver = Loader::GetFileTypeString(loader.GetFileType());
+
+            out.append(
+                fmt::format("{} ({})\n", FileSys::FormatPatchTypeName(kv.first), ver).c_str());
         }
     }