Git Product home page Git Product logo

zarchive's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

zarchive's Issues

Build fails under debian

Trying to build under debian (with zstd, libzstd-dev installed) fails with the following:


CMake Error at CMakeLists.txt:32 (find_package):
  By not providing "Findzstd.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "zstd", but
  CMake did not find one.

  Could not find a package configuration file provided by "zstd" with any of
  the following names:

    zstdConfig.cmake
    zstd-config.cmake

  Add the installation prefix of "zstd" to CMAKE_PREFIX_PATH or set
  "zstd_DIR" to a directory containing one of the above files.  If "zstd"
  provides a separate development package or SDK, be sure it has been
  installed.

Question: How would you make a batch file that would auto add WUA files for decompression?

Converted my games to WUA format and wanting to try take the icon and background files and use them for stuff but that requires they be decompressed to access them.

Any way I could create a batch file that would just auto decompress every WUA file in a directory?

Tried to make it myself but the majority of my command line knowledge left me about 20 years ago.

Thank you in advance for your time, much appreciated.

Off-topic: Now that I think about it, Cemu could probably start using them itself and make its own mock up of the Wii U interface with them.

zarchive tool fails to archive directories containing symlinks

When trying to archive a directory containing a symbolic link, zarchive follows the link and tries to archive the same file twice.

To reproduce:

$ mkdir example
$ touch example/real_file
$ ln -s real_file example/link
$ zarchive example
Outputting to: example.zar
Adding real_file
Adding real_file
Failed to create archive file real_file

[Request] Support WUD & WUX files

ZArchive currently supports the fallowing conversions:

Extracted Folder ----> .zar (wua)
.zar (wua) ----> Extracted Folder

is it possible to add support for:

.wud/wux ----> .zar/.wua
.zar/.wua ----> .wud/wux

& (if even possible)

Extracted Folder ----> .wud/wux
.wud/wux ----> Extracted Folder

This way we can store all the Wii U disc dumps as .zar/.wua and be able to convert them back to their original dumping format (for hash verification) without the need for Cemu. Making the ZArchive format (.zar/.wua) truly archival (everything can be turned back to the way it was originally dumped).

I'm just an idiot. The rest of this is just me basically guessing without actual expertise

If I understand correctly, this might need the user to input a key for .wud/wux --> .zar/.wua but if the key can also be stored in the .zar/.wua file, then .zar/.wua --> .wud/wux can be possible without a key.

I don't know if there are random seeds for the .wud file padding or not, but tools like WudCompress can convert between .wud and .wux with archival quality (hash doesn't change for the .wud file). So, I assume the padding has a pattern to it.

This might also need some understanding of the files layout of the original .wud/.wux file. Something like IRD files for PS3 discs (layout information). If this layout information can stored in the .zar/.wua file during conversion and also be exported to a file (like IRD files for the PS3), then maybe these conversions could be possible:

.wud/wux + key file/text + Layout file ----> .zar/.wua
.zar/.wua ----> .wud/wux + key file/text + Layout file

Extracted Folder + key file/text + Layout file ----> .zar/.wua (convertible to .wud/.wux)
.zar/.wua (convertible to .wud/.wux) ----> Extracted Folder + key file/text + Layout file

Managing NUS packages

Hi.
Would it make sense to expand the scope of this tool to be able to decrypt and convert encrypted NUS packages directly to NUS, with the ability to restore them back to their original state?
That would be useful from a preservation and efficiency standpoint, as one set of files for each game would serve all purposes.

No enforcement of windows-1252 anywhere

The current source code does not do any encoding conversion -- it just gets whatever the char* API puts out and puts them in the archive. As a result, the actual encoding will vary by the system's locale settings. On en-US Windows you will probably get 1252 (probably? yes, because there's a control panel switch to always use 65001), but on Chinese you might get 936, and on saner platforms that use the same encoding everywhere you would get UTF-8.

This is very different from the README's:

The encoding for paths within the archive is Windows-1252 (case-insensitive)

ZIP has a flag bit for UTF-8, but oops, there's no reserved bit in ZArchive.

Can you create WUA (CEMU compatible) archives with ZArchive?

I'm aware that you can losslessly extract WUA files created in CEMU back to RPX/RAW/code-content-meta format with ZArchive, but is the reverse possible, i.e. to create WUA files from RPX/RAW/code-content-meta files without CEMU?

I read here that WUA files "are otherwise regular ZArchive files", so I was hoping that maybe yes, but when I try to run zarchive.exe <game dir>, I get the Failed to create archive file error.

The problem I have with doing this through CEMU is that, afaik, the only way to do it is manually, through GUI and therefore I cannot write a script for it...

Thanks for developing and providing support for this useful tool.

.

.

C Bindings

This is a very promising project, and it would be great to see C bindings (...or even a total rewrite in C!). This would make it easier for pure C projects to leverage this library without having to write unofficial bindings.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.