A port of the 3DO SDK's compression library to modern platforms with a command line tool.
$ 3ct --help-all
3ct: 3DO Compression Tool (v1.0.0)
Usage: 3ct [OPTIONS] SUBCOMMAND
Options:
-h,--help Print this help message and exit
--help-all List help for all subcommands
Subcommands:
compress
Compress input file
Positionals:
input-filepath PATH:FILE REQUIRED
Path to input file
output-filepath PATH:FILE Path to output file (default: input + '.compressed')
decompress
Decompress input file
Positionals:
input-filepath PATH:FILE REQUIRED
Path to input file
output-filepath PATH:FILE Path to output file (default: input + '.decompressed')
check
Checks the compressor and decompressor against data generated by the 3DO SDK compression library
$ 3ct compress example.txt
- input:
- filepath: example.txt
- size_in_bytes: 1024
- size_in_words: 256
- output:
- filepath: example.txt.compressed
- size_in_bytes: 144
- size_in_words: 36
$ 3ct check
* output of 3ct compressor matches SDK
* output of 3ct decompressor matches SDK
- Reverse engineer Game Guru compression format and add to 3ct
- Rework and modernize compression code
- https://3dodev.com
- https://3dodev.com/documentation/development/opera/pf25/ppgfldr/pgsfldr/spg/14spg
- https://github.com/trapexit/portfolio_os_m2/tree/master/ws_root/src/tools/comp3do
- https://github.com/trapexit/portfolio_os_m2/tree/master/ws_root/src/tools/decomp3do
If you find 3ct useful please consider supporting its ongoing development.