mirror of
https://github.com/rehan-remade/universal-modder.git
synced 2026-11-05 01:37:40 +00:00
[PR #257] [MERGED] skills(reverse-engineering): unpacking fully compressed UE3 .upk packages (UE Viewer's decompressor + an LZO fallback script) #256
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
rehan-remade/universal-modder#256
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
📋 Pull Request Information
Original PR: https://github.com/rehan-remade/universal-modder/pull/257
Author: @Davidoff-byte
Created: 10/12/2026
Status: ✅ Merged
Merged: 10/12/2026
Merged by: @rehan-remade
Base:
main← Head:kb/handoff-psp-ports-skills📝 Commits (2)
cbe55c8skills: add the handoff and psp-ports skills, plus a UE3 .upk unpacker reference3e9512cskills: keep the UE3 .upk unpacker reference, drop handoff and psp-ports (review fixes)📊 Changes
9 files changed (+549 additions, -0 deletions)
View changed files
📝
.agents/skills/reverse-engineering/SKILL.md(+3 -0)➕
.agents/skills/reverse-engineering/references/ue3-packages/README.md(+65 -0)➕
.agents/skills/reverse-engineering/references/ue3-packages/unpack_upk.py(+115 -0)📝
.claude/skills/reverse-engineering/SKILL.md(+3 -0)➕
.claude/skills/reverse-engineering/references/ue3-packages/README.md(+65 -0)➕
.claude/skills/reverse-engineering/references/ue3-packages/unpack_upk.py(+115 -0)📝
skills/reverse-engineering/SKILL.md(+3 -0)➕
skills/reverse-engineering/references/ue3-packages/README.md(+65 -0)➕
skills/reverse-engineering/references/ue3-packages/unpack_upk.py(+115 -0)📄 Description
What: Two new skills —
handoff(write the live session to one portable file so a fresh agent in another harness, directory or machine can pick it up) andpsp-ports(make a game run on PSP: the hardware ceiling, the five routes, the pspdev toolchain and EBOOT.PBP, PPSSPP-then-hardware testing, asset conversion, the no-ROMs/no-assets rules) — plus a UE3.upkunpacker reference for the reverse-engineering skill.Details
skills/handoff/—SKILL.md+references/handoff-document.mdskills/psp-ports/—SKILL.md+references/routes.md,references/port-plan.mdskills/reverse-engineering/SKILL.md— a three-line pointer to the new.upkreferenceskills/reverse-engineering/references/ue3-packages/—README.md+unpack_upk.py(a decoder for a fully LZO-compressed UE3.upk, which UELib's stub decompressor and UPKUtils can't read; then clear only theCompressionFlagsdword so UELib reads it).agents/skills/and.claude/skills/, which this repo keeps as real copies ofskills/(tests/test_um.py::test_skill_copies_matchenforces byte-for-byte parity, so new skills must land in all three trees)README.md— two rows added to the skills tableChecklist
uv run --with pytest pytest -q testspasses (97 passed, 3 skipped)um kb check --indexpasses (182 notes checked) — no field notes in this PR, index untouchedum publish check .— 544 files, 0 failures, 2 warnings (both pre-existingknowledge/notes; the new files add none)psp-portsskill states the no-ROMs/no-assets publishing rules explicitlyNot verified: the PSP skill's toolchain steps (pspdev install, EBOOT.PBP packaging, PPSSPP/hardware runs) were written from research, not executed on a PSP in this PR.
Rebased onto current
main(2c22014);README.mdmerged cleanly with the upstream OpenCode-plugin changes (both kept).🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.