1. SDA

    OP SDA Advanced Member
    Newcomer

    Joined:
    Feb 19, 2020
    Messages:
    51
    Country:
    Italy
    So, this is my first thread I post. Well, many of you guys probably know this title:

    MONSTER TALE FOR NDS.
    Unfortunately this game was released in USA only and since I'm not an English native I couldn't play it at all. Even if I liked it too much.
    However I recently found, by opening the ROM with Tinke, that there are actually some files saying "loctext" with language marks added (EN, FR, DE, ES, IT, NL). I could deduce this game was planned to be released in Europe but got cancelled and thus those modes are now blocked in the ROM's code. On ROMHacking.net for example I found an hack of "Go go Cosmo Cops" that enables Japanese language in the game by removing the blocking code that disables it. So I wonder: how can I restore those language modes in the game?

    (If you don't believe that there are those files in the ROM, use an unpacking tool to view them)

    Ignore that text in red because I have translated this game manually.
     
    Last edited by SDA, Nov 26, 2020
  2. plasturion

    plasturion temporary hermit
    Member

    Joined:
    Aug 17, 2012
    Messages:
    594
    Country:
    Poland
    I checked out in Tinke unfortunally all of them contain pharse "TO DO", so project had abilities to be released in europe, but noone made a translations. In other words, language files are empty... I repleced one and that's all what we can get.
    mtaleIt.png
     
  3. SDA

    OP SDA Advanced Member
    Newcomer

    Joined:
    Feb 19, 2020
    Messages:
    51
    Country:
    Italy
    The files contained in the "StringTables" folder are empty...? I mean, I have to manually translate them, right?
     
    plasturion likes this.
  4. plasturion

    plasturion temporary hermit
    Member

    Joined:
    Aug 17, 2012
    Messages:
    594
    Country:
    Poland
    They contain some binary instructions, and minimal portion of text ("TO DO") to be valid and usable for project, and all other language files has the same minimal size, so we can say they're all empty. I guess so, but english text in this game isn't that hard, I recommend play it with some dictionary in use then... Look for example this moomin game, it has pretty graphic and music and is written in simple japanese, so you can even understand sidequests. (altought I woudl like to see and play this game in english). Almost finished back in days but I woudl like to try it again.

    moomin.png
    but wow, we can find Finnish look...

    That's nice I'll try to mess with this set of files too...
    ...and yes, game is simple to edit, I managed to change some text, and it looks great!
    m1.png
    I have no idea where are the pointers section to update...
    but I agree nothing better than look favourite game in own native language
    mum1.png mum2.png mum3.png
    and tools for dump/insert are very handy too...
    moomin.jpg
     
    Last edited by plasturion, Feb 27, 2020
  5. FAST6191

    FAST6191 Techromancer
    Reporter

    Joined:
    Nov 21, 2005
    Messages:
    32,339
    Country:
    United Kingdom
    Go Go Cosmo Cops, Mario vs Donkey Kong and technically those Advance Wars patches rely a quirk present in those games.

    Rather have the user select the language when booting up the game, starting a game or similar then they read the DS' firmware settings ( http://problemkaputt.de/gbatek.htm#dsfirmwareusersettings ) which are copied into memory.

    If you want to test other games you think might have similar patches then there are some cheats around here somewhere that work for just about every game to force the firmware language (mainly for people with bad flash carts, emulators, compatibility layers and all that jazz). That said other than Japanese being blocked by those games (Japan has a real thing about people importing games so it will often throw little frustrations up, and was worse here as those did not come out in Japan in the end) I don't think we have ever discovered a hidden translation option on a DS game this way.

    If you open a game and see all little language extensions or bits of file name then it could be that it never made it to those countries and there is a translation there (were have seen many such things over the decades) and it could also be just a placeholder so if and when it did get translated the programmers responsible would have an easier time ( https://www.loekalization.com/ has loads of nice stories on how things can appear if you are interested in that).
    If you do discover a translation present and complete enough to use (or fix up) then how you go from here varies probably on a game by game basis.

    It might be that you can just force it to read it (much like the firmware stuff above it might just have had the simple check at the start of the game disabled and you force it on).
    It might be that you essentially have to translate the whole game again but with the script available to you. This being handling any font issues, any encoding worries, any scripting or text handling and so on.
    It might be that you can not just force a read but can more or less copy and paste over the other region's script -- before we discovered the cheat thing to force firmware selections then people wanting translations would often rip apart the game and overwrite things with the script from the other part of the game and carry on from there. You might even be able to do a relinking hack
     
  6. SDA

    OP SDA Advanced Member
    Newcomer

    Joined:
    Feb 19, 2020
    Messages:
    51
    Country:
    Italy
    ...
    ...
    ...I don't know what to do now.
     
  7. plasturion

    plasturion temporary hermit
    Member

    Joined:
    Aug 17, 2012
    Messages:
    594
    Country:
    Poland
    Do you mean dots between letters? Right, manual editing might be painful.
    File has in order:
    - header 8 bytes,
    - filesize-(something) 4byte,
    - pointers counter, 4byte
    - pointers table, 4byte * counter
    - strings with 2bytes length for single character instead of 1 (that's why are spaces with every single character)
    I made some tools for extracting text and generating binaryfile (stringtable) if you interested.
    u2_34_5266.png
     
    Last edited by plasturion, Mar 4, 2020
  8. SDA

    OP SDA Advanced Member
    Newcomer

    Joined:
    Feb 19, 2020
    Messages:
    51
    Country:
    Italy
    Oh, thanks for the tools. But what about the graphics... I found a Russian translation of the game by Chief-Net, do you think it is a good idea to ask them for helping in graphics edit?

    I'm not experienced at all in NDS image editing.

    EDIT: I tried to translate the credits and in the outorg.txt file there was nothing of text.
     
    Last edited by SDA, Mar 5, 2020
  9. plasturion

    plasturion temporary hermit
    Member

    Joined:
    Aug 17, 2012
    Messages:
    594
    Country:
    Poland
    You're welcome. As for me I use Tinke for export/ import graphics. It's really decent for that. For edit you can use any external graphic program(i use paint shop pro and photoshop), but you can ask them for help as well.

    There's no text in files with "lookup" prefix. I suggest leave them unchanged that kind of files has different purpose. My tools works only with the files with "loctext" prefix. I tried on loctext_Credits_ENG_US and it ripped correctly. outOrg.txt created.
     
    Last edited by plasturion, Mar 2, 2020
  10. FAST6191

    FAST6191 Techromancer
    Reporter

    Joined:
    Nov 21, 2005
    Messages:
    32,339
    Country:
    United Kingdom
    You can try. If you have a translation available though then it is practically a Rosetta stone for your would be translation/fiddling though -- whatever is changed in the translation likely is what you want to be looking at for yours. Sometimes they might edit more than is necessary but it will not be less, at least outside of some very odd things or if they did an incomplete translation.
     
  11. SDA

    OP SDA Advanced Member
    Newcomer

    Joined:
    Feb 19, 2020
    Messages:
    51
    Country:
    Italy
    I managed to translate the credits successfully (except that when I press "à" it comes out in the game as "Ã" used in Portuguese language). When I tried to do the same on the intro cutscene, I screwed the game completely. Well, I can't hack any DS game without any physical help, because I fail at compression and uncompression of graphics and text.

    ...but it is easier than I thought it to be. I would like to post screenshots but it doesn't work for me.
     
    Last edited by SDA, Mar 4, 2020
  12. plasturion

    plasturion temporary hermit
    Member

    Joined:
    Aug 17, 2012
    Messages:
    594
    Country:
    Poland
    Well it seem that your input text file was encoded in utf-8 wich is not supported. I guess you paste translated text to notepad so that always convert to utf-8. So if you plan to translate to Portuguese language first open new tab in notepad and choose character set-> west-european -> ISO 8859-1, paste text and save it. It should work with this text encoding.

    Really it messed up cut-scene? it's getting interesting... I look for it... something wrong with pointers, It seems I have a bug somewhere so I'll try to fix tools now. Anyway thanks for telling me, i didn't test these tools that much. Please wait... (found it) I didn't know there's line separator 0x0A in bin files, so i have to think about a workaround because it colide now with the new line = new pointer idea.(maybe some special code separator, let's use '@')

    I updated tools, however now there's limitation. In text actually can't appear this "@" character. :-) I hope there's no appearance. (even if, nothing serious happen, only jump to a new line)
     

    Attached Files:

    Last edited by plasturion, Mar 4, 2020
  13. SDA

    OP SDA Advanced Member
    Newcomer

    Joined:
    Feb 19, 2020
    Messages:
    51
    Country:
    Italy
    First, I do not paste translated text to notepad: I type it directly in the file window. Second, I actually did what you said by changing in 8859-1, however I'm not planning to translate the game in Portuguese (there's a PT-BR patch on the net already) but in Italian. Last... yes, the : character actually appears in the game. When Chomp acquires a new ability it says "New Ability Learned:" or something like that. By the way this character appears in-game.
     
  14. plasturion

    plasturion temporary hermit
    Member

    Joined:
    Aug 17, 2012
    Messages:
    594
    Country:
    Poland
    I see, ISO 8859-1 has coverage for both languages so there's no difference. Here you can check.
    Don't get me wrong I tried to guess because I had the same issue (with the same letter) when it was in utf-8 encoded. And when I generated file with correct encoding, everything was ok.
    the best way to check your encoding is open inT.txt and also out.bin file in hexeditor and compare hex values if there are the same as the one in ISO table.
    Also you can compare coverage in font file using Tinke. They're all should be supported but maybe I'm wrong.
    You see, I'm not so good programmer, I believe there are better one here and also i just gave an example of tool how it can be useful, there's a source code so you can modify as you want.
    Also about new line separator is "@" not ":". Sorry for misunderstand, but you also can modify it very simple, I guess own tools are best. Even if "@" present in text, result will be fair ok, only jump to a new line.
     
    Last edited by plasturion, Mar 4, 2020
  15. SDA

    OP SDA Advanced Member
    Newcomer

    Joined:
    Feb 19, 2020
    Messages:
    51
    Country:
    Italy
    Until now, I have translated a lot of things in the game: title screen, file selection screen, some dialogs, tutorials, pause menu, subscreens and many more.

    But still, how do I get to edit the "Chomp Level-up!" graphic?
     
    Last edited by SDA, Mar 5, 2020
  16. plasturion

    plasturion temporary hermit
    Member

    Joined:
    Aug 17, 2012
    Messages:
    594
    Country:
    Poland
    Graphic files are compressed in RLE algorithm, to decompress you can find tools here
    It looks that binary file has to be splited first. I see that magic number (first byte of RLE header '0' starts in position 0x9C), so everything what is before we save as a "header" (we need it later to build this file again), and rest as a RLE file. (i guess a new dedicated tool for this operation can be useful again, so I leave it for you as a homework), then we decompress RLE. and replace in Tinke. First we load palette with the same filename (it has a long header too so we set start byte 12 in tinke) and then we open replaced data image as a tile. Now we can extract graphic, modify, import and reverse all the process.
    chomp.png
     
  17. SDA

    OP SDA Advanced Member
    Newcomer

    Joined:
    Feb 19, 2020
    Messages:
    51
    Country:
    Italy
    Ah, the tools made by CUE. Since 2010 everyone uses his tools to translate NDS games. For example: a group called "Random Stones" made a translation of Lufia: Curse of the Sinistrals in my language, using Tinke and CUE's extractor/inserter.

    But wait... is the obj_fe_profile_pet_form_03.bin the file I have to decompress?
     
    Last edited by SDA, Mar 6, 2020
    plasturion likes this.
  18. plasturion

    plasturion temporary hermit
    Member

    Joined:
    Aug 17, 2012
    Messages:
    594
    Country:
    Poland
    Well that's only example, I don't know which the file has "level up" graphic. but if you open file and find "RLE" word inside, yes, it's the one that need to be decompressed. Funny thing anyway because how much they saved using so big header knowing RLE is very unefficient, a 1%? It's better keep raw data.
     
  19. SDA

    OP SDA Advanced Member
    Newcomer

    Joined:
    Feb 19, 2020
    Messages:
    51
    Country:
    Italy
    This is why I'm going to ask the Chief-Net group for helping. After all, everyone knows that modern games such as DS, PSP and mid-2000's consoles aren't hackable by one self only. It has to be a group, or nothing will ever come out from working on the ROM files.
     
  20. Kwyjor

    Kwyjor GBAtemp Maniac
    Member

    Joined:
    May 23, 2018
    Messages:
    1,295
    Country:
    Canada
    Is that sarcasm..? You don't *need* a group. Or at the very least, it's much easier to get a group going after you've got a substantial amount of the work done and have specific, solvable problems.

    (People show up on occasion saying, "I want to get a group together to translate this game! I have no language skills or technical ability, but I'm good at editing and at coordinating people!" And that never accomplishes anything.)
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - (unavailable), language, Trying