Update mode: - Sysmodules offered by OmniNX Downloader are removed again, since an old build may not run on the new Atmosphere (SysDVR, Fizeau, MissionControl, ldn_mitm), plus sys-botbase and emuiibo. Title IDs taken from the current release zips. Users reinstall them via the Downloader. - Configs of other CFW packs (kefir-updater, blue_pack_updater) and the old Ultrahand name (uberhand) are removed again. - Former OmniNX folders games, NSPs (Tools), scripts and tools are removed again. Patched Apps stays out: the Downloader installs into it. Clean mode: also removes sept/ and fusee-secondary.bin (old Atmosphere boot chain).
241 lines
8.3 KiB
C
241 lines
8.3 KiB
C
/*
|
|
* OmniNX Installer - Deletion Lists for Update Mode
|
|
* Selective deletion when OmniNX is already installed.
|
|
*
|
|
* Update mode only runs on an existing OmniNX install (manifest.ini), so this
|
|
* list only needs:
|
|
* - paths the current pack ships (removed first so the copy replaces them cleanly),
|
|
* - components and folders OmniNX used to ship and dropped (e.g. sys-ticon, games/),
|
|
* - boot-relevant housekeeping (logs, foreign exefs/kip patches, legacy boot files),
|
|
* - sysmodules offered by OmniNX Downloader (may break on a new Atmosphere;
|
|
* users reinstall them via the Downloader),
|
|
* - configs of other CFW packs.
|
|
* Do NOT add user apps, app configs or game title IDs (mods/cheats); foreign-pack
|
|
* apps are removed by the clean list, which wipes switch/ and atmosphere/.
|
|
* Check with: python3 tools/audit_update_list.py <path to OmniNX repo>
|
|
* After editing, regenerate the desktop list: python3 tools/generate_deletion_lists.py
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
// Atmosphere subdirectories to delete
|
|
static const char* atmosphere_dirs_to_delete[] = {
|
|
"sd:/atmosphere/config",
|
|
"sd:/atmosphere/crash_reports",
|
|
"sd:/atmosphere/erpt_reports",
|
|
"sd:/atmosphere/exefs_patches/audio_mastervolume",
|
|
"sd:/atmosphere/exefs_patches/CrunchPatch",
|
|
"sd:/atmosphere/exefs_patches/SaltyNX_Fixes",
|
|
"sd:/atmosphere/exefs_patches/Crunchyroll Patch 1.10.0",
|
|
"sd:/atmosphere/exefs_patches/bluetooth_patches",
|
|
"sd:/atmosphere/exefs_patches/bootlogo",
|
|
"sd:/atmosphere/exefs_patches/btm_patches",
|
|
"sd:/atmosphere/exefs_patches/es_patches",
|
|
"sd:/atmosphere/exefs_patches/hid_patches",
|
|
"sd:/atmosphere/exefs_patches/logo",
|
|
"sd:/atmosphere/exefs_patches/nfim_ctest",
|
|
"sd:/atmosphere/exefs_patches/nim_ctest",
|
|
"sd:/atmosphere/exefs_patches/nvnflinger_cmu",
|
|
"sd:/atmosphere/extrazz",
|
|
"sd:/atmosphere/fatal_errors",
|
|
"sd:/atmosphere/fatal_reports",
|
|
"sd:/atmosphere/flags",
|
|
"sd:/atmosphere/hbl_html",
|
|
"sd:/atmosphere/hosts",
|
|
"sd:/atmosphere/kips",
|
|
"sd:/atmosphere/kip1",
|
|
"sd:/atmosphere/kip_patches",
|
|
"sd:/atmosphere/logs",
|
|
NULL
|
|
};
|
|
|
|
// Atmosphere contents directories (title IDs; only under atmosphere/contents/)
|
|
static const char* atmosphere_contents_dirs_to_delete[] = {
|
|
"sd:/atmosphere/contents/0000000000534C56",
|
|
"sd:/atmosphere/contents/00FF0000B378D640",
|
|
"sd:/atmosphere/contents/00FF0000636C6BFF",
|
|
"sd:/atmosphere/contents/0100000000000008",
|
|
"sd:/atmosphere/contents/010000000000000D",
|
|
"sd:/atmosphere/contents/010000000000002B",
|
|
"sd:/atmosphere/contents/0100000000000032",
|
|
"sd:/atmosphere/contents/0100000000000034",
|
|
"sd:/atmosphere/contents/0100000000000036",
|
|
"sd:/atmosphere/contents/0100000000000037",
|
|
"sd:/atmosphere/contents/010000000000003C",
|
|
"sd:/atmosphere/contents/0100000000000042",
|
|
"sd:/atmosphere/contents/0100000000000895",
|
|
"sd:/atmosphere/contents/0100000000001000",
|
|
"sd:/atmosphere/contents/0100000000001007",
|
|
"sd:/atmosphere/contents/0100000000001013",
|
|
"sd:/atmosphere/contents/010000000000DA7A",
|
|
"sd:/atmosphere/contents/050000BADDAD0000",
|
|
"sd:/atmosphere/contents/4200000000000000",
|
|
"sd:/atmosphere/contents/420000000000000B",
|
|
"sd:/atmosphere/contents/420000000000000E",
|
|
"sd:/atmosphere/contents/4200000000000FFF",
|
|
"sd:/atmosphere/contents/420000000007E51A",
|
|
"sd:/atmosphere/contents/420000000007E51B",
|
|
"sd:/atmosphere/contents/690000000000000D",
|
|
"sd:/atmosphere/contents/00FF747765616BFF", // sys-ticon (removed in 2.2.0)
|
|
// Sysmodules offered by OmniNX Downloader: removed on update, because an
|
|
// old build may not run on the new Atmosphere. Reinstall via the Downloader.
|
|
"sd:/atmosphere/contents/00FF0000A53BB665", // SysDVR
|
|
"sd:/atmosphere/contents/0100000000000F12", // Fizeau
|
|
"sd:/atmosphere/contents/010000000000bd00", // MissionControl
|
|
"sd:/atmosphere/contents/4200000000000010", // ldn_mitm
|
|
"sd:/atmosphere/contents/430000000000000B", // sys-botbase
|
|
"sd:/atmosphere/contents/0100000000000352", // emuiibo
|
|
NULL
|
|
};
|
|
|
|
// Atmosphere files to delete
|
|
static const char* atmosphere_files_to_delete[] = {
|
|
"sd:/atmosphere/hbl.nsp",
|
|
"sd:/atmosphere/package3",
|
|
"sd:/atmosphere/reboot_payload.bin",
|
|
"sd:/atmosphere/stratosphere.romfs",
|
|
NULL
|
|
};
|
|
|
|
// Bootloader directories to delete
|
|
static const char* bootloader_dirs_to_delete[] = {
|
|
"sd:/bootloader/boot",
|
|
"sd:/bootloader/bootlogo",
|
|
"sd:/bootloader/ini2",
|
|
"sd:/bootloader/payloads",
|
|
"sd:/bootloader/reboot",
|
|
"sd:/bootloader/res",
|
|
"sd:/bootloader/sys",
|
|
NULL
|
|
};
|
|
|
|
// Bootloader files to delete
|
|
static const char* bootloader_files_to_delete[] = {
|
|
"sd:/bootloader/ArgonNX.bin",
|
|
"sd:/bootloader/bootlogo.bmp",
|
|
"sd:/bootloader/hekate_ipl.ini",
|
|
"sd:/bootloader/nyx.ini",
|
|
"sd:/bootloader/patches.ini",
|
|
"sd:/bootloader/update.bin",
|
|
"sd:/bootloader/ini/EmuMMC ohne Mods.ini",
|
|
NULL
|
|
};
|
|
|
|
// Config directories to delete
|
|
static const char* config_dirs_to_delete[] = {
|
|
"sd:/config/nx-hbmenu",
|
|
"sd:/config/quickntp",
|
|
"sd:/config/sys-patch",
|
|
"sd:/config/ultrahand",
|
|
// Configs of other CFW packs / old Ultrahand name
|
|
"sd:/config/blue_pack_updater",
|
|
"sd:/config/kefir-updater",
|
|
"sd:/config/uberhand",
|
|
NULL
|
|
};
|
|
|
|
// Switch directories to delete.
|
|
// User packages and overlays are kept. OmniNX-shipped package folders are
|
|
// removed so the copy replaces them cleanly. .offload is the old hide tree.
|
|
static const char* switch_dirs_to_delete[] = {
|
|
"sd:/switch/.packages/.offload",
|
|
"sd:/switch/.packages/Alchemist",
|
|
"sd:/switch/.packages/Cool Curves",
|
|
"sd:/switch/.packages/HOC Toolkit",
|
|
"sd:/switch/.packages/Installer Configurator",
|
|
"sd:/switch/.packages/Memory Config",
|
|
"sd:/switch/.packages/Memory Kit",
|
|
"sd:/switch/.packages/Memory Switcher",
|
|
"sd:/switch/.packages/OmniNX Downloader",
|
|
"sd:/switch/.packages/Package Manager",
|
|
"sd:/switch/.packages/RebootNX",
|
|
"sd:/switch/.overlays/.offload",
|
|
"sd:/switch/Benchmark-Toolbox",
|
|
"sd:/switch/breeze",
|
|
"sd:/switch/cheats-updater",
|
|
"sd:/switch/chiaki",
|
|
"sd:/switch/Daybreak",
|
|
"sd:/switch/DNS-Block_Tester",
|
|
"sd:/switch/DNS_mitm Tester",
|
|
"sd:/switch/Furmark-NX",
|
|
"sd:/switch/JKSV",
|
|
"sd:/switch/Linkalho",
|
|
"sd:/switch/NXGallery",
|
|
"sd:/switch/SimpleModAlchemist",
|
|
"sd:/switch/SimpleModDownloader",
|
|
"sd:/switch/sphaira",
|
|
"sd:/switch/Switch_themes_Installer",
|
|
"sd:/switch/swr-ini-tool",
|
|
"sd:/switch/Sys-Clk Manager",
|
|
"sd:/switch/ThemezerNX",
|
|
"sd:/switch/tinwoo",
|
|
"sd:/switch/Ultrahand-Reload",
|
|
NULL
|
|
};
|
|
|
|
// Switch files (NRO) to delete
|
|
static const char* switch_files_to_delete[] = {
|
|
"sd:/switch/DBI/DBI.nro",
|
|
"sd:/switch/DBI/DBI_EN.nro",
|
|
"sd:/switch/.packages/boot_package.ini",
|
|
"sd:/switch/.packages/package.ini",
|
|
"sd:/switch/.overlays/DNS-MITM_Manager.ovl",
|
|
"sd:/switch/.overlays/FPSLocker.ovl",
|
|
"sd:/switch/.overlays/MasterVolume.ovl",
|
|
"sd:/switch/.overlays/QuickNTP.ovl",
|
|
"sd:/switch/.overlays/ReverseNX-RT-ovl.ovl",
|
|
"sd:/switch/.overlays/Status-Monitor-Overlay.ovl",
|
|
"sd:/switch/.overlays/horizon-oc-overlay.ovl",
|
|
"sd:/switch/.overlays/ovlEdiZon.ovl",
|
|
"sd:/switch/.overlays/ovlSysmodules.ovl",
|
|
"sd:/switch/.overlays/ovlmenu.ovl",
|
|
"sd:/switch/.overlays/sys-patch-overlay.ovl",
|
|
NULL
|
|
};
|
|
|
|
// Root CFW files to delete
|
|
static const char* root_files_to_delete[] = {
|
|
"sd:/boot.dat",
|
|
"sd:/boot.ini",
|
|
"sd:/exosphere.bin",
|
|
"sd:/exosphere.ini",
|
|
"sd:/hbmenu.nro",
|
|
"sd:/install.bat",
|
|
"sd:/license",
|
|
"sd:/loader.bin",
|
|
"sd:/mc-mitm.log",
|
|
"sd:/payload.bin",
|
|
"sd:/update.bin",
|
|
"sd:/version",
|
|
NULL
|
|
};
|
|
|
|
// Miscellaneous directories to delete
|
|
static const char* misc_dirs_to_delete[] = {
|
|
"sd:/argon",
|
|
"sd:/hwtest",
|
|
"sd:/SaltySD/flags",
|
|
"sd:/switch/tinfoil/db",
|
|
"sd:/themes/systemData",
|
|
"sd:/warmboot_mariko",
|
|
// Former OmniNX folders
|
|
"sd:/games",
|
|
"sd:/NSPs (Tools)",
|
|
"sd:/scripts",
|
|
"sd:/tools",
|
|
NULL
|
|
};
|
|
|
|
// Miscellaneous files to delete
|
|
static const char* misc_files_to_delete[] = {
|
|
"sd:/fusee-primary.bin",
|
|
"sd:/fusee.bin",
|
|
"sd:/SaltySD/exceptions.txt",
|
|
"sd:/SaltySD/saltysd_bootstrap.elf",
|
|
"sd:/SaltySD/saltysd_bootstrap32_3k.elf",
|
|
"sd:/SaltySD/saltysd_bootstrap32_5k.elf",
|
|
"sd:/SaltySD/saltysd_core.elf",
|
|
"sd:/SaltySD/saltysd_core32.elf",
|
|
NULL
|
|
};
|