/3ct

3DO Compression Folio compatible compressor/decompressor

Primary LanguageC++

3ct: 3DO Compression Tool

A port of the 3DO SDK's compression library to modern platforms with a command line tool.

Usage

$ 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

TODOs

  • Reverse engineer Game Guru compression format and add to 3ct
  • Rework and modernize compression code

Documentation

Donations / Sponsorship

If you find 3ct useful please consider supporting its ongoing development.

https://github.com/trapexit/support