News: 11 March 2016 - Forum Rules

Author Topic: Super Robot Wars GC English translation (now with actual hacking)  (Read 39174 times)

Dashman

  • Full Member
  • ***
  • Posts: 212
    • View Profile
Re: Super Robot Wars GC English translation (using Dolphin emulator)
« Reply #20 on: July 20, 2014, 07:56:22 am »
I guess now is a good time for a major update.

We managed to translate and edit the first 20 stages (available in the mediafire folder as a pack), but we stopped there.

Why stop? Well, it's pretty much BlackDog61's fault. He came to the project a bit over 2 months ago and started asking stuff. He had so many questions that he actually managed to make me consider some things I had not thought about before and saw that there were far too many inconveniences with the way the project worked. So we put a stop to that.

...And now we're hacking the game! :laugh:

So yes, now we're aiming at creating a patch for the ISO and make the translation run on real hardware. In the past 2 months, we've developed 7 tools for editing the majority of the graphics and text in this game. All of them can be found inside the mediafire folder linked in the first post (which I'll have to edit later). Here's a little peek at some of them, for those who haven't been following the project:








This one is Zoinkity's fault. I wouldn't even know the first thing about tiled images if he hadn't told me, thanks!




The text we have already translated for the first 20 stages can be easily inserted into the game. However, insertion is on hold until we're done implementing the VWF routine, which won't happen until Bring comes back from his holidays in September. The print routine and width parameters have been found already, so it's a matter of adding our custom code somewhere. This is what the game looks like when halving the font's width parameter:




To help with that, I'll be investigating how to insert new files into a Gamecube ISO, which will most probably imply finding out how the Game.toc file works. Hopefully, once I figure out how to do that, we'll be able to replace the font as well using this method (we weren't able to figure out how to break the font's compression). Any word of advice on this will be highly appreciated :)

KaioShin

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 5699
    • View Profile
    • The Romhacking Aerie
Good to hear you finally saw into the light :beer:
All my posts are merely personal opinions and not statements of fact, even if they are not explicitly prefixed by "In my opinion", "IMO", "I believe", or similar modifiers. By reading this disclaimer you agree to reply in spirit of these conditions.

RadioTails

  • Sr. Member
  • ****
  • Posts: 391
  • Holding the Mega Drive controller
    • View Profile
Re: Super Robot Wars GC English translation (using Dolphin emulator)
« Reply #22 on: July 20, 2014, 10:05:02 am »
To help with that, I'll be investigating how to insert new files into a Gamecube ISO, which will most probably imply finding out how the Game.toc file works. Hopefully, once I figure out how to do that, we'll be able to replace the font as well using this method (we weren't able to figure out how to break the font's compression). Any word of advice on this will be highly appreciated :)

That is awesome you are modified the ISO so it can used on a real hardware.  When I started working on my "Donkey Konga 2 - Japan Song Imports" project, and didn't realize until I got the files replaced, that using "GCRebuilder v1.0", you can add / delete files (and rename them too).  Would have made the process much simpler.

Anyway, first, open the original ISO [Image -> Open], right click on "root" and dump the files onto you computer.  Then click Image-> Close.

Now click on "Options" and tick both options:
- Modify system files
- Do not use 'game.toc'

The Readme goes into more detail, but the first option basically modifies "iso.hdr" and "game.toc" when you rebuild the image.  Basically contains a list of files that the ISO uses. 

If you don't have the second option tick, the tool will not open the "root" folder.  So if you have added / deleted / renamed files, make sure this is ticked.

Then click on Root -> Open.  Then click on Root -> Save to rebuild the image.  Very simple.

I would also advise you make a fresh root dump of the created dump, so you don't have to keep ticking those options when you open the ISO.

Pretty simple and hope it helps.
Avatar by LazyNinjartist

Metal Knuckles

  • Full Member
  • ***
  • Posts: 121
  • WE MUST GATTAI
    • View Profile
    • Sonic Retro
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #23 on: July 20, 2014, 04:36:53 pm »
So happy... The tears, they won't stop...

Dashman

  • Full Member
  • ***
  • Posts: 212
    • View Profile
Re: Super Robot Wars GC English translation (using Dolphin emulator)
« Reply #24 on: July 20, 2014, 07:33:17 pm »
open the original ISO [Image -> Open], right click on "root" and dump the files onto you computer.  Then click Image-> Close.

Now click on "Options" and tick both options:
- Modify system files
- Do not use 'game.toc'

The Readme goes into more detail, but the first option basically modifies "iso.hdr" and "game.toc" when you rebuild the image.  Basically contains a list of files that the ISO uses. 

If you don't have the second option tick, the tool will not open the "root" folder.  So if you have added / deleted / renamed files, make sure this is ticked.

Then click on Root -> Open.  Then click on Root -> Save to rebuild the image.  Very simple.

I was a bit scared of using those options after going through GC Rebuilder's readme, but the process was indeed very simple and did the job of putting an extra file in the ISO :)

Bad news is, being part of the files the ISO uses doesn't mean the file is loaded in RAM as well :/

Seeing as I couldn't make new files be loaded, I've tested other tricks. I've tried inserting extra data at the beginning and end of uncompressed files, replacing the contents of the compressed font with the uncompressed one, changing filenames inside the DOL file... none of those have worked :(

The best I've managed to achieve so far has been inserting the uncompressed font in the wrong place (hanging the game in the process). Time to hit the ASM a bit more, I guess.

KaioShin

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 5699
    • View Profile
    • The Romhacking Aerie
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #25 on: July 21, 2014, 04:16:33 pm »
A good place for code is often the font. Once you switched everything to English, you'll only need a fraction of the font since most is for Japanese characters. But the complete font is still usually always loaded and present in RAM. So just overwrite where the Japanese characters would be with code.
All my posts are merely personal opinions and not statements of fact, even if they are not explicitly prefixed by "In my opinion", "IMO", "I believe", or similar modifiers. By reading this disclaimer you agree to reply in spirit of these conditions.

tc

  • Hero Member
  • *****
  • Posts: 1218
  • Lum Fan
    • View Profile
    • Eon Blog
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #26 on: July 21, 2014, 10:48:05 pm »
Woah. I didn't expect progress on real hardware so soon.

While we're at it, does this game have issues if told to run progressive scan? That'd be useful to look into.

Dashman

  • Full Member
  • ***
  • Posts: 212
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #27 on: July 23, 2014, 05:25:49 pm »
A good place for code is often the font. Once you switched everything to English, you'll only need a fraction of the font since most is for Japanese characters. But the complete font is still usually always loaded and present in RAM. So just overwrite where the Japanese characters would be with code.
That would be ideal. The problem is that we couldn't break the font's compression (the uncompressed font we have is actually extracted from a memory dump), so we can't actually change anything in the font files and inject them into the game.

I've tried replacing the the compressed font for the uncompressed version in different ways, and the game does load the font in memory, but it gets placed in the wrong address. The result is the game crashing the moment it tries to use the font.

Playing around with the sizes of the DOL sections (adding new data sections or expanding the existing ones) hasn't proved to be effective either, since the contents of the loaded files overwrite whatever I add to the DOL (I probably have to touch a couple of extra stuff to do this right, I guess).

While we're at it, does this game have issues if told to run progressive scan? That'd be useful to look into.
According to this list: http://www.tomshardware.co.uk/forum/32180-13-what-cube-games-support-logic-progressive-scan the game doesn't support progressive scan. If I've understood correctly what progressive scan is, I think it just allows the game to run in HD, how would that help the translation effort?

VicVergil

  • Hero Member
  • *****
  • Posts: 734
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #28 on: July 23, 2014, 06:05:42 pm »
One thing: you're simply amazing.
But I have a tiny yet potentially controversial suggestion. You mentioned how you could halve the width parameter but your work is on hold until a VWF is coded. My opinion is... you needn't to.
Lots of games on the PSP (Ys Seven, Oath of Felghana, Last Ranker, and more) have 8px fixed width fonts that look perfectly nice and professional. You could go that route and save yourself a lot of trouble ;)

tc

  • Hero Member
  • *****
  • Posts: 1218
  • Lum Fan
    • View Profile
    • Eon Blog
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #29 on: July 23, 2014, 08:21:57 pm »
According to this list: http://www.tomshardware.co.uk/forum/32180-13-what-cube-games-support-logic-progressive-scan the game doesn't support progressive scan. If I've understood correctly what progressive scan is, I think it just allows the game to run in HD, how would that help the translation effort?

Good point, nevermind. It'd be better as a general project across various games.

KaioShin

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 5699
    • View Profile
    • The Romhacking Aerie
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #30 on: July 24, 2014, 01:49:34 am »
Dashman: Ah I see. If you can find the font decompression code you'll probably figure out the rest too. Keep us posted on how it goes.

One thing: you're simply amazing.
But I have a tiny yet potentially controversial suggestion. You mentioned how you could halve the width parameter but your work is on hold until a VWF is coded. My opinion is... you needn't to.
Lots of games on the PSP (Ys Seven, Oath of Felghana, Last Ranker, and more) have 8px fixed width fonts that look perfectly nice and professional. You could go that route and save yourself a lot of trouble ;)

If they can't change the font then you'd just end up with halfed characters. And if you can crack that font compression I'm sure they'll manage a VWF when all the required pieces are already in place.
All my posts are merely personal opinions and not statements of fact, even if they are not explicitly prefixed by "In my opinion", "IMO", "I believe", or similar modifiers. By reading this disclaimer you agree to reply in spirit of these conditions.

Dashman

  • Full Member
  • ***
  • Posts: 212
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #31 on: July 24, 2014, 11:38:14 am »
If we fail to crack the font's compression, our last resort is using the game's ASCII font, which is 10x18 and looks a bit meh:



The game doesn't like using ASCII that much, though. An odd number of ASCII characters in a string can make things go crazy:



Also, notice that "KK" in the text. There's opcodes in certains part of the script that are assigned to pairs of ASCII. All of these problems are easily avoidable (the tools already prevent the problem shown in the picture), but there's also this thing with library entries missing lines sometimes if we write them in ASCII. And I still haven't tested the ASCII in battle lines...

The safe, bug-free option is using the default 18x18 font, which is a bit gigantic:



hence the need for a VWF routine and a new font replacing the big one (and adjusting the space between lines, to accomodate 4 lines per box instead of 3).

I admit I won't feel fully satisfied if we can't pull off the VWF, but I guess ugly English text is better than nothing.

Dashman

  • Full Member
  • ***
  • Posts: 212
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #32 on: November 08, 2014, 05:01:29 pm »
I wanted to wait for the VWF routine to be completed, but I guess a little update won't hurt.

So, we've managed to insert those 20 stages we had translated, covering all possible routes at that, now that we have access to the script (we only had the Female-Real route before). We also managed to make the game display 4 lines of text in the textboxes instead of the default 3. Here's how it looks like:





The VWF is obviously not ready yet, but hopefully it won't take long.

A big portion of the game's strings are already covered as well:



Finally, we've sped up the message printing during battle, as the amount of text was making the game wait for it to be displayed at some points (way after the characters had finished talking). Here's a little example to show the difference:

 - Normal speed: https://www.dropbox.com/s/03ec4azszn1759u/normal%20speed.avi?dl=1

 - High speed: https://www.dropbox.com/s/f9kbq0wa55moel2/high%20speed.avi?dl=1

The already existing translation for battle dialogues hasn't been inserted into the game fully yet (most of the battle quotes for the Gundam -0079- cast is, though).

We're going slowly, but we're getting there.

KaioShin

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 5699
    • View Profile
    • The Romhacking Aerie
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #33 on: November 08, 2014, 05:31:30 pm »
That's some excellent progress, good job!
All my posts are merely personal opinions and not statements of fact, even if they are not explicitly prefixed by "In my opinion", "IMO", "I believe", or similar modifiers. By reading this disclaimer you agree to reply in spirit of these conditions.

Bring Stabity

  • Jr. Member
  • **
  • Posts: 12
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #34 on: January 23, 2015, 12:08:14 pm »
I figured it was time to make an account on her since I'm part of this team. Going through the PPC code is reminding me just how much I like playing with machine code. It's funny that people call this hard. Inefficient, yes, but not hard.

Gohdan

  • Jr. Member
  • **
  • Posts: 4
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #35 on: November 18, 2015, 02:57:56 pm »
A kind user directed me to this thread after I shared an interest in translating some imported GC titles. Sadly there doesn't seem to be a lot of action in the GC realm of translation, so I was ecstatic when I learned of your project. You guys are doing something spectacular and it's coming along very fast. Congratulations!

I would love to get started on a translation project of my own but am unsure of what tools I'll need. You've recently announced having made several for the purposes of translating your title. Care to offer any tips/generalizations that might apply across translations for other titles?

My project is to replace the menu text strings of Gekitou Ninja Taisen 4. I'd then want to be able to build the iso using GCRebuilder ( I'm guessing that's how this is done ) and run it on my softmodded Wii via Nintendont. I'm just...unsure of how to make this happen from scratch. :]

shadue

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #36 on: November 24, 2015, 04:35:51 pm »
Nice enough another srl project awesome job!

Dashman

  • Full Member
  • ***
  • Posts: 212
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #37 on: January 04, 2016, 02:55:09 pm »
I guess it's a good time for updates. After all, it's been like... whoa, more than a year since the last update.

It's been a tough year for us and our productivity has decreased significantly, but we're slowly coming back.

Stuff that has already been covered:

- VWF (mostly, there might be some issues with the way the game centers text in stuff like the scrolling intro text)
- All battle dialogue (in need of some editing)
- Most of the menu text (that is actually text), not including Robot / Character Library
- A considerable amount of bugfixing.

Here, have a screenshot that showcases at least the two first points:



Missions translation hasn't progressed much... or at least we haven't heard much of our translator lately. He's been known to disappear for a series of months and come out with a lot of stuff done before, so I want to have faith in him.


We're currently taking on two things in the game:

1) Editing graphics. This game uses SO many of them to write stuff in style. See the untranslated stuff in this screenshot?



All graphics. And that's just a part of it.

We got that covered, but it's going to be a lot of work.


2) Understanding the compression routine. Which we need because of MORE graphics. And the font, which is also graphics. Bring is currently having a lot of "fun" with it after implementing VWF into the game, so I guess he'll welcome any technical help (as I've been taking forever to look at some stuff he asked me to... sorry, man).

And that's pretty much it for now. Not releasing anytime soon, but we're getting there.



@Gohdan: Honestly, the best tools you can have are a hex editor and a tile viewer, no matter what you're dealing with. For the game you mention, you might be good with just the hex editor, lots of observation, some patience and basic knowledge of how SJIS text works in hex in comparison to ASCII.

I'd say first you'd need to get a minimum grasp of Japanese (katakana and hiragana) so that you're at least able to write some basic stuff with whatever means you're comfortable with (I'm lazy and use google translate). Then you can go extracting game files with GCRebuilder and search for the stuff you want to replace inside using the hex editor of your choice (MadEdit for me). If you're lucky and the game's text isn't compressed (and most probably inside Start.dol), then you can change stuff to your liking until the game doesn't decide to crash horribly.

Hope that helps.

Bring Stabity

  • Jr. Member
  • **
  • Posts: 12
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #38 on: January 08, 2016, 09:02:07 pm »
Ooh, an update. Wait, I shouldn't be looking at the update, I should be working on the decompression.

Raph_friend

  • Jr. Member
  • **
  • Posts: 13
    • View Profile
Re: Super Robot Wars GC English translation (now with actual hacking)
« Reply #39 on: October 22, 2016, 08:48:27 pm »
Hey @Dashman, thanks for your work, i really love this game!

Any updates?