Ace Attorney Trilogy
(English to spanish translation)
(English to spanish translation)
Demo
This is the first patch of the game. It includes only the first case of the first game.
It's a xdelta patch included with the patcher:
https://drive.google.com/open?id=0B_1lyUjGUKi2Y3Q5NjhHS0pVS2s
Have Fun!
Join our Discord
The discord is no longer active, due to the project being completed. I do not have the final patch at hand, since I wasn't part of the project when it concluded. Therefore I can not share it here.
Information
Release: 09 Dec 2014
Genre: Adventure
Publisher: Capcom
Goal of the project
Our goal is it to translate the whole game from english to spanish. We want to translate all pictures, dialogues and sound effects.
Team
Leader: @mister_gamer
Programmer/Hacker: @onepiecefreak
Translation in general: CTPache, Teolicht, DaniFey, Angelo, Kamikaze11
Progress:
Hacking: 100%
Graphics: 40%
Text: 10%
Sound: 100%
Screenshots/Proof of concept:
The images are expired and no longer available.
Files and information
Filetree:
sound/
pack.dat
sound/
A folder which contains very clearly all the background music and sound effects. The voices are packed in the GS123.bcsar and the GS123.xml is used to map the data in the .bcsar. To extract and repack this Sound Archive use bcsar.py in our tools folder.
pack.dat
This file contains all files excluding sounds and music used by the game. Textures, animations, scripts, dialogues, fontsheets etc. The file itself is compressed with lz11.
pack.inc
This is the index for the pack.dat. This file contains 20 Byte of information for every file in the pack.dat.
Until now we found these file types in the extracted pack.dat:- first 4 Bytes: Contains the offset at which the lz11-compressed file begins in the pack.dat
- second 4 Bytes: Is always 0 and maybe irrelevant for this game.
- third 4 Bytes: The uncompressed size of the file in Bytes
- fourth 4 Bytes: The compressed size of the file in Bytes
- fifth 4 Bytes: The hash of the original file name. It's a custom hashing algorithm for this game. You can use it for example to switch japanese with english graphics. So you can have japanese textures but the text is in english.
- BCH: Contains textures. It includes a header with information for the file, a footer with unknown purpose and the texture itself compressed with 1 of 4 picture compressions. The 4 compressions are ETC1, ETC1A4, RGB565 and another unknown compression for the 3D evidences.
- CFNT: These files are the font-sheets. As of now we can convert these fontsheets with an already written tool. A documentation and the tool to convert them can be found here: https://www.3dbrew.org/wiki/BCFNT
- ANS: It seems like some kind of animation file. It's used to let a texture move on the screen. Examples for that are the "Objection", "Hold it", "Take that"-textures. They have one ANS-file set before them, with most of the same content, because they move nearly exactly the same on screen. We don't know if these files are compressed or not.
- MCOL: A file found very rarely, but it exists. It's purpose and possible compression is unknown.
- DLG: A file containing the dialogues.
- All other files don't have a specific header. We assume that these files may contain scripts for both, japanese and english. But there is no need for understanding them.
- 48.bin: This file is just empty. In compressed or decompressed state it's just 0's and it seems it has no purpose for now.
Tools
All tools we use can be found here:
https://mega.nz/#F!ZtJmXYzD!1XgA_iO4B6Tm2kef1kSUxQ
- BchPngConv2.py: Can convert nearly every BCH file found in the pack.dat to an editable PNG and inject it back to it's original BCH file. It can convert all 4 used picture compressions.
- etc1tool.exe: The main tool written in C++. It's used by the python scripts to compress raw pixels to BCH-data and to decompress BCH-data to raw pixels. It can de/compress ETC1 and ETC1A.
- packTool.py: Can extract the pack.dat to all it's contents. After that it can repack all files to a new working pack.dat and pack.inc
- dsdecmp.exe: A tool to de/compress the lz11-compression of the pack.dat files.
- bffnt.py: A tool originally written by @ObsidianB and edited by @onepiecefreak . This tool is used to extract .cfnt files into a .json and a .png file and repack them back to a .cfnt.
- dlgTool2.py: A tool that extracts a .dlg file into separate txt files to edit them. It can convert these files back to a new .dlg file.
- dlgComp.exe: Used in dlgTool.py to compress the converted txt files with lz10.
- bcsar.py: Used to extract and repack the .bcsar. It will create a bunch of binary files and .bcwav files. You can use the audacity version included in our tools folder to open bcwav files and to export other audio formats to bcwav.
- codePatcher.py: Patches the uncompressed code.bin for better glyph widths in the universal font.
Requisites
In order to use the tools, you have to install the following:
- Python 2.7 (not 3.0+)
- Python Image Library 1.1.17
- Python PNG Module (for bffnt.py)
- .NET Framework 4.6.1+
- Visual Studio 2015
- Visual C++ Redistributable
Help needed
All dialogues, pictures and voices are no longer a problem. If there are any questions, don't hesitate to ask in this thread or with PM.
Last edited by onepiecefreak,