mirror of
https://github.com/xavo95/repak.git
synced 2025-01-18 10:54:38 +00:00
19 lines
No EOL
1.3 KiB
Markdown
19 lines
No EOL
1.3 KiB
Markdown
# unpak
|
|
## a no-nonsense unreal pak parser
|
|
- doesn't force files to be extracted
|
|
- only converts entries to bytes when requested
|
|
- supports up to frozen index (4.25) paks (planned support for higher)
|
|
- supports compressed and encrypted paks
|
|
- supports iteration over entries
|
|
## [click for example code](https://github.com/bananaturtlesandwich/unpak/blob/master/examples/unpak.rs)
|
|
## the problem
|
|
looking at the libraries for pak reading, they were never not quite right for what i wanted to do:
|
|
- [rust-u4pak](https://github.com/panzi/rust-u4pak) - excellent support but very limited api
|
|
- [ue4pak](https://github.com/Speedy37/ue4pak-rs) - excellent api but no support for extraction
|
|
- [unrealpak](https://github.com/AstroTechies/unrealmodding/tree/main/unreal_pak) - excellent api but only supports version 8
|
|
- [rust-unreal-unpak](https://crates.io/crates/rust-unreal-unpak) - is async only supports version 10
|
|
|
|
so i just though *fuck it i'll do it myself* and did it myself
|
|
|
|
## references
|
|
although the api of [rust-u4pak](https://github.com/panzi/rust-u4pak) wasn't very friendly, the [`README`](https://github.com/panzi/rust-u4pak#readme) went into beautiful detail into the intricacies of the file format and when the readme had incorrect info *cough cough* `encryption uuid` *cough cough* the source code also had the answers as long as you looked hard enough |