Skip to content

Support compressed save headers and BSAs (LZ4 & zlib) #338

@Utumno

Description

@Utumno

No getting away from this, we need it to parse SSE saves' masters - for BSAs I am not sure it's needed for Bash as we only want to read the contents - of course it will come handy when we add full support (extract,compress)

@leandor: could you take this up ? I think the simplest would be to add another (small this time) binary - as opposed to a new python dependency. Probably an exe would be simpler, or a dll (that would need a wrapper). But I have not found any official exe (we do bundle an lzma.exe probably with libbsa, dunno if we could use that - I guess not). If you have time then it would be an opportunity to factor out an archives.py (would be needed if we go down the dll path anyway so the ctypes wrapper does not bloat bolt.py further, if an exe just adding two methods like lz4_compress, lz4_decompress in archives section of bolt.py would be enough).

The official lz4 is here: https://github.com/lz4/lz4
Here is visual studio project for compiling the dll: https://github.com/qazbob/lz4-dll
And here's a SO post: http://stackoverflow.com/questions/31733538/compiling-lz4-compression-library-on-windows

If you could take this up leandor would be great, let me know :)

Metadata

Metadata

Assignees

Labels

A-bsasArea: BSAs and BA2s (bosh/bsa_files.py)A-savesArea: Saves (bosh/save_headers.py, bosh/_saves.py and partially bosh/faces.py)C-enhancementCategory: Enhancement, a request to add or enhance a featureM-relnotesMisc: Issue should be listed in the version history for its milestone

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions