Skip to content

About

Tools and libs for modifying CRIWARE file formats, partially rewritten in Rust

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

CriTableTools, a partial Rust rewrite of SonicAudioTools

A set of tools to modify CRIWARE file formats.

Currently it only supports CSB files (that can be bundled with a CPK file).

The latest version of the programs can be found on GitHub Actions.

More or less suitable for use versions are planned to be published on GitHub's release page.


Please note that most of the CLI tools support the --help flag to show help.


What is left behind / will not be implemented in the Rust rewrite (as for now)

  • Only CSB/CPK files are supported
  • the compression of files, since in the original code the reading was only implemented, but I want to write the files as well.
  • parallel processing of files since it would still hit the IO bottleneck (original project has a parallel extractor of the files).
  • file alignment since it wasn't implemented in the original code.
  • also the masking seems to be unused (always false)
  • ahead-of-time values loading was implemented instead of lazy-loading (I mean the file is read fully in one iteration instead of jumping on the stream in the memory between the pointers and values)
  • Only "latest" version of CSB and CPK and FileName mode are supported

List of tools

cri-table2json

A tool for a convenient examination of arbitrary CriTable files (CSB, CPK...)

csb-editor-rs (wip)

A tool to extract audio files from a CSB file (supports related CPK files)

Tested games

  • Sonic 4 Episode 1 (PC) (read/extraction)
  • Sonic 4 Episode 2 (PC) (read/extraction)
  • Sonic Generations (PC) (read/extraction)
  • Sonic Lost World (PC) (CPK read)
  • Sonic Forces (PC) (CPK read)

Want to contribute?

Contributions welcome to the Rust rewrite.

If you want to contribute to the original C# project, please follow the original project's repository.

Special thanks

Special thanks to Skyth for the original C# tools and for licensing them under the MIT license.

AI disclosure and usage policy and contribution guide (for the rewritten project)

The word "slop" is not what I want to achieve with this project, so I prepared an AI usage policy and contribution guide.

Currently, AI assistance from SourceCraft Code Assistant helped in a few ways:

  • Helped debugging the rewritten library and tools in the cases that I overlooked due to inattention.

About

Tools and libs for modifying CRIWARE file formats, partially rewritten in Rust

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages