try to disabled logic
This commit is contained in:
parent
bbaa16efe8
commit
ba94b98780
|
|
@ -190,21 +190,30 @@ VirtualDir PatchManager::PatchExeFS(VirtualDir exefs) const {
|
|||
// check for original NAND style
|
||||
// Check NAND if: no external updates exist, OR all external updates are disabled
|
||||
if (!checked_external && !checked_manual) {
|
||||
// Check if any NAND-style update is enabled
|
||||
const bool nand_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (NAND)") != disabled.cend();
|
||||
const bool sdmc_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (SDMC)") != disabled.cend();
|
||||
const bool generic_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update") != disabled.cend();
|
||||
// Only enable NAND update if it exists AND is not disabled
|
||||
// We need to check if an update actually exists in the content provider
|
||||
const bool has_nand_update = content_provider.HasEntry(update_tid, ContentRecordType::Program);
|
||||
|
||||
if (!nand_disabled || !sdmc_disabled || !generic_disabled) {
|
||||
update_disabled = false;
|
||||
if (has_nand_update) {
|
||||
const bool nand_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (NAND)") != disabled.cend();
|
||||
const bool sdmc_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (SDMC)") != disabled.cend();
|
||||
const bool generic_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update") != disabled.cend();
|
||||
|
||||
if (!nand_disabled && !sdmc_disabled && !generic_disabled) {
|
||||
update_disabled = false;
|
||||
}
|
||||
}
|
||||
} else if (update_disabled) {
|
||||
const bool nand_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (NAND)") != disabled.cend();
|
||||
const bool sdmc_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (SDMC)") != disabled.cend();
|
||||
const bool has_nand_update = content_provider.HasEntry(update_tid, ContentRecordType::Program);
|
||||
|
||||
if (!nand_disabled || !sdmc_disabled) {
|
||||
update_disabled = false;
|
||||
enabled_version = std::nullopt;
|
||||
if (has_nand_update) {
|
||||
const bool nand_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (NAND)") != disabled.cend();
|
||||
const bool sdmc_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (SDMC)") != disabled.cend();
|
||||
|
||||
if (!nand_disabled && !sdmc_disabled) {
|
||||
update_disabled = false;
|
||||
enabled_version = std::nullopt;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -598,7 +607,7 @@ VirtualFile PatchManager::PatchRomFS(const NCA* base_nca, VirtualFile base_romfs
|
|||
const bool sdmc_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (SDMC)") != disabled.cend();
|
||||
const bool generic_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update") != disabled.cend();
|
||||
|
||||
if (!nand_disabled || !sdmc_disabled || !generic_disabled) {
|
||||
if (!nand_disabled && !sdmc_disabled && !generic_disabled) {
|
||||
update_disabled = false;
|
||||
}
|
||||
if (!update_disabled && update_raw == nullptr) {
|
||||
|
|
@ -608,7 +617,7 @@ VirtualFile PatchManager::PatchRomFS(const NCA* base_nca, VirtualFile base_romfs
|
|||
const bool nand_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (NAND)") != disabled.cend();
|
||||
const bool sdmc_disabled = std::find(disabled.cbegin(), disabled.cend(), "Update (SDMC)") != disabled.cend();
|
||||
|
||||
if (!nand_disabled || !sdmc_disabled) {
|
||||
if (!nand_disabled && !sdmc_disabled) {
|
||||
update_disabled = false;
|
||||
enabled_version = std::nullopt;
|
||||
update_raw = content_provider.GetEntryRaw(update_tid, type);
|
||||
|
|
|
|||
Loading…
Reference in New Issue