Explorar el Código

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 hace 7 años
padre
commit
79163fca80
Se han modificado 1 ficheros con 3 adiciones y 0 borrados
  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;