The update list deleted ~80 apps the pack never shipped (Goldleaf,
linkalho, Moonlight, NX-Shell, ...), Downloader sysmodules (SysDVR,
MissionControl, ldn_mitm, Fizeau), game title ID folders (mods/cheats),
and user folders like "Patched Apps" or "games". Anything a user
installed via OmniNX Downloader was wiped on every update.
Update mode only runs on an existing OmniNX install, so the list now
keeps only what the pack ships, components OmniNX dropped, and
boot-relevant housekeeping. Foreign-pack leftovers stay in the clean
list. Also drops 15 entries nested in deleted folders, a case-duplicate
(themezernx) and a trailing-space path.
tools/audit_update_list.py checks the list against the OmniNX repo.
- Load sd:/config/omninx/preserve.ini during update mode cleanup to skip
delete paths that overlap user-preserved prefixes (heap-backed path list).
- Document preserve.ini in PRESERVE_INI.md, README, and INSTALLATION_PROCESS.
- Prefer Hekate wording in main.c user messages for bootloader launch/errors.
- Extend update deletion list for exefs_patches (audio_mastervolume, SaltyNX_Fixes, logo).
- Add folder_copy_switch_update_offload_aware() for update-only switch copy
- If item exists in .overlays/.offload or .packages/.offload, update in place; else copy to main
- Remove sd:/switch/.overlays from update delete list so .offload survives
- Fresh install unchanged (no offload logic)
Co-authored-by: Cursor <cursoragent@cursor.com>
- Slim cleanup: one progress line per section (Bereinige: X [p%] (n/n))
via delete_path_lists_grouped() in clean and update mode
- DBI: remove folder entries from deletion lists; only .nro deleted,
folder and config preserved
- Remove redundant manifest.ini creation; use manifest from pack config/
Co-authored-by: Cursor <cursoragent@cursor.com>