Add read-only NUP checks that name damaged members #626
No reviewers
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot!626
Loading…
Reference in a new issue
No description provided.
Delete branch "codex/verify-nup-members"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What this fixes
Damaged compressed game files can match a NUP's own hashes. The game can then retry those resources continuously, causing high CPU use and stutter, without identifying which files need replacing.
Why merge
--verifyreports title, member path and reason, then returns a failing exit code for damaged input.Change
nx2/nup.py: add strict metadata checks and read-only member/hash/expected.zsheader verification.nx2/test_nup_verify.py: test valid data, hash-valid damaged headers, checksum failures, dedup, malformed metadata and read-only behavior..github/workflows/source-regressions.yml: run the regression on Windows and Linux.Tested
python -I -B nx2/test_nup_verify.pyandpython -I -B nx2/test_nup_codec.py.Not covered
.zschecks cover Zstd headers only; full inner decoding and asset semantics need separate checks.No game data is included.