A set of tools used to undub Baten Kaitos, a Gamecube JRPG developed by
Monolith Soft and tri-Crescendo.

**WARNING**: these tools have not been tested a lot, and I can't promise that
there are no bugs. If you want to play the game in the best conditions, wait
for a stable release of these tools.

What can this be used for?

Most games can be "trivially" undubbed by copying audio files from the JP
version to overwrite those of the US versions. However, this "simple" approach
does not work with Baten Kaitos, for multiple versions:

- The filenames are optimized/obfuscated. There is no directory tree, no file
  extension which could indicate what file contains what data. All files are
  named FILE_<hex32>, with the exception of "index.bin".

- Almost all file formats are custom, requiring extra work to analyze what data
  to copy. Some compression formats used by the game are also custom (AFAICT,
  dictionary based without a compressing bitstream like Huffman).

- The disc is already quite packed and it's hard to find extra space. Some
  sounds need to be reencoded.

- The "index.bin" file is used to find all files and thus need to contain valid
  values. When we copy/create files it must be updated.

As far as I know, I am the first person to make such an undub version of BK.

How to use these tools?

First, you will most likely need to be running a recent Linux distro to use
these tools. Mac OS X *may* work but is not supported (patches are welcomed!).
Windows probably won't work unless you're using something like Cygwin.

Use GC Rebuilder (works with mono, export MONO_IOMAP=all for dirsep issues) to
extract data from US and JP discs. Then, use the undub.sh script like this:

    ./undub.sh <us-dir> <jp-dir> <out-dir>

If everything works fine, the out-dir you specified will contain all the
necessary data to build an undubbed ISO. Then, use GC Rebuilder (check the box
in Options / Do not use game.toc) to build the ISO.

URL to download GC Rebuilder:


Additional considerations

If you distribute an undubbed version of Baten Kaitos (that's illegal, don't do
it!), please consider crediting my work by mentioning my name (delroth) and
linking to this project page or to my blog (http://blog.delroth.net/) :-)

These tools are distributed under the GPLv2 license. Please report any bug you
can find and/or contribute patches!
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.