From 7b428869b2825df9855e33705ded11786dced0b3 Mon Sep 17 00:00:00 2001 From: Maufeat Date: Thu, 5 Feb 2026 03:12:48 +0100 Subject: [PATCH] multi nca test --- src/core/file_sys/submission_package.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp index 68e8ec22fc..56286405e2 100644 --- a/src/core/file_sys/submission_package.cpp +++ b/src/core/file_sys/submission_package.cpp @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later @@ -275,6 +278,14 @@ void NSP::ReadNCAs(const std::vector& files) { ncas[next_nca->GetTitleId()][{cnmt.GetType(), rec.type}] = std::move(next_nca); } else { + // fix for Bayonetta Origins in Bayonetta 3 and external content + // where multiple update NCAs exist for the same title and type. + auto& target_map = ncas[cnmt.GetTitleID()]; + auto existing = target_map.find({cnmt.GetType(), rec.type}); + + if (existing != target_map.end() && rec.type == ContentRecordType::Program) { + continue; + } ncas[cnmt.GetTitleID()][{cnmt.GetType(), rec.type}] = std::move(next_nca); } } else {