diff --git a/src/android/app/src/main/java/org/citron/citron_emu/utils/AddonUtil.kt b/src/android/app/src/main/java/org/citron/citron_emu/utils/AddonUtil.kt index d2ef1c7c7..a7d1f53f5 100644 --- a/src/android/app/src/main/java/org/citron/citron_emu/utils/AddonUtil.kt +++ b/src/android/app/src/main/java/org/citron/citron_emu/utils/AddonUtil.kt @@ -4,5 +4,5 @@ package org.citron.citron_emu.utils object AddonUtil { - val validAddonDirectories = listOf("cheats", "exefs", "romfs") + val validAddonDirectories = listOf("cheats", "exefs", "romfs", "romfslite") } diff --git a/src/core/file_sys/patch_manager.cpp b/src/core/file_sys/patch_manager.cpp index 3a0129edc..184e74350 100644 --- a/src/core/file_sys/patch_manager.cpp +++ b/src/core/file_sys/patch_manager.cpp @@ -382,6 +382,11 @@ static void ApplyLayeredFS(VirtualFile& romfs, u64 title_id, ContentRecordType t if (romfs_dir != nullptr) layers.emplace_back(std::make_shared(std::move(romfs_dir))); + // Support for romfslite introduced in Atmosphere 1.9.5 + auto romfslite_dir = FindSubdirectoryCaseless(subdir, "romfslite"); + if (romfslite_dir != nullptr) + layers.emplace_back(std::make_shared(std::move(romfslite_dir))); + auto ext_dir = FindSubdirectoryCaseless(subdir, "romfs_ext"); if (ext_dir != nullptr) layers_ext.emplace_back(std::make_shared(std::move(ext_dir))); @@ -540,7 +545,8 @@ std::vector PatchManager::GetPatches(VirtualFile update_raw) const { if (layeredfs) AppendCommaIfNotEmpty(types, "LayeredExeFS"); } - if (IsDirValidAndNonEmpty(FindSubdirectoryCaseless(mod, "romfs"))) + if (IsDirValidAndNonEmpty(FindSubdirectoryCaseless(mod, "romfs")) || + IsDirValidAndNonEmpty(FindSubdirectoryCaseless(mod, "romfslite"))) AppendCommaIfNotEmpty(types, "LayeredFS"); if (IsDirValidAndNonEmpty(FindSubdirectoryCaseless(mod, "cheats"))) AppendCommaIfNotEmpty(types, "Cheats"); @@ -566,7 +572,8 @@ std::vector PatchManager::GetPatches(VirtualFile update_raw) const { if (IsDirValidAndNonEmpty(FindSubdirectoryCaseless(sdmc_mod_dir, "exefs"))) { AppendCommaIfNotEmpty(types, "LayeredExeFS"); } - if (IsDirValidAndNonEmpty(FindSubdirectoryCaseless(sdmc_mod_dir, "romfs"))) { + if (IsDirValidAndNonEmpty(FindSubdirectoryCaseless(sdmc_mod_dir, "romfs")) || + IsDirValidAndNonEmpty(FindSubdirectoryCaseless(sdmc_mod_dir, "romfslite"))) { AppendCommaIfNotEmpty(types, "LayeredFS"); }