Преглед изворни кода

file_sys/registered_cache: Ignore DeltaFragment NCAs during installation

DeltaFragments are only used to download and apply partial patches on a real console, and are not useful to us at all. Most patch NSPs do not include them, and when they do, it's a waste of space to install them.
Bakugo пре 7 година
родитељ
комит
79163fca80
1 измењених фајлова са 3 додато и 0 уклоњено
  1. 3 0
      src/core/file_sys/registered_cache.cpp

+ 3 - 0
src/core/file_sys/registered_cache.cpp

@@ -415,6 +415,9 @@ InstallResult RegisteredCache::InstallEntry(const NSP& nsp, bool overwrite_if_ex
     const auto cnmt_file = section0->GetFiles()[0];
     const CNMT cnmt(cnmt_file);
     for (const auto& record : cnmt.GetContentRecords()) {
+        // Ignore DeltaFragments, they are not useful to us
+        if (record.type == ContentRecordType::DeltaFragment)
+            continue;
         const auto nca = GetNCAFromNSPForID(nsp, record.nca_id);
         if (nca == nullptr)
             return InstallResult::ErrorCopyFailed;