og-bff/README.md
2026-08-07 18:29:18 -04:00

140 lines
7.8 KiB
Markdown

# bff
BigFile Friend
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/widberg/bff/build.yml)](https://github.com/widberg/bff/actions)
[![GitHub Release](https://img.shields.io/github/v/release/widberg/bff?include_prereleases&sort=semver&display_name=release)](https://github.com/widberg/bff/releases)
[![Release Nightly](https://img.shields.io/badge/release-nightly-5e025f?labelColor=301934)](https://github.com/widberg/bff/releases/tag/nightly)
[![Join the chat at https://discord.gg/CQgMNbYeUR](https://img.shields.io/badge/chat-on_discord-7389D8.svg?logo=discord&logoColor=ffffff&labelColor=6A7EC2)](https://discord.gg/CQgMNbYeUR)
The Zouna Swiss Army knife. Originally named BigFile Friend for Zouna's resource archives, it now supports far more than just BigFiles.
<sup>This repository is a relative of the main [FMTK repository](https://github.com/widberg/fmtk).</sup>
## Support
A ✔ indicates that the format has been tested and is working. An ❌ indicates that the format is not yet implemented. A ⚠️ indicates partial/incomplete support.
### BigFile
| Year | Game | Status |
|------|---------------------------------------------------------------------------------------------|--------|
| 2002 | Jimmy Neutron: Boy Genius - BigSky | ✔ |
| | SpongeBob SquarePants: Revenge of the Flying Dutchman - BigSky | ✔ |
| | Spirits & Spells (Castleween) (Mahou no Pumpkin) - Wanadoo | ✔ |
| 2003 | Super Farm - Asobo | ✔ |
| 2004 | Sitting Ducks - Asobo | ✔ |
| | The Mummy: The Animated Series - Asobo | ✔ |
| 2005 | CT Special Forces: Fire for Effect (Nemesis Strike) - Asobo | ✔ |
| | Ratatouille (Prototype) - Asobo | ✔ |
| 2006 | Garfield: A Tail of Two Kitties (Garfield 2) - Asobo | ✔ |
| | Championsheep Rally - Black Sheep | ✔ |
| 2007 | Ratatouille - Asobo | ✔ |
| | The Ugly Duckling and Me - Black Sheep | ✔ |
| | En Taxi avec Oui-Oui - Black Sheep | ✔ |
| 2008 | WALL-E - Asobo | ✔ |
| | The Magic Roundabout - Black Sheep | ✔ |
| | Shaun White Snowboarding/Shaun White Snowboarding: Road Trip (Prototype) - Ubisoft Montreal | ✔ |
| | Shaun White Snowboarding/Shaun White Snowboarding: Road Trip - Ubisoft Montreal | ✔ |
| | Warning: Code De La Route - Black Sheep | ✔ |
| 2009 | FUEL - Asobo | ✔ |
| | Up - Asobo | ✔ |
| | Shaun White Snowboarding: World Stage - Ubisoft Montreal | ✔ |
| 2010 | Toy Story 3 - Asobo | ✔ |
| | Racket Sports/Racquet Sports/Racket Sports Party - Asobo | ✔ |
| | Happy Neuron Academy - Black Sheep | ✔ |
| 2012 | Kinect Rush: A Disney-Pixar Adventure - Asobo | ✔ |
| 2013 | Super Farm (Re-release) - Asobo | ✔ |
| 2014 | Monopoly Plus/Monopoly Deal - Asobo | ✔ |
| 2015 | The Mighty Quest for Epic Loot - Ubisoft Montreal | ✔ |
| 2016 | Young Conker - Asobo | ✔ |
| | Fragments - Asobo | ✔ |
| 2017 | Rush: A Disney-Pixar Adventure (Re-release) - Asobo | ✔ |
| | Monopoly Plus/Monopoly Deal/Monopoly for Nintendo Switch (Re-release) - Asobo | ✔ |
| 2019 | A Plague Tale: Innocence - Asobo | ⚠️ |
| 2020 | Microsoft Flight Simulator - Asobo | ⚠️ |
| 2022 | A Plague Tale: Requiem - Asobo | ⚠️ |
| 2024 | Microsoft Flight Simulator 2024 - Asobo | ❌ |
### TSC
| Format | Status |
|--------|--------|
| tsc | ✔ |
| csc | ✔ |
| psc | ✔ |
| CPS | ✔ |
These formats from Black Sheep Studios games also use the CSC cipher and therefore work with the `crypt`/`uncrypt` commands using `--algorithm csc`. They aren't actually TSCs, but they are text based configuration formats, so I'll include them here.
| Format | Status |
|--------|--------|
| cmf | ✔ |
| cgf | ✔ |
| cst | ✔ |
This format is from The Mighty Quest for Epic Loot. Again, it's not actually a TSC file, but it is an encrypted and compressed archive format used for storing JSON configuration files, so I'll include it here.
| Format | Status |
|-----------------|--------|
| settings.bin | ✔ |
### Audio
These formats are low priority since they can all be played using the instructions on the [FMTK Wiki Asobo Audio Formats page](https://github.com/widberg/fmtk/wiki/Asobo-Audio-Formats). The implementation of these formats is being tracked in [issue #27](https://github.com/widberg/bff/issues/27).
| Format | Status |
|---------|--------|
| SoundBF | ❌ |
| AIF | ❌ |
| JOE | ❌ |
| VAI | ❌ |
### Archive
| Format | Status |
|---------|--------|
| FAT+LIN | ✔ |
## Patterns
The [ImZouna](https://github.com/widberg/ImZouna) and [zouna-templates-docs](https://github.com/SabeMP/zouna-templates-docs) repositories have binary patterns for Zouna data structures. Even formats that are not supported by bff have patterns in these repositories.
## Showcase
These cool projects use bff. Join the [Zouna Underground Discord](https://discord.gg/CQgMNbYeUR) or open an issue to let me know if you made something cool and I'll add it here.
### `ratatouille_converter.py`
Ahmed Khaled's [`ratatouille_converter.py`](https://gist.github.com/widberg/2abbbca02b532104bd32cc27743fa9f6#file-ratatouille_converter-py) script converts BMFONT FNT XML files to bff Fonts_Z JSON files.
## Getting Started
### Install Release
Stable versioned releases can be found on the [Releases page](https://github.com/widberg/bff/releases).
### Install Nightly
If you want the latest bug fixes and improvements, use the [nightly release](https://github.com/widberg/bff/releases/tag/nightly).
### Build from Source
#### Checkout
```sh
git clone https://github.com/widberg/bff.git
cd bff
```
#### Build
```sh
cargo build --release
```
#### Test
```sh
cargo +nightly test --release
```