
[v1.2 released] Translation project COMPLETE (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
-
- fire
- Posts: 71
- Dreamcast Games you play Online: PSOv1/v2
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
Wow, congrats to you, yzb and the rest of the team... keep 'em coming 

- ateam
- Metallic
- Posts: 816
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
It's funny, this is one of those Japanese games where NOTHING was in English, whereas many other Japanese games have at least English menus, etc. Nope, not this one! Other than "PRESS START BUTTON" on the title screen, if you see anything in English, it had to be modified, and I mean literally anything, even the save/load menu. From what I can tell, this is part of the traditional "ambiance" that all of the Sakura Wars games have, which makes sense.
Progress update video: https://www.youtube.com/watch?v=t1wJJkQsL2U
And just for the record, although I'm EXTREMELY GRATEFUL for YZB's insight into where the decompression code exists in the game binary, this was not the method that I used to reverse-engineer and change the compressed images.
This game contains a collection of .RQL files that serve as containers for additional embedded files, and at the top of each .RQL is a header which indexes all of the files inside of it. Every asset in this game is stored this way, from the script text itself, to the menu images, right down to the audio files used for BGM and spoken voices. Some of the .RQL files contain uncompressed files (thank God!), while many, many others have their embedded files compressed in some funky proprietary format.
So, with some outside assistance, I was able to figure out the format of that .RQL header to determine how it points to the location and size of each embedded file. From there, I was able to perform a test to replace compressed images with uncompressed images to see if the game would at least display them properly. I got extremely lucky here and whaddaya' know, it worked! It turns out that at the beginning of each file, there are four bytes that tell the game if the file is compressed or uncompressed.
Once I saw that the game would successfully render uncompressed textures where it was previously expecting compressed textures, I used RetroArch+FlyCast to dump textures to PNG format, which essentially gave me access to the original source images without having to reverse-engineer the proprietary compression method used by the game. The gigantic challenge here, however, is that it then becomes a guessing game of trial-and-error to determine with .RQL contains the compressed images I need to replace, and then furthermore, which embedded files inside of that .RQL are the actual compressed image that I need to swap out.
Unfortunately, doing a RAM dump with esperknight's modified version of NullDC wasn't helpful in locating the original .RQL and its embedded file, since that RAM dump contains the uncompressed version of the PVR texture. However, seeing as how I'm dedicated to giving this game the polish it deserves, I kept on trying until I identified all of the images for the title screen and main menu. The only part of the menu left to translate is some of the text in the Settings Menu, but I will get to that shortly.
Other than that, the current action items are as follows:
Anyway, this project is really, really shaping up to be something beautiful! Me and the rest of the team can't wait to publicly share it with the world!
Progress update video: https://www.youtube.com/watch?v=t1wJJkQsL2U
And just for the record, although I'm EXTREMELY GRATEFUL for YZB's insight into where the decompression code exists in the game binary, this was not the method that I used to reverse-engineer and change the compressed images.
This game contains a collection of .RQL files that serve as containers for additional embedded files, and at the top of each .RQL is a header which indexes all of the files inside of it. Every asset in this game is stored this way, from the script text itself, to the menu images, right down to the audio files used for BGM and spoken voices. Some of the .RQL files contain uncompressed files (thank God!), while many, many others have their embedded files compressed in some funky proprietary format.
So, with some outside assistance, I was able to figure out the format of that .RQL header to determine how it points to the location and size of each embedded file. From there, I was able to perform a test to replace compressed images with uncompressed images to see if the game would at least display them properly. I got extremely lucky here and whaddaya' know, it worked! It turns out that at the beginning of each file, there are four bytes that tell the game if the file is compressed or uncompressed.
Once I saw that the game would successfully render uncompressed textures where it was previously expecting compressed textures, I used RetroArch+FlyCast to dump textures to PNG format, which essentially gave me access to the original source images without having to reverse-engineer the proprietary compression method used by the game. The gigantic challenge here, however, is that it then becomes a guessing game of trial-and-error to determine with .RQL contains the compressed images I need to replace, and then furthermore, which embedded files inside of that .RQL are the actual compressed image that I need to swap out.
Unfortunately, doing a RAM dump with esperknight's modified version of NullDC wasn't helpful in locating the original .RQL and its embedded file, since that RAM dump contains the uncompressed version of the PVR texture. However, seeing as how I'm dedicated to giving this game the polish it deserves, I kept on trying until I identified all of the images for the title screen and main menu. The only part of the menu left to translate is some of the text in the Settings Menu, but I will get to that shortly.
Other than that, the current action items are as follows:
- • The translation team is continuing to translate the Japanese script for Story Mode into English.
• I will continue to use trial-and-error to find a few other assets I want to transfer (like the title screen at the beginning of each character's Story Mode).
• Continue to test, test, test!
Anyway, this project is really, really shaping up to be something beautiful! Me and the rest of the team can't wait to publicly share it with the world!
Find me on...
• DreamcastForever.com
• GitHub
• Reddit
• SegaXtreme
• Twitter
• YouTube
• Discord: derek.ateam
• DreamcastForever.com
• GitHub
• SegaXtreme
• YouTube
• Discord: derek.ateam
-
- Developer
- Posts: 138
- Dreamcast Games you play Online: pso
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
Good luck, if you want to enter the original DreamPassport web browser
it's actually really easy
Enter the 1st file address: 0x120638
2FD33265
changed to
0b0000e0
Save it
So you can go in, but there is nothing special in it, and even an archive that comes with it needs to be manually input to download. Of course, you can modify the htm file to make a hyperlink
Finally good luck.........
it's actually really easy
Enter the 1st file address: 0x120638
2FD33265
changed to
0b0000e0
Save it
So you can go in, but there is nothing special in it, and even an archive that comes with it needs to be manually input to download. Of course, you can modify the htm file to make a hyperlink
Finally good luck.........
-
- Quad Damage
- Posts: 198
- Dreamcast Games you play Online: PSO
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
Great story about the RQL files, I hope you eventually document the format in the translation docs, maybe more games use it.
- ateam
- Metallic
- Posts: 816
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
Thank you for the information. However, I'm trying to understand what advantage this will give me. Is there something I'm missing?yzb wrote:Good luck, if you want to enter the original DreamPassport web browser
it's actually really easy
Enter the 1st file address: 0x120638
2FD33265
changed to
0b0000e0
Save it
So you can go in, but there is nothing special in it, and even an archive that comes with it needs to be manually input to download. Of course, you can modify the htm file to make a hyperlink
Finally good luck.........
Right now, I have the original website cached/archived and stored directly on the disc so that players can browse the original page and even download the extra puzzle level DLC onto their VMU. This is exactly what I set out to achieve and it works perfectly. The only thing that hasn't been is the translation of the webpages themselves (.html files).
Thanks YZB

Find me on...
• DreamcastForever.com
• GitHub
• Reddit
• SegaXtreme
• Twitter
• YouTube
• Discord: derek.ateam
• DreamcastForever.com
• GitHub
• SegaXtreme
• YouTube
• Discord: derek.ateam
- ateam
- Metallic
- Posts: 816
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
Yeah, I haven't actually checked the other Sakura Wars games for Dreamcast yet, but given SEGA's known habits with these sort of things, I would more than likely expect that same format to be used.colgate wrote:Great story about the RQL files, I hope you eventually document the format in the translation docs, maybe more games use it.
I currently have a CLI utility which will extract and rebuild these RQLs, which of course I will share.
Find me on...
• DreamcastForever.com
• GitHub
• Reddit
• SegaXtreme
• Twitter
• YouTube
• Discord: derek.ateam
• DreamcastForever.com
• GitHub
• SegaXtreme
• YouTube
• Discord: derek.ateam
- Bob Dobbs
- Sub Genius
- Posts: 4413
- Dreamcast Games you play Online: PSO, AFO, PBA, 4x4 Evo, IGP, Planet Ring and Max Pool
- Location: USA
- Contact:
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
Great work! I only played Divi Dead of this type of game but I will be testing this one out.
Regards,
Bob Dobbs
Bob Dobbs
- ateam
- Metallic
- Posts: 816
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
Quick update... not only is the original Japanese website hosted on-disc, but I also created a separate landing page just for downloading the three DLC puzzles, as well as a fully 100% unlocked save. There's a lot of cool content in this game, and I wanted to ensure that everybody had the chance to see it all!

On top of that, I'd say about 80% of images are translated, with the other 20% or so being obscured by the game's annoying proprietary compression. While I'll be able to locate some of these and translate them, I suspect that I may not be able to do all of them.
Furthermore, all of the various puzzle modes have been fully translated, the only remainder being Story Mode, which consists of 12 individual character scripts. So far, 4 out of 12 of them have been translated, with 8 to go.
Stay tuned!

On top of that, I'd say about 80% of images are translated, with the other 20% or so being obscured by the game's annoying proprietary compression. While I'll be able to locate some of these and translate them, I suspect that I may not be able to do all of them.
Furthermore, all of the various puzzle modes have been fully translated, the only remainder being Story Mode, which consists of 12 individual character scripts. So far, 4 out of 12 of them have been translated, with 8 to go.
Stay tuned!
Find me on...
• DreamcastForever.com
• GitHub
• Reddit
• SegaXtreme
• Twitter
• YouTube
• Discord: derek.ateam
• DreamcastForever.com
• GitHub
• SegaXtreme
• YouTube
• Discord: derek.ateam
-
- fire
- Posts: 71
- Dreamcast Games you play Online: PSOv1/v2
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
Beautiful HTML landing page!
- ateam
- Metallic
- Posts: 816
Re: Translation project in the works (Sakura Wars: Columns 2 / Hanagumi Taisen Columns 2)
It's like finding a needle in a haystack, but I've managed to locate the compressed images for the story mode title screens! Now I can add the English subtext below the original Japanese title.
https://i.imgur.com/LHvKwmA.mp4
There are other updates on my YouTube channel, including all of the extra content sections of the game being fully translated. The game allows you to replay certain scenes, listen to music from the game, hear special messages from characters, etc. Overall, a lot of work to locate all of the assets and translate them, but it's done!
Major points left right now are:
• Finish translating/inserting the story mode scripts for the remaining characters.
• Finish translating the story mode title screens (seen above) for each character's story.
After that, there is a list of other elusive compressed images I'd like to locate and translate, which include parts of the ending when beat with each character, but I'm still considering those as part of my "Nice to Have" list.
https://i.imgur.com/LHvKwmA.mp4
There are other updates on my YouTube channel, including all of the extra content sections of the game being fully translated. The game allows you to replay certain scenes, listen to music from the game, hear special messages from characters, etc. Overall, a lot of work to locate all of the assets and translate them, but it's done!
Major points left right now are:
• Finish translating/inserting the story mode scripts for the remaining characters.
• Finish translating the story mode title screens (seen above) for each character's story.
After that, there is a list of other elusive compressed images I'd like to locate and translate, which include parts of the ending when beat with each character, but I'm still considering those as part of my "Nice to Have" list.
Find me on...
• DreamcastForever.com
• GitHub
• Reddit
• SegaXtreme
• Twitter
• YouTube
• Discord: derek.ateam
• DreamcastForever.com
• GitHub
• SegaXtreme
• YouTube
• Discord: derek.ateam
-
- Similar Topics
- Replies
- Views
- Last post
-
- 0 Replies
- 7202 Views
-
Last post by gamesreup
-
- 56 Replies
- 454562 Views
-
Last post by Rasputin3000
-
- 34 Replies
- 139659 Views
-
Last post by StealthyStingray
-
- 108 Replies
- 124763 Views
-
Last post by OatBob
-
- 53 Replies
- 360015 Views
-
Last post by Ian Micheal