public void LoadXci(string xciFile) { FileStream file = new FileStream(xciFile, FileMode.Open, FileAccess.Read); Xci xci = new Xci(_fileSystem.KeySet, file.AsStorage()); if (!xci.HasPartition(XciPartitionType.Secure)) { Logger.PrintError(LogClass.Loader, "Unable to load XCI: Could not find XCI secure partition"); return; } PartitionFileSystem securePartition = xci.OpenPartition(XciPartitionType.Secure); Nca mainNca = null; Nca patchNca = null; Nca controlNca = null; try { (mainNca, patchNca, controlNca) = GetGameData(securePartition); } catch (Exception e) { Logger.PrintError(LogClass.Loader, $"Unable to load XCI: {e.Message}"); return; } if (mainNca == null) { Logger.PrintError(LogClass.Loader, "Unable to load XCI: Could not find Main NCA"); return; } _contentManager.LoadEntries(_device); _contentManager.ClearAocData(); _contentManager.AddAocData(securePartition, xciFile, mainNca.Header.TitleId); LoadNca(mainNca, patchNca, controlNca); }