Skip to content
/ libcgss Public

libcgss is a helper library for THE iDOLM@STER Cinderella Girls Starlight Stage (CGSS/DereSute/デレステ). It currently supports HCA audio decoding and ACB exploring. It also applies to other games like THE iDOLM@STER Million Live! Theater Days (MLTD/MiriShita/ミリシタ).

License

Notifications You must be signed in to change notification settings

hozuki/libcgss

Repository files navigation

libcgss

libcgss is a helper library originally for THE iDOLM@STER Cinderella Girls Starlight Stage (CGSS). It provides both C and C++ API for HCA audio and ACB archive manipulation.

AppVeyor GitHub contributors Libraries.io for GitHub GitHub (pre-)release Github All Releases

The project consists of a library (libcgss) and several other applications.

  • Library (libcgss)
  • Applications
    • hcaenc (obsolete): HCA encoder. Requires hcaenc_lite.dll[1]. C# equivalent
    • hcacc: HCA cipher converter. C# equivalent
    • hca2wav: HCA decoder. C# equivalent
    • hcainfo: HCA info viewer.
    • utftable: UTF table schema explorer, similar to utf_tab.
    • acbunpack: ACB archive unpacker. C# equivalent
    • acb2wavs: Batch converter for HCAs in ACB. C# equivalent
    • acb2hcas: Batch exporter for HCAs in ACB. Generates companion .hcakey files for vgmstream.
    • hcaenc: HCA encoder based on VGAudio/VGAudio-CPP. Does not rely on hcaenc_lite.dll.
    • hcadec: HCA decoder based on VGAudio/VGAudio-CPP.

Related projects:

  • This project has a sister project DereTore. However the strength of C API is better interoperability with other libraries. The pure C# version of hcaenc and hcacc can be found in DereTore as applications.
  • If you are looking for a faster HCA decoder with higher definition for *NIX and you are a DIY person, have a look at this.
  • If you are looking for a small native application for HCA encoding/decoding, have a look at this.

[1] Download ADX2LE from here, and use the DLL located at tools\hcaenc_lite.dll.

Downloads

Examples

Have a look at some examples here.

C# users can write a P/Invoke wrapper to utilize the C interface.

Building

Requirements:

  • General:
    • CMake (>=3.2)
  • Windows:
    • MSVC (>=14.0, VC++ 2015) or Cygwin/GCC (>=5.0) or MinGW/GCC (>=5.0)
  • macOS and Linux:
    • GCC (>=5.0)

Remarks:

  1. I personally recommend you to use Cygwin rather than MinGW. The latter seems to lack support of properly handling try...catch statements.
  2. Linux build is tested on Windows Subsystem for Linux (WSL) using GCC 6.2.0.

Steps:

  1. Run PowerShell script: scripts/configure-cmake.ps1;
  2. Run PowerShell script: scripts/build-project.ps1;

Artifacts can be found in bin directory.

More information:

API & Manual

API definition can be found at docs/api/cgss-api.md.

User manual can be found at docs/manual/user-manual.md.

License

MIT License. See LICENSE.md.

Disclaimer

See DISCLAIMER.md.

Notes

More tech details can be found in Behind the Scenes.

About

libcgss is a helper library for THE iDOLM@STER Cinderella Girls Starlight Stage (CGSS/DereSute/デレステ). It currently supports HCA audio decoding and ACB exploring. It also applies to other games like THE iDOLM@STER Million Live! Theater Days (MLTD/MiriShita/ミリシタ).

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •