Venomalia / DolphinTextureExtraction-tool

Dumps GC and Wii textures, compatible with the Dolphin texture hash.
MIT License
29 stars 5 forks source link

7-zip library missing in Linux/macOS bundles #58

Open cristian64 opened 7 months ago

cristian64 commented 7 months ago

Description:

The following error message can be seen on startup:

Warning: 7-zip DLL could not be found!

If an archive is encountered during extraction, the following error is seen:

[01] Exception: foobar.zip 7z.dll not found
cristian64 commented 7 months ago

I naively tried to copy the x64 and x86 directories from the Windows bundle, to no avail. Although the .dll can then be found, an exception is still raised when an archive is encountered:

[01] Exception: foobar.zip Unable to initialize SevenZipHandle
cristian64 commented 7 months ago

From a developer stand, a potential solution to bring support to Linux/macOS could be to unpack archives using the 7z command-line tool provided by the system, which most Unix systems will have available.

The overhead of spawning the 7z process would be negligible, specially if the alternative is not having support at all.

Venomalia commented 7 months ago

The wrapper https://github.com/adoconnection/SevenZipExtractor only supports windows as far as i know. Overall, I know of one game that benefits from the 7-zip library, so it's not a big problem. I don't give the whole thing much priority.

cristian64 commented 7 months ago

The use case I had in mind is support for mods; not necessarily vanilla games; as mods are often distributed in .zip archives.

The workaround is simple enough, though: just unpack archives [recursively] with an external tool before running the DTE tool against the mods directory.

Venomalia commented 7 months ago

.zip are actually supported natively in C#, they just run via the 7-zip library because I have not built in the function.

when I get the time, I will change that

iwubcode commented 7 months ago

The use case I had in mind is support for mods

Curious what you mean by mods? Riivolution files are usually already extracted.

cristian64 commented 7 months ago

The use case I had in mind is support for mods

Curious what you mean by mods? Riivolution files are usually already extracted.

I wasn't referring to a specific mod type but, in the MKDD modding community, mods are shared in the ZIP format. It'd be nice to be able to extract textures from them in other platforms too.