9 unstable releases (4 breaking)
0.5.3 | Dec 16, 2024 |
---|---|
0.5.2 | Dec 16, 2024 |
0.5.1 | Jul 25, 2024 |
0.5.0 | Jun 5, 2024 |
0.1.1 | Dec 16, 2023 |
#94 in Games
Used in crunch64-cli
90KB
2K
SLoC
crunch64
C bindings
This library provides bindings to call this library from C code. They are available on the releases tab.
To build said bindings from source, enable the c_bindings
Rust feature:
cargo build --lib --features c_bindings
Headers are located at c_bindings/include.
Windows executables
Due to Rust requirements, linking the C bindings of this library when building a C program adds extra library dependencies. Those libraries are the following:
-lws2_32 -lntdll -lbcrypt -ladvapi32 -luserenv
Python bindings
This library provides bindings to call this library from Python code. The recommended way to install this library is via PyPI (Check out this project at PyPI https://pypi.org/project/crunch64/):
python3 -m pip install -U crunch64
Development version
The development version is located in the Github repository. In case the user wants to get the latest and unreleased features then they can install the repo directly.
Please note building the Python version from source requires the Rust toolchain and the maturin
Python package.
The recommended way to install a locally cloned repo is by using pip
.
python3 -m pip install ./lib
In case you want to mess with the latest development version without wanting to clone the repository, then you could use the following commands:
python3 -m pip uninstall crunch64
python3 -m pip install "git+https://github.com/decompals/crunch64.git#egg=crunch64&subdirectory=lib"
NOTE: Installing the development version is not recommended unless you know what you are doing. Proceed at your own risk.
Versioning and changelog
This library follows Semantic Versioning.
To see what changed on each release check either the CHANGELOG.md file or check the releases page on Github. You can also use this link to check the latest release.
References
- Yaz0
- Reference implementation by Mr-Wiseguy: https://gist.github.com/Mr-Wiseguy/6cca110d74b32b5bb19b76cfa2d7ab4f
- MIO0
- Hack64.net docs: https://hack64.net/wiki/doku.php?id=super_mario_64:mio0
- gzip
- Reference implementation: https://github.com/Thar0/gzip-1.3.3-ique
- DEFLATE specification: https://datatracker.ietf.org/doc/html/rfc1951
Dependencies
~0.3–6MB
~32K SLoC