ROM Hack Translation Project Cardfight Vanguard!! Stride to Victory - Looking for collaborators on translation

  • Thread starter Thread starter iiprisma
  • Start date Start date
  • Views Views 8,048
  • Replies Replies 17
  • Likes Likes 3

iiprisma

Member
Newcomer
Joined
Apr 2, 2025
Messages
11
Reaction score
14
Trophies
2
Age
22
XP
96
Country
United States
Hi there!
I am working on translating Cardfight Vanguard!! Stride to Victory, for the 3ds.
The 3ds is my favorite console and I’m super nostalgic for the early G era of Vanguard.
I know there were efforts by others to translate this 6+ years ago, but none seem to have been fruitful, and no one who commented has been on the forum in a couple years so I figured I’d make a new post.
I have spent a while looking through the game files and figuring out how the game stores text and images. I have a basic proof of concept of being able to edit images, and translate text, with the results displaying correctly in game. Though I haven’t tested as thoroughly as I will, I’m pretty confident I could complete the technical side of the translation, but it would be tedious, and there might be some issues. At this point I am looking for anyone who has experience with reverse engineering and writing scripts to assist with making this process work faster. Understanding what I think are dialog flow markers etc.

For example, I’m still not 100% sure if certain strings are referenced in multiple locations within different sentences. A way to reconstruct the script binary files into more structured dialog we could work with would be helpful.
I’m working with IDA to understand this, so my understanding should improve, but I only have a little experience. I’m doing a lot of learning as I go, so anyone else also interested in working on this would make it much faster!
I do not speak Japanese, so if there is anyone who does who would like to do translation work, I’m sure that would make the project much better. Otherwise, since the game is not dialog heavy, Google translate and such should suffice for the bulk of it — certainly at least for menus and card effects.

If there’s any more info I can provide, let me know. If you’re interested in working on this with me, please let me know!
 
1743884057722.png

Figured out how the game holds strings more thoroughly! Took a while for me to figure out exactly how the game decompresses its scripts.
Still looking for anyone who would like to work on this with me! You can message me on discord at .nectarios if you wish, or reply here.
 
I'm currently playing Dear Days. I really hope I’ll get to play the 3DS titles too, even just having the card effects translated would be great. I can’t really help with your project but I’m definitely looking forward to it.
 
  • Like
Reactions: iiprisma
Making more progress! I've identified the basic principles of how the game stores text.
For event specific text -- it's stored in the .rtz files, in UTF16-LE text. The .rtz files are initially gzip compressed with a 4 byte header preceding the gzip magic number, which is the size of the decompressed file.
Within the rtz file we initially have a header in ascii with a bunch of include files and so on:

1 00 0A 1E 73 72 63 2F 66 69 67 68 74 2F 73 63 72 ...src/fight/scr 2 69 70 74 2F 63 61 72 64 5F 6C 69 73 74 2E 72 74 ipt/card_list.rt 3 73 0B 3C 62 75 69 6C 69 74 2D 69 6E 3E 17 3C E3 s..<ã 4 82 B3 E3 83 9E E3 83 B3 E3 83 89 E3 83 A9 E3 82 ‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚ 5 A4 E3 83 B3 3E 14 2E 2F 73 63 72 69 70 74 2F 63 ¤ãƒ³>../script/c 6 6F 72 65 2F 63 6F 72 65 2E 68 0E 2E 2F 73 63 72 ore/core.h../scr 7 69 70 74 2F 67 65 6E 2E 68 15 2E 2F 73 63 72 69 ipt/gen.h../scri 8 70 74 2F 63 6F 72 65 2F 66 6C 6F 61 74 2E 68 13 pt/core/float.h. 9 2E 2F 73 63 72 69 70 74 2F 63 6F 72 65 2F 73 74 ./script/core/st

Then there a number of structured sections and data sections which I do not understand. But at the end, thbere's a structured data section, followed by what seems to be a fairly plain list of all strings. The irregular size of the strings and their dividers (which are an odd number of bytes) makes it hard to show here.

As for effect text for cards, as well as system text, it's not in the romfs or any individual file at all, but in the read ony section of the exefs binary.

So yeah, going well with this. My objectives currently are this:
- Identify string length definitions, beginning by figuring out the structured data section directly above the strings in .rtz files
- Develop a tool to extract all effect strings and replace them with English effects. Im going to explore using the wiki to automate this, but that depends on how normalized the effect data is on there.

As always, if you have experience with reverse engineering, please let me know if you want to work on this!
 
  • Like
  • Love
Reactions: Moogley and HimJow
Well, another day another update! Having so much fun working on this. I made a tool to translate the effect and menu strings !
1744318683523.png

Only issue is...... there's thirteen thousand of them. But no problem! Because there are 2 thousand or so cards, and each card has three or four strings for it.. one for info, one for effects, etc... So all I have to do it identify them and then use these ids to finds the right text from a wiki, format it, and insert..... It probably sounds harder than it will be.


but since its this far, and i have a completely working tool, if youd like to help translate japanese to English, your help would be both appreciated and easy to implement!
 
  • Love
Reactions: HimJow
1744492250971.png

95% of card names are now translated! I was able to write a script that did it by automatically abbreviated words and stuff to bring things within string limits. Its not all pretty but all the card names Ive looked at are legible. If i find any names that are difficult to parse as I continue working, Ill update them.
Next to work on is flavor text, as I should be able to match that against my japanese and english card text pair db pretty easily, and input the english translation. The booster set identifier is also in this string, so ill be able to handle those.

The most difficult will be effects. The card effect strings look like this:
1744492728917.png

As you can see, the game stores a number of strings as refs to images (@07 is the power symbol for example). I made a very basic literal string matcher to try to identify as many as possible, but without creating a comprehensive list of the meanings of these control codes and accounting for the formatting differences between the website i scraped my effect db from and the game's formatting, I wont be able to do this fully automatically.
 
  • Love
Reactions: HimJow
Still working on figuring out the control code meaning

00 - R
15 - 【カウンターブラスト】- (Counterblast)
07 - Power
12 - 【リミットブレイク】(4) - (Limit Break 4)
0F -【永】- (CONT)
06 - 【(V)/(R)】- (V/R)
13 - 【ソウルチャージ】- (Soulcharge)
0E - 【自】- (\[A]/Auto]

The tool is pretty stable so I will put it on Github and share it as soon as I iron out a couple bugs and write some documentation -- probably in my next update.
I was able to translate almost all the flavor text (leaving artist names untranslated cause thats what the English cards do)

1744760656536.png
 
Hi! I have a few questions:
  1. Can new cards be added to the game?
  2. Is it possible to change or add characters that are not in the game (like Kazumi or Kazuma) just by replacing their images, without modifying animations or other features?
  3. Will the tool you used be made available?
 
Last edited by Deleted member 749675,
Hi! I have a few questions:
  1. Can new cards be added to the game?
  2. Is it possible to change or add characters that are not in the game (like Kazumi or Kazuma) just by replacing their images, without modifying animations or other features?
  3. Will the tool you used be made available?
HI there!
In terms of adding new cards to the game, it would be quite difficult. I have not looked into either the actual gameplay logic or how it manages lists of available cards.
It would be possible to change the artwork of characters, but it wouldn't be quite as simple as changing a single image. Characters have special tilesets which contain all their expressions and so on.
1745706620880.png


As for the tool, yes, I will release it as soon as its at a stable point and able to be used without knowing what breaks and what works and so on
 
Hello,
Some news from my end, I've been able to understand a bit of the structure of the executable code
and develop a few tools.

I've been able to develop a script that uses the pointers exported via ida to retrieve the zones to be translated
I've tried a LOT of methods to try and realign the pointers so that I'm no longer dependent on the size of the blocks (including writing at the end of the file)
but I haven't had any conclusive results (I hope that one day someone with the necessary know-how will be able to look into this).

I developed a tool to decompress / recompress correctly the .rtz in batches

I made a script to translate them automatically unfortunately in game I often have bugs :/

I've created a github repo with the tools and a wiki for tracking (feel free to submit merge requests or forks)
you can ping me on the GBA Temps at Winter discord
 
Hello,
Actually we have be able to know all steps for game translation :
1. code.bin traduction, for card effect, names, system message :
- technical_method : OK
- trad : PARTIAL, only auto trad via batch
- check : N/A
2. RTZ traduction, for dialogs and others texts :
- technical_method : PARTIAL we know how to trad text but we have issues
- trad : PARTIAL, only auto trad via batch
- check : N/A
3. CTPK traduction for visual elements traduction :
- technical_method : IN_PROGRESS i work on it actually but the ctpk format of fuRyu isn't standard
- trad : N/A
- check : N/A
4. Global patch :
- technical_method : N/A
- trad : N/A
- check : N/A
Actually we need help about reverse engineering on RTZ or CTPK, i've also make wiki to follow progress
If you want to help you can ping me on the GBA temp Discord => @Winter or add me => torti_chopi or iiprisma => .nectarios
 
Hi Id love to help on this project. My discord is mr.kawaski, ive played vanguard as a kid and the g era was my favorite. I would love to run a gold paladin deck again on the 3ds so I want to put my entire skills into helping this project :}.
 
Last edited by chrislucky77,
Hi there! I've just discovered this thread, and I'm really excited that work is ongoing on this! Unfortunately, I don't have any relevant skills to help with this, but I just wanted to say great job so far!
 
Hi, any news about this project? I play the game in my 3DS, but it's really hard to remember all the card effect... If I can help event if i'm not a expert, let me know
 
Hey my discord is Squizzy_cp3, please add me, I would like to know if there is any way I can support this game!
 
Hello,
Actually we have be able to know all steps for game translation :
1. code.bin traduction, for card effect, names, system message :
- technical_method : OK
- trad : PARTIAL, only auto trad via batch
- check : N/A
2. RTZ traduction, for dialogs and others texts :
- technical_method : PARTIAL we know how to trad text but we have issues
- trad : PARTIAL, only auto trad via batch
- check : N/A
3. CTPK traduction for visual elements traduction :
- technical_method : IN_PROGRESS i work on it actually but the ctpk format of fuRyu isn't standard
- trad : N/A
- check : N/A
4. Global patch :
- technical_method : N/A
- trad : N/A
- check : N/A
Actually we need help about reverse engineering on RTZ or CTPK, i've also make wiki to follow progress
If you want to help you can ping me on the GBA temp Discord => @Winter or add me => torti_chopi or iiprisma => .nectarios
Hi,
Unfortunately, due to a lack of motivation, the project is still at the same stage.
You can always add me on Discord (username: torti_chopi) to join the server (please mention that you're there for this).
I'm here if you have any questions.
 

Site & Scene News

Popular threads in this forum