From 5ef0e64e0295a5c944cdbceb844f948b00aeab8b Mon Sep 17 00:00:00 2001 From: worthlessnorms <110003169+worthlessnorms@users.noreply.github.com> Date: Fri, 16 Oct 2026 11:02:15 -0500 Subject: [PATCH] Mod merge: a carried asset with no package fails alone A carried asset whose install chunk no package names fails when it is carried, and is noted, as it was before it was written once; it no longer fails the whole merge when it settles. --- Engine/Vfs/mod_merge_cas_store.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Engine/Vfs/mod_merge_cas_store.cpp b/Engine/Vfs/mod_merge_cas_store.cpp index ab55c4e..2004ccb 100644 --- a/Engine/Vfs/mod_merge_cas_store.cpp +++ b/Engine/Vfs/mod_merge_cas_store.cpp @@ -91,6 +91,8 @@ CasStore CasStore::waiting() const { fb::BundleFileInfo CasStore::carry(std::uint32_t installChunk, std::uint16_t archive, std::span encoded) { if (!waiting_) throw std::logic_error("Only a waiting store carries payloads"); + // An install chunk no package names fails here, for this payload alone, and not when it settles. + (void)archive_path(installChunk, archive); const std::pair key{installChunk, sha1_of(encoded)}; const auto [found, fresh] = carriedIndex_.try_emplace(key, carried_.size()); if (fresh) carried_.push_back({installChunk, archive, key.second, encoded, {}});