Skip ISO.BIN.EDAT wrapper so DLC shows as a single library item
This commit is contained in:
@@ -3354,6 +3354,8 @@ def _nps_library_items(nps_dir, overrides, dates):
|
|||||||
for edat in sorted(dlc_dir.rglob("*")):
|
for edat in sorted(dlc_dir.rglob("*")):
|
||||||
if not edat.is_file() or edat.suffix.lower() != ".edat":
|
if not edat.is_file() or edat.suffix.lower() != ".edat":
|
||||||
continue
|
continue
|
||||||
|
if edat.name.upper() == "ISO.BIN.EDAT":
|
||||||
|
continue # package wrapper, not DLC content
|
||||||
name = _sidecar_name(edat.parent) or edat.stem
|
name = _sidecar_name(edat.parent) or edat.stem
|
||||||
out.append(_nps_extra_item(edat, "dlc", name))
|
out.append(_nps_extra_item(edat, "dlc", name))
|
||||||
return out
|
return out
|
||||||
|
|||||||
@@ -337,6 +337,10 @@ def extract(pkg_path, dest_dir, kind_hint=None, progress_cb=None, cancel_event=N
|
|||||||
continue
|
continue
|
||||||
if kind == "dlc" and not base.lower().endswith(".edat"):
|
if kind == "dlc" and not base.lower().endswith(".edat"):
|
||||||
continue
|
continue
|
||||||
|
if kind == "dlc" and base.upper() == "ISO.BIN.EDAT":
|
||||||
|
# Small EDAT wrapper shipped inside PSP DLC packages — not DLC
|
||||||
|
# content itself, so don't install it (matches pkgi-psp).
|
||||||
|
continue
|
||||||
|
|
||||||
if kind == "theme":
|
if kind == "theme":
|
||||||
# Read the (small) entry fully, CTR-decrypt, then unwrap the EDAT.
|
# Read the (small) entry fully, CTR-decrypt, then unwrap the EDAT.
|
||||||
|
|||||||
Reference in New Issue
Block a user