Ikuyo is a texture decoder for several rhythm arcade (or arcade-adjacent) games and their engines
Warning
Ikuyo is a rapidly expanding and changing library; more formats are planned to be supported and ABI is constantly changing.
Please wait for a Version 1.0.0 release before deploying into any production libraries or services.
- DDS (DirectDraw Surface) with DXT1/3/5 or RGB/RGBA
- UE4 Texture (.uexp, specifically 4.19.2)
- PNG (via fpng), fast but worse compression
- WebP (via libwebp), slow but better compression
- AVIF (via libavif/SV1-AV1), slowest but best compression
Important
Windows users will need to install the Visual Studio C++ Redistributable to run the pre-built binaries.
Binaries can be found in the releases tab for Windows and Linux.
macOS users may need to use a solution such as Wine (preferred) or Karton (untested).
The command-line interface currently has the following arguments:
ikuyo [format, ex: dds] [input file] [output format, ex: png] (optional width) (optional height)
Compression and such factors currently cannot be modified via the command line.
This assumes you have Visual Studio 2022 with C++ development components installed.
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config ReleaseCMake and gcc are required to build ikuyo. Package manager one-liners are provided for common distributions:
- Arch:
sudo pacman -Sy base-devel - Debian:
sudo apt install build-essential cmake - Fedora:
sudo dnf install gcc-c++ cmake make
cmake -S . -B build -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release
cmake --build build - All external libraries (excluding AVIF encoders/decoders) are available to view via the external directory
- The Unity implementation is derived from Razviar's AssetStudio fork
- Project DIVA TXP implementation referenced diva-rust-modding txp library
Thank you to everyone who has contributed to Ikuyo and/or it's dependencies.
The BOCCHI THE ROCK! animation and derivatives are property of CloverWorks and Aki Hamazi. All rights belong to their respective owners. No copyright infringement is intended.
