Skip to content

C# managed wrapper and implementations for sYaz0 compression and decompression.

License

Notifications You must be signed in to change notification settings

NCF-Library/Yaz0Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yaz0 Library

C# managed wrapper and implementations for sYaz0 compression and decompression.

Usage

DLL Loader

Yaz0Library uses unmanaged libraries that need to be extracted, this is only done once per user, but can cause issues if it's used with parallel code and not previously extracted. To fix any possible issues, run Yaz0Helper.LoadDlls() before any parallel code runs (preferably at the start of the programs Main function).

Compress

// Compress a file
Span<byte> compressed = Yaz0.Compress("path/to/uncompressed_file.bin", out Yaz0SafeHandle handle);
// Compress a byte[]
byte[] uncompressed = sarc["path/to/uncompressed_file.bin"];
Span<byte> compressed = Yaz0.Compress(uncompressed, out Yaz0SafeHandle handle);

Decompress

// Decompress a file
Span<byte> decompressed = Yaz0.Decmpress("path/to/compressed_file.sbin");
// Decompress a byte[]
byte[] compressed = sarc["path/to/compressed_file.sbin"];
Span<byte> decompressed = Yaz0.Decompress(compressed);

Install

NuGet NuGet

NuGet

Install-Package Yaz0Library

Build From Source

git clone https://github.com/NCF-Library/Yaz0Library.git
dotnet build Yaz0Library

Credit

ArchLeaders: C# oead wrapper (Cead)
exelix: C# Managed Yaz0 implementation.
Léo Lam: oead

About

C# managed wrapper and implementations for sYaz0 compression and decompression.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages