Back to Provenance

2676

.changelog/2676.md

3.3.11.5 KB
Original Source

Added

  • PVPatch Realm model — New PVPatch Realm object in PVRealm that stores ROM patch file info (format, title, author, version, description, enabled state, source URL) linked optionally to a game.
  • Patch file import detectionGameImporter now recognises patch file extensions and routes them to a new importPatchFile stub that persists a PVPatch record in Realm (full patch application deferred to a future PatchImporter).
  • ImporterFileType.patch — New .patch(PatchFormat) case added to ImporterFileType; ImportQueueItem.FileType gains a .patch case.
  • Patch extensions in ExtensionsPVFileSystem.Extensions now exposes patchExtensions covering all known patch file extensions (IPS, IPS32, BPS, UPS, xdelta, delta, xdelta3, vcdiff, PPF, APS, RUP).
  • Realm schema v26 — Bumped schema version from 25 → 26; PVPatch registered in objectTypes; migration block added.

Fixed

  • NSP misclassification — Removed .nsp from patch format/extension lists; .nsp Nintendo Switch packages are game files and must not be routed to the patch importer.
  • Unique patch filenames — Patch import now generates a unique destination filename when a same-named file already exists, preventing silent overwrites.
  • PatchFormat detectionGameImporter now uses PatchFormat.detect(from:) which correctly handles multi-extension aliases (e.g. .delta → xdelta); fixes a compile error from the non-existent PatchFormat(fileURL:) initializer.