Translation Yu-Gi-Oh! 5D's Tag Force 6 - Translation Project

Screw_the_Rules

Well-Known Member
Member
Joined
Jul 15, 2014
Messages
127
Trophies
0
Age
30
XP
1,259
Country
United States
Everyone who is asking for the patch. Be patient a little while longer. Version 3.0 will be released Christmas of 2021 with lots of more updates to Duelist Slot #3 character stories, overworld text, menu GUI, fixed bugs, and much more. I'll post it on this thread, so just check here at that time. I usually do it right before I go on vacation, so it will be a couple of days before the 25th.

If other people ask after I've posted this, please refer them to this specific post.
 
  • Like
Reactions: MohAim

nzxth2

New Member
Newbie
Joined
Sep 22, 2021
Messages
2
Trophies
0
XP
30
Country
Switzerland
I'd like to take this opportunity to announce that I've released my own English patch for Tag Force 6. You can find it on RHDN and on my Github, however I'm not able to link the repository here, so Google is your friend.
This release addresses several issues that have been brought up in the previous posts and is offered as an alternative, more serious translation.

Here's the full list of changes:
  • The story events for all tier 1 & 2 characters have been retranslated. The original translation has been kept in places where it was already accurate.
  • The overworld dialogs of some characters have been revised. This includes all members of Team 5D’s, as well as most non-duelist NPCs.
  • The names of a few characters have been changed: Fudo Yusei is now Yusei Fudo, the names of Bawnji, Syun and Yuma have been restored.
  • Alphabetical sorting in the deck editor has been fixed.
  • The translations of the Duelist Profiles in the List of Duelists have been replaced with the translations available on Yugipedia (except Crow’s, which had to be translated from scratch).
  • The names and descriptions of all Booster Packs have received a complete retranslation.
  • The title screen has been restored and features a proper Credits splash screen.
  • The BGM has been restored to its original state.
Additionally, tools related to the translation have been made available publically, so everyone should have an easier time working on their own translations.
This includes a proper EHP archive extractor, that can both unpack and repack the contents of an EHP file, and a converter for the strTbl .bin file format, commonly used to store text strings in this game. I've also added the old Story Rebuilders for TF6 & TFSP by Omarrrio into the .7z file that I've attached to this post. Instructions can be found in the included readme.
So if there's something you don't like in this new English patch for example, feel free to take matters into your own hands!

I hope that this encourages all fan-translators and hackers working on this series to make their tools and story scripts public as well. There's nothing to be gained from keeping these things to yourselves, so we might as well collaborate and grow together.
 

Attachments

  • Tag_Force_Translation_Tools.7z
    2.7 MB · Views: 26
Last edited by nzxth2,

MrGrimmBM

Member
Newcomer
Joined
Dec 15, 2020
Messages
8
Trophies
0
Age
24
XP
75
Country
Saudi Arabia
I'd like to take this opportunity to announce that I've released my own English patch for Tag Force 6. You can find it on RHDN and on my Github, however I'm not able to link the repository here, so Google is your friend.
This release addresses several issues that have been brought up in the previous posts and is offered as an alternative, more serious translation.

Here's the full list of changes:
  • The story events for all tier 1 & 2 characters have been retranslated. The original translation has been kept in places where it was already accurate.
  • The overworld dialogs of some characters have been revised. This includes all members of Team 5D’s, as well as most non-duelist NPCs.
  • The names of a few characters have been changed: Fudo Yusei is now Yusei Fudo, the names of Bawnji, Syun and Yuma have been restored.
  • Alphabetical sorting in the deck editor has been fixed.
  • The translations of the Duelist Profiles in the List of Duelists have been replaced with the translations available on Yugipedia (except Crow’s, which had to be translated from scratch).
  • The names and descriptions of all Booster Packs have received a complete retranslation.
  • The title screen has been restored and features a proper Credits splash screen.
  • The BGM has been restored to its original state.
Additionally, tools related to the translation have been made available publically, so everyone should have an easier time working on their own translations.
This includes a proper EHP archive extractor, that can both unpack and repack the contents of an EHP file, and a converter for the strTbl .bin file format, commonly used to store text strings in this game. I've also added the old Story Rebuilders for TF6 & TFSP by Omarrrio into the .7z file that I've attached to this post. Instructions can be found in the included readme.
So if there's something you don't like in this new English patch for example, feel free to take matters into your own hands!

I hope that this encourages all fan-translators and hackers working on this series to make their tools and story scripts public as well. There's nothing to be gained from keeping these things to yourselves, so we might as well collaborate and grow together.
This is a godsend, thanks for this!
 

nzxth2

New Member
Newbie
Joined
Sep 22, 2021
Messages
2
Trophies
0
XP
30
Country
Switzerland
In the past I've read about people having difficulties editing the card descriptions, as the file containing those descriptions seems to be encoded/compressed. I have released another tool that should solve these problems:

Code Talker

ULJM05940_00003.jpg


The Code Talker tool can decode the CARD_Desc_J.bin file found inside the cardinfo_jpn.ehp archive into a readable text file. It can also encode that file back, allowing you to edit the card descriptions in the game. The usage can be a bit tricky though, so I suggest carefully reading the readme.txt bundled with the release. Especially the section about DICT files.

I'll now go into the technical details on how the various game files interact during the decoding/encoding process. You don't need to know any of this to use the tool, but it might be interesting/educational for some of you.

CARD_Desc_J.bin
This is the file that contains the actual card descriptions. If you try to open this with a text or hex editor, you'll quickly notice that the text isn't stored in any plain encoding. The file is actually compressed with both Huffman Encoding as well as Dictionary Coding. This was done due to memory constraints I assume. Troublesome for us, but it has brought down the size of the file by about 80%. That's pretty impressive.

CARD_Huff_J.bin
Thank god they named this file the way they did, else we would have to blindly guess which encoding method they had used. As the name suggest, this file contains a binary representation of the Huffman binary tree that is used to decode the encoded file. The file is basically a list of nodes, each node having a left child (first set of two bytes) and a left child (second set of two bytes) and optionally, if both these four previous bytes were null (meaning the node doesn't have any children, making it a leaf node), a third set of two bytes representing the actual character encoded within this node.
For example, if we start at the root node at offset 0x0, the left child of the root node would be at offset 0x04 (first two bytes) and the right child would be at offset 0x1FE (next two bytes). We then repeat this process recursively for all child nodes until we reach a leaf node. There we read and store the character (the third pair of bytes followed by four 0x0 bytes, remember) and backtrack to the last node that still has children. We continue this algorithm until we've traversed the whole binary tree.
The binary tree that we build that way helps us decode the encoded file. We have to read the encoded file bit by bit (not byte by byte!) and, starting at the root node, we have to go down to the left child node if we encounter a 0 bit and to the right child node if we encounter a 1 bit. We do this until we land at a leaf node. The character stored here is the character encoded by the bit sequence we just read. So we print it, go back to the root node and continue reading bits until we're at the end of the file.
During the encoding process, Code Talker dynamically generates a new Huffman tree, which is why it outputs a new CARD_Huff_J.bin file that you will need to use.

DICT_J.bin
Another descriptive file name, how lucky! If we only decode the huffman encoding, we would just find a bunch of codes in the form of $d### (### being a three digit number) amid some readable text. Those are the codes used by the Dictionary coding, where each code represents some long common phrase used in the plain text file. So decoding here really only means replacing each dictionary code with its associated string found in the dictionary file.
The dictionary file is constructed relatively simply: the first four bytes of the header tell us the total number of codes (1000), the next four bytes tell us where the list of offsets starts (0x0C) and the next four bytes tell us where the actual strings start (0xFB0). For example, to replace the code $d002, we get the third offset, which would be the four bytes at 0x0C + 4 * 2. This points us to 0xBF0 + 0x106 = 0x10B6. There we read the string until we encounter a 0x0 byte. In this case we would read "This card can not be Normal Summoned or Set. This card can". This is the string we need to replace each instance of $d002 with. If we do this for all 1000 dictionary codes, we will have fully decoded our text.
You should notice here that the phrases in this dictionary file are all in english. If you just want to edit the file in english, then that's perfect. But it won't do you any good in the encoding process later if you plan to translate your decoded file into another language. In that case you should use one of the other dictionary files bundled in this release during the encoding process. Make sure you pick the one matching your language (spanish, italian, french or german) for best compression results.

CARD_Indx_J.bin
Not as important as the other two files for the decoding process, this file contains the offsets for all card names and card descriptions. In other words, the game uses this file to find out where each name/description starts. When you edit your decoded file, these offsets will more than likely be no longer valid, which is why Code Talker outputs a new CARD_Indx_J.bin file during the encoding process. This means you can edit the card descriptions without worrying about the length of your text, as Code Talker will take care of adjusting the offsets accordingly.

CARD_Name_J.bin
This file contains all the card names and is actually not required for decoding/encoding. But if it is present, Code Talker will use it to attach the corresponding card name to each card description, which makes editing the descriptions a lot easier.

And that's pretty much it. If you got any questions about the tool, feel free to ask. I wrote this for Tag Force 6 specifically, but it should also work with all other Tag Force games I assume, provided you supply it with the correct files from those games. I didn't do much testing though.
Edit: In TFSP, the card descriptions of Qliphort Scout and Qliphort Monolith contain the <> symbols. Make sure to replace those with some other brackets when working on that game, as those symbols are used by Code Talker to separate the the card descriptions during encoding. I should have used some other symbols for that in hindsight, but oh well.
 

Attachments

  • code_talker.7z
    1.2 MB · Views: 5
Last edited by nzxth2,
  • Wow
Reactions: uforgiventGBA

Skeledon

Member
Newcomer
Joined
Oct 20, 2021
Messages
5
Trophies
0
Age
18
XP
10
Country
Germany
Everyone who is asking for the patch. Be patient a little while longer. Version 3.0 will be released Christmas of 2021 with lots of more updates to Duelist Slot #3 character stories, overworld text, menu GUI, fixed bugs, and much more. I'll post it on this thread, so just check here at that time. I usually do it right before I go on vacation, so it will be a couple of days before the 25th.

If other people ask after I've posted this, please refer them to this specific post.
wait i dont get it the game isnt fully translated? the first post says 100% everywhere kinda wondering.
 
General chit-chat
Help Users
    gudenau @ gudenau: Cool story bro.