1. onepiecefreak

    OP onepiecefreak Kuriimu 2 Developer
    Member

    Joined:
    Aug 12, 2015
    Messages:
    500
    Country:
    Germany
    Ace Attorney Trilogy
    (English to spanish translation)

    [​IMG]

    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
    [​IMG]

    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:
    [​IMG]
    [​IMG]
    [​IMG]

    Files and information
    Filetree:
    sound/
    A folder which contains very clearly all the backgroundmusic and soundeffects. 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 but 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.
    • first 4 Bytes: Contains the offset at which the lz11-compressed file begins in the pack.dat
    • second 4 Bytes: Is almost 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: It's like an ID for the file. You can use it for example to switch japanese with english graphics. So you can have japanese textures but the text is in english.
    Then there begins the next 20 Bytes for the next file.
    Until now we found these file types in the extracted pack.dat:
    • 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 haven't a specific header. We assume that these files maybe 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, Mar 6, 2017
  2. mister_gamer

    mister_gamer Advanced Member
    Newcomer

    Joined:
    Dec 5, 2015
    Messages:
    62
    Country:
    We need help with the project!! Go go go!!
     
  3. matheus abreu

    matheus abreu Member
    Newcomer

    Joined:
    Sep 8, 2016
    Messages:
    28
    Country:
    Brazil
    Using pwse 0.2 I had extracted the .bin dialogues.

    But I have no idea how to repack it.
     
    Last edited by matheus abreu, Nov 20, 2016
  4. Gurumeditation

    Newcomer

    Joined:
    May 18, 2016
    Messages:
    19
    Country:
    Gambia, The
    Where did you find the BIN-Files at the 3DS-Game?
     
  5. onepiecefreak

    OP onepiecefreak Kuriimu 2 Developer
    Member

    Joined:
    Aug 12, 2015
    Messages:
    500
    Country:
    Germany
    @Gurumeditation The game's main content is packed into 2 files, the pack.dat and pack.inc. In the pack.dat there are all these "BIN-Files". They are only named .bin because the purpose weren't clear. If you use the packTool.py mentioned in the thread you can extract the pack.dat and get all files from it.

    @matheus abreu Does this program extract the dialogues as plain text, so that you can read and edit them? Or just as a .bin file? The repack part comes if we could edit the text successfully. Then I can write a tool for that.
     
  6. mister_gamer

    mister_gamer Advanced Member
    Newcomer

    Joined:
    Dec 5, 2015
    Messages:
    62
    Country:
    You mean the DS dialogues or the 3DS trilogy ones? @matheus abreu
     
  7. onepiecefreak

    OP onepiecefreak Kuriimu 2 Developer
    Member

    Joined:
    Aug 12, 2015
    Messages:
    500
    Country:
    Germany
    Ok, I just tried the PWSE. I don't know if what we have here is the text to edit. But I try to inject the text. Thx for that hint.
     
    matheus abreu likes this.
  8. matheus abreu

    matheus abreu Member
    Newcomer

    Joined:
    Sep 8, 2016
    Messages:
    28
    Country:
    Brazil
    3DS trilogy.

    You can split bin files in more scripts and then convert they in .txt.
     
  9. onepiecefreak

    OP onepiecefreak Kuriimu 2 Developer
    Member

    Joined:
    Aug 12, 2015
    Messages:
    500
    Country:
    Germany
    Yh, I had already figured that out. I could use the tool. I will write a usable tool for our project. Thx for your hint to PWSE. That helped.
     
    matheus abreu likes this.
  10. Gurumeditation

    Newcomer

    Joined:
    May 18, 2016
    Messages:
    19
    Country:
    Gambia, The
    Nice to know.
    The question I ask myself: Are the files identical with the dialog-files to the NDS Files? If yes,
    it would be very simple to make the translation for the dialoges. But its only a dream. From the perspective of the developers i would have implemented this way to save money in the development.
     
    Last edited by Gurumeditation, Nov 21, 2016
  11. onepiecefreak

    OP onepiecefreak Kuriimu 2 Developer
    Member

    Joined:
    Aug 12, 2015
    Messages:
    500
    Country:
    Germany
    As I can see it is indeed just the 3 games packed in this. The dialogue files are, as far as I can tell for now, very similar or maybe really the same. They seem the to use the same commands and mostly the same text. As well as the same encoding for the letters.
     
  12. Gurumeditation

    Newcomer

    Joined:
    May 18, 2016
    Messages:
    19
    Country:
    Gambia, The
    Ouh thats soundy very good. :)
    So only it needs some scripty/tools to reconvert the files after editing.
     
  13. onepiecefreak

    OP onepiecefreak Kuriimu 2 Developer
    Member

    Joined:
    Aug 12, 2015
    Messages:
    500
    Country:
    Germany
    I'm working on it now. We'll see how long it will take.
     
  14. zongalito

    zongalito GBAtemp Regular
    Member

    Joined:
    Dec 9, 2013
    Messages:
    136
    Country:
    Cote d'Ivoire
    Finally i'm glad that this is happening
    mucha suerte!
     
  15. onepiecefreak

    OP onepiecefreak Kuriimu 2 Developer
    Member

    Joined:
    Aug 12, 2015
    Messages:
    500
    Country:
    Germany
    Just updated our Thread. We can now completely focus on the translation.
     
  16. onepiecefreak

    OP onepiecefreak Kuriimu 2 Developer
    Member

    Joined:
    Aug 12, 2015
    Messages:
    500
    Country:
    Germany
    We now solved our last graphics problem. With that we're now able to edit everything needed in order to translate the game.
     
  17. matheus abreu

    matheus abreu Member
    Newcomer

    Joined:
    Sep 8, 2016
    Messages:
    28
    Country:
    Brazil
    How did you edit the court record/back/present buttons?
     
  18. mister_gamer

    mister_gamer Advanced Member
    Newcomer

    Joined:
    Dec 5, 2015
    Messages:
    62
    Country:
    Yes. Update in the tools soonTM.
     
    matheus abreu likes this.
  19. Asia81

    Asia81 GBAtemp Guru
    Member

    Joined:
    Nov 15, 2014
    Messages:
    6,032
    Country:
    France
    I'm interested in trying from English to French, thanks for translation hacking infos and tools.
    Let's see
     
  20. Asia81

    Asia81 GBAtemp Guru
    Member

    Joined:
    Nov 15, 2014
    Messages:
    6,032
    Country:
    France
    Ok so I have 1 ->
    Code:
    C:\Users\Asia81\Desktop\Test1\ExtractedRomFS>packTool.py -e pack.dat pack.inc
    Extracting and decompressing files... 48/12942Traceback (most recent call last):
      File "C:\Users\Asia81\Desktop\Test1\ExtractedRomFS\packTool.py", line 152, in <module>
        pref = readu32(bin)
      File "C:\Users\Asia81\Desktop\Test1\ExtractedRomFS\packTool.py", line 24, in readu32
        return struct.unpack("<I",inF.read(4))[0]
    struct.error: unpack requires a string argument of length 4
    What is this error?
     
Loading...

Hide similar threads Similar threads with keywords - [Translation], Attorney, Trilogy