Wi-Fi Connection Creation Translation Help

Discussion in 'NDS - ROM Hacking and Translations' started by Blazer, Nov 30, 2011.

Nov 30, 2011
  1. Blazer
    OP

    Member Blazer GBAtemp Regular

    Joined:
    Aug 10, 2008
    Messages:
    280
    Country:
    United States
    So, you know how in games that you can connect to the Wi-Fi there's that menu that allows you to setup a connection to the internet? Well in the game Fire Emblem: Heroes of Light and Shadow, you can do this... but since the game is in Japanese, the text is in Japanese too. The problem is, we're trying to translate this. D: Here's a picture:

    [​IMG]

    So with that, we're wondering if anyone's ever translated this or knows about a game that has had it translated (a fan-translation, of course--not like we can ask professional translators). Are these graphics stored within every individual game, or within the DS system (called hardware? I suck with terminology) itself? I have some hints here and there but I really don't have any good ideas as to where to find this data and how to hack it. If it's within the DS system then that means that DS's support both versions of games (e.g. my 3DS supports Japanese and English for it to work or else the game couldn't be played on flashcarts). Then that means there is probably some sort of flag that controls whether the game uses the Japanese menu or the English menu, which makes it easy. If it's within the game itself then I have no idea where the graphics are or how to edit them and need help with that.

    tl;dr I could use any tips, hints, clues, or best of all detailed steps (though that's kind of greedy XD) on how to make this menu into English. Thanks.
     
  2. Luigi2012SM64DS

    Banned Luigi2012SM64DS G-old member

    Joined:
    Aug 27, 2011
    Messages:
    2,060
    Location:
    Minecrapt
    Country:
    Canada
    can you not figure out what it says from memory?
     
    1 person likes this.
  3. loco365

    Member loco365 GBAtemp Guru

    Joined:
    Sep 1, 2010
    Messages:
    5,459
    I think there is a binary in the arm7 or arm9 that has this menu. Taking it and replacing it with one from an English game should allow you to have it in English.

    FYI: The option on the Right says "Options".
     
  4. pleonex

    Member pleonex GBAtemp Regular

    Joined:
    Jan 16, 2009
    Messages:
    197
    Location:
    South of Spain
    Country:
    Spain
    All these data: images, font and text is inside of a packed file named "utility.bin" (usually is inside of the folder "dwc").

    Using Tinke you can unpack this file, but not pack and the images are not supported, anyway you can see the text (in folder "msg", the bmg files, in fact in the file jap.bmg.l, the message 47 is the text that appears in your screenshoot). If you change this pack file (utility.bin) by other with all the remain region it could work.

    Good luck!
     
  5. rastsan

    Member rastsan 8 baller, Death Wizard

    Joined:
    May 28, 2008
    Messages:
    963
    Location:
    toronto
    Country:
    Canada
    that is only part of the problem the arm9 or arm7 has a little asm code responsible for which one gets loaded... you will find all the language "buttons" in there. It sets the default to japanese.
    This somehting I need to fix for zoids battle coloseum. I suspect the region select code may change this (from nsmb).
     
  6. Densetsu

    Former Staff Densetsu Pubic Ninja

    Joined:
    Feb 2, 2008
    Messages:
    3,435
    Location:
    Wouldn't YOU like to know?
    Country:
    United States
    I thought it had to do with the language settings of the DS itself, no?

    For what it's worth, here's the translation to the above image:
    [​IMG]
     
  7. loco365

    Member loco365 GBAtemp Guru

    Joined:
    Sep 1, 2010
    Messages:
    5,459
    Unfortunately it doesn't. I get this menu on my USG-USA-1 DS Lite and Canadian 3DS when I use my imported Heart Gold version.
     
  8. Blazer
    OP

    Member Blazer GBAtemp Regular

    Joined:
    Aug 10, 2008
    Messages:
    280
    Country:
    United States
    Thanks for the translation but the problem isn't knowing what it says, the problem is hacking it. XD With that said I won't respond to anything regarding actual Japanese to English translation:

    Within the files itself? How would I locate what part to edit...?

    Hmm. Seeing as you said I couldn't really edit the stuff, I tried replacing it with a "utility.bin" from an English game. Repacking and testing didn't result in an English menu though which makes me think that...

    That the file has both Japanese and English graphics and by default uses Japanese and would have to be hacked in one of the arm files >_>

    Eh, I used an American NDS Lite and American 3DS and it shows Japanese regardless, unfortunately.

    So... any other tips? I'm still pretty desperate... teehee I'm so helpless alone

    EDIT: Pleonex I used Tinke to look at what you said but as you said the files aren't really supported so I can't do much besides simple transfer a file from an English game (which I did, and it didn't work). :\ Tinke itself though is an awesome program, I wish I could use it better...
     
  9. rastsan

    Member rastsan 8 baller, Death Wizard

    Joined:
    May 28, 2008
    Messages:
    963
    Location:
    toronto
    Country:
    Canada
  10. Blazer
    OP

    Member Blazer GBAtemp Regular

    Joined:
    Aug 10, 2008
    Messages:
    280
    Country:
    United States
    Oh, I see. So if I had a cheat code similar to this:

    but for (U) it might help me right? but ultimately that info doesn't seem to be of any use...
     
  11. rastsan

    Member rastsan 8 baller, Death Wizard

    Joined:
    May 28, 2008
    Messages:
    963
    Location:
    toronto
    Country:
    Canada
    I know as i looked up the other eu region change codes... what you need is a J and a U version of the same game and to narrow down the specific difference in the loading of that utility.bin... as that will have near it or alead to the code neccessary to do what we need. something I will do later with zoids with a breakpoint...It may help, it may not. Anyways that would be the first step in identifying at least the little thing turns it form j to u... (for the utility.bin). I have yet to look really hard into this. As this really isn't that much of a priority. Due to the simple advantage of setting up your wifi BEFORE you game. If You really want the graphic hack I have a decompressed utility.bin I can upload for you. I was using it for fonts and not for the wifi though.

    I was probably gonna have to anyways.....

    edit if you are going that way watch out utility.bin breaks fairly easily.
     
  12. Auryn

    Member Auryn GBAtemp Advanced Fan

    Joined:
    Jul 21, 2011
    Messages:
    529
    Country:
    Switzerland
    Well, I took a quick look at this too.
    That utility bin seems to be pretty much standard meaning that you have probably at least 5 languages inside of it (English, french, german, italian and spanish) and even the text for korean if I am not wrong.
    Because everything is already there, you just need to change the pointers inside that file.
    Take every file that start with "jb" or "jt" and repoint them to the corresponding files that start with "eb" or "et".
    Last repoint the file jap.bmg to the usa.bmg and you should be ready to go.
    Some proof of concept pic here (the "scrambled things is because I only repointed the NCGR but not the NSCR/NCER but you see the description text working propelly):
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    By repointing 2 NCGR more (again ...the scrambled should be because of the missing (incorrect) NSCR/NCER files loaded).
    [​IMG]
    [​IMG]

    It was my first time looking at this files and I needed less than 30min to figure this out,
    Be aware that there are some files in japanese version that are not present in the english version and that the files have pointers to the start AND end of the file so you need to repoint 2 pointers for each file (apart the bmg file).
     
  13. Blazer
    OP

    Member Blazer GBAtemp Regular

    Joined:
    Aug 10, 2008
    Messages:
    280
    Country:
    United States
    Hmm, I will try and check on this tomorrow if I have time, if not Saturday, I think this is a fair solution. I actually did notice various pointers but not knowing how to use them or what's what, I didn't think it'd be useful. But with this information:

    I should now know enough to know what to repoint. It's probably not the "best" way for a solution (i.e. professionals probably wouldn't do it this way but rather change which is used through ASM or something, or so I guess) but it definitely seems to work. Will get back to you on this, if anyone else has any ideas though (in case this fails or something) please let me know.
     
  14. Auryn

    Member Auryn GBAtemp Advanced Fan

    Joined:
    Jul 21, 2011
    Messages:
    529
    Country:
    Switzerland
    Well, or you use the cheat code above (not tested), the ASM way to find where the game choose what language is displayed or my method,
    It's only this 3 possibilities.
    The cheat code (if it works) is the faster but it's not permanent; the other 2 are time intensive to implement.

    Anyway, here you go:
    http://www.youtube.com/embed/SUMtqx87V1c

    It's the first version I made (no, not for Fire emblem).
    There is some small error in the background in the top screen (maybe repointed a wrong file or missed something), a little error in the text and last but not least, the problem with the 3 button in the japanese version / 2 buttons in the english ( this one could be again that i repointed a wrong file or that the basic graphics/text are present but not usable out of the box).
    Anyway even the button error is correctable by editing the nce file.
    Here the original japanese:
    [​IMG]
     
  15. Blazer
    OP

    Member Blazer GBAtemp Regular

    Joined:
    Aug 10, 2008
    Messages:
    280
    Country:
    United States
    Well I tried repointing the files but it failed. I tried various other things, double-checking my work etc. but still no dice--the settings screen wouldn't even load, forget show in English.

    I know that the bunch of file names starts at 0x55 but due to the header it "starts" at 0x45 (thus the early 45 00 00 00 in the utility.bin file, a pointer to the beginning of the list of file names). Based off of that I calculated the distance between the start of the tale and the start of the list of Japanese files (a relative offset) and searched for that pointer, but with no dice. I tried some other things (absolute offsets, searching closeby pointers, etc.) but I didn't find anything that seemed like it could be useful. What I was TRYING to do was just make it use the English setup instead of changing the Japanese setup into the English setup since the latter wasn't working but I failed.

    So ATM it seems like the only option is to recruit someone well-versed in ASM to just make it load the English setup instead of the Japanese one by default. Or something. I don't have any other ideas. >_>
     
  16. pleonex

    Member pleonex GBAtemp Regular

    Joined:
    Jan 16, 2009
    Messages:
    197
    Location:
    South of Spain
    Country:
    Spain
    Another way to do the repointing: use Tinke ;). I have just finished to implement the packing method, so you have follow this steps:
    1. Open the rom with Tinke and go to Utility.bin file.
    2. Unpack it and extract all the text and images in english
    3. Change the japanese files with the extracted files
    4. Select again the file Utility.bin and click on button "Pack"
    5. Click on "Save ROM"

    I have only replaced the text file and it works perfectly:
    [​IMG]

    To do this you have to use the last version: Tinke rev124

    Regards!
     
  17. Auryn

    Member Auryn GBAtemp Advanced Fan

    Joined:
    Jul 21, 2011
    Messages:
    529
    Country:
    Switzerland
    It's not so easy to repoint and you need to be very careful with file names, file extentions and let all the files pointed to the japanese version if you don't have a english counterpart.
    Plus what i told you before about the pointers: a part of the pointer (I think all files in the "char" folder) point to the beginning AND the end of the file while the files in the "msg" folder only point to the beginning of the file.


    @Pleonex: it's not so easy because you don't have the same number of files in the japanese and english version fileand not the same number of buttons in the menu. Meaning you will maybe have nce/ncg from the english part but the ncl from the japanese part or have et-step1.ncg/et-step2.ncg/et-step21.ncg in the english but only have et-step1.ncg/et-step2.ncg in the japanese.
     
  18. pleonex

    Member pleonex GBAtemp Regular

    Joined:
    Jan 16, 2009
    Messages:
    197
    Location:
    South of Spain
    Country:
    Spain
    Yes, is simple as that because the files that don't appear with the prefix et/eb are common for some langs so they are at the end of the folder with the prefix yt/yb. The offset of all the files of the binary are absolutes, but you have to change two values: the "start offset" and the "end offset".

    I have changed all of them using Tinke, and it works perfectly. Here is the Utility.bin that should be fully translated (maybe I have changed wrong a file, because there are a lot...)
    Utility.bin

    Regards!
     
  19. Blazer
    OP

    Member Blazer GBAtemp Regular

    Joined:
    Aug 10, 2008
    Messages:
    280
    Country:
    United States
    Oh my God, you're awesome pleonex. I mean already knew that just because you made Tinke but now you've convinced me even moreso you're pure awesome.


    I will be suuuuuuure to credit you for your awesome work. I think with this we've solved the mystery on how to hack every type of graphic in our game, I *think* this is the final part. Also I will be sure to spread the word about Tinke XD And since I think this utility.bin may help other translations it may be a good idea to "keep it handy" if you know what I mean--someone else might have a similar problem so hopefully they stumble upon this topic with everything related to it. XP Thanks again :D

    @Auryn thanks to you too, without your guidance and motivation I'm not sure pleonex would have done what he did and I sure as heck would have given up on even TRYING to do it a while ago. Teehee =)

    Seriously, thanks, I might have just woken up with a runny nose but this made my day XD
     
  20. pleonex

    Member pleonex GBAtemp Regular

    Joined:
    Jan 16, 2009
    Messages:
    197
    Location:
    South of Spain
    Country:
    Spain
    Hehe, thanks, but it isn't perfect yet... I have found some bugs... Sorry, I should have tested it more before posting...

    Here are the screenshoot. Maybe I have changed wrong some files.

    This is because in the Japanese text after the first word it adds the number 1. The same error in the second image:
    [​IMG]
    [​IMG]
    This can be fixed adding the char '\n' in the text. (In the English version, it uses the smaller font, but in Japanese the bigger)
    [​IMG]
    I though that this error would be fixed changing the "nce" file, maybe we have to modify it to change the position of the cursor.
    [​IMG]

    The last detail is not an error, just a little difference because in the English version the text is aligned to the left and in Japanese to the center.

    Sorry, and I hope to find a solution for all of them...
     

Share This Page