Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abstract zip (de)compression, add implode/reduce/shrink/deflate64 support #207

Merged
merged 19 commits into from Feb 24, 2020

Conversation

AliceLR
Copy link
Owner

@AliceLR AliceLR commented Feb 17, 2020

  • Initial zip compression/decompression stream implementation.
  • Compare local and central directory flags values and ignore unused flags.
  • enum zip_error and error strings cleanup.
  • Shrink (1) decompressor
  • Reduce (2-5) decompressor
  • Implode (6) decompressor
  • Deflate64 (9) decompressor (maybe...)
  • Only enable extra decompressors for 1) builds with utils and 2) HTML5.
  • Prevent world/etc loaders from recognizing files using formats other than store and deflate.
  • Check if the special case LE code in bitstream is worth uncommenting.
  • Support for actually streaming inflate/deflate + switch counter and string to stream deflate instead of store. 2 much work right now :(
  • Emscripten
  • Testing
  • MOAR TESTING
  • Cleanup as much as i'm willing to stomach, the rest can wait until 2.93

See this DigitalMZX post for a list of games archived with these compression methods.

@AliceLR AliceLR changed the title Abstract zip compression/decompression and add implode/reduce/shrink support Abstract zip (de)compression, add implode/reduce/shrink/deflate64 support Feb 21, 2020
@AliceLR AliceLR merged commit dc69920 into master Feb 24, 2020
@AliceLR AliceLR deleted the zip_stream branch February 24, 2020 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant