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

from wikipedia #1

Open
r-lyeh-archived opened this issue May 9, 2014 · 4 comments
Open

from wikipedia #1

r-lyeh-archived opened this issue May 9, 2014 · 4 comments

Comments

@r-lyeh-archived
Copy link
Owner

MPQs used in Blizzard's games generally contain a game's data files, including graphics, sounds, and level data. The format's capabilities include compression, encryption, file segmentation, extensible file metadata, cryptographic signature and the ability to store multiple versions of the same file for internationalization and platform-specific differences. MPQ archives can use a variety of compression algorithms which may also be combined.

@r-lyeh-archived
Copy link
Owner Author

current features:

  • archives can use a variety of compression algorithms which may also be combined.
  • extensible file metadata

missing:

  • encryption
  • file segmentation
  • cryptographic signature
  • file versioning, internationalization/localization, platform specifics

@d-led
Copy link
Contributor

d-led commented Dec 2, 2014

these would are all be nice features. A cryptographic signature is for me one of the most interesting ones. cryptopp?

@r-lyeh-archived
Copy link
Owner Author

I think cryptopp exceeds the size of an amalgamated solution. Maybe something smaller like https://github.com/well-typed/libedsign would fit it better.

On the other hand, and to avoid feature creep, I think bundle is ok as a compression library as it is right now. Maybe it could be wiser to add some of these features into another library on top of bundle. In same way than bundler is an archiver on top of bundle: https://github.com/r-lyeh/bundler

@d-led
Copy link
Contributor

d-led commented Dec 3, 2014

Yeah, I agree, there is no need to add features at any cost to an independent component. An encryption/signing can have a similar interface as bundle and thus a component in itself, but usable together with bundle in an aggregating component. As for libedsign, it looks suspicious to me. The crypto textbooks warn against using something that isn't widely used. As for cryptopp, it seems to be quite modular and not that complicated to build, hence a precise selection of it could be amalgamated, perhaps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants