Metal Max 3 Translation Project

Discussion in 'NDS - ROM Hacking and Translations' started by Terithian, Dec 3, 2015.

  1. Terithian
    OP

    Terithian Advanced Member

    Newcomer
    92
    22
    Oct 19, 2015
    Canada

    [​IMG]
    Current Staff
    Image Editing/Programming - MetalFan
    Translation - Terithian
    Programming/Hacking - DarthNemesis

    Former Staff
    Translation - Lilfut

    We are currently looking for help in hacking the ARM9 file. The current way it's being done messes up a few calls in the in-game dialogue (a string of nonsense characters instead of your current amount of money, for example, or a random kanji instead of a person's name) when edited, and the translations have to be the exact same length as the original, leading to words so shortened as to be illegible. If anyone is interested, please contact us in this thread.

    Description
    The Metal Max series is a long-running but little-known JRPG series, at least in the west. They combine traditional JRPG gameplay, with towns, overworlds, quests, random battles, etc. with a much more free-form gameplay flow than is usual for the genre, in a rather silly post-apocalyptic setting heavily inspired by Mad Max. The games are basically open-world, with not too much in the way of story most of the time, instead focusing on entertaining NPC dialogue and side quests, an interesting world to explore, and TANKS. Lots and lots of tanks, which you can freely customize.
    Only one game in the series has been officially localized: Metal Saga, for the PS2. Unfortunately, it didn't do so well, and most interest in the series has dropped off. There has also been a fan translation of the SNES remake of the first game, Metal Max Returns, and it's quite good.
    Metal Max 3 basically takes everything good from previous games, strips out the bad, and makes everything better. It has the most story in the series up to this point (which isn't saying a lot), and is one of the most entertaining games on the DS, in my opinion. It's practically criminal that it never got localized, so this project is here to remedy that.
    If I was to describe how the game feels, it would be like if you crossed Earthbound with an apocalyptic hybrid of Mad Max/Terminator.

    Story
    You start the game dead. You are soon brought back to life by the mad scientist, Dr. Mince, but you have no memory of how you died or who you are. Soon after awakening, you meet a girl named Cora, about to be shipped off to an arranged marriage that she doesn't want. The story follows you as you try to find out who you were and why you died, and how your fate is intertwined with that of Cora, as you explore one region of the strange post-apocalypse, dominated by a criminal gang known as Clan Coldblood and their mysterious leader, Gratonos.

    Current Progress
    Difficult to quantify precisely, but still quite early.
    Much of the system text is translated, but very little of the NPC dialogue, which makes up the vast majority of the text in the game.
    The NPC dialogue is comprised of 73 text files of wildly varying lengths: one for each area in the game, one for the world map, and a couple for all the shop dialogue. Currently, 20 are fully translated, and 10 are partially translated, although the fully translated ones are mostly shorter ones, like camps or dungeons.
    Most image editing and hacking is now complete as well, but we could use help with hacking the ARM9 file to be able to change things in there without messing up the game.

    Complete or Unused Dialogue Files: 21
    Partially Translated Dialogue Files: 10
    Total Dialogue Files: 73

    Complete or Unused System Text Files: 10
    Partially Translated System Text Files: 9
    Total System Text Files: 24

    Screenshots
    Warning: Spoilers inside!
     
    Last edited by Terithian, Dec 1, 2016
    Zense, Shanoku, AsPika2219 and 6 others like this.


  2. Lakum

    Lakum GBAtemp Regular

    Member
    142
    26
    Jul 24, 2014
    Malaysia
    I didn't play them but do you think that among MM2:Realoaded, MM3 and MM:Season of Steel, MM3 is the best?

    YAou can try asking here as well http://www.romhacking.net/forum/ .
     
    Last edited by Lakum, Dec 3, 2015
  3. Terithian
    OP

    Terithian Advanced Member

    Newcomer
    92
    22
    Oct 19, 2015
    Canada
    I haven't played Metal Saga: Season of Steel, myself, so I can't make any judgements, but it's a bit of a different game from MM3 and MM2R. From what I've heard, it's not as good. Between MM3 and MM2R, I'd say MM3 is a little bit better, since it's an original game built for the engine and has a little bit more of a plotline, as opposed to MM2R which is a remake from the SNES game. MM2R is still really good, though, and it plays almost identically to MM3. I just finished it, myself, and really liked it. If I was to translate MM3, I would definitely want to do MM2R afterwards.

    Thanks! I'll probably try there, too.
     
    Lakum likes this.
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,366
    9,169
    Nov 21, 2005
    I do recall someone taking a look at this before, nothing outrageous was found but I can not remember any specifics and a search is not getting me far.

    Anyway I will have to look at the game itself - .pak is pretty generic as far as extensions go and could be anything. You do not need dev tools -- I dare say every translation you have ever seen for a console game probably did not have dev tools used in it.

    Would you call yourself a translator and if so then I probably want to link http://gbatemp.net/threads/densetsus-translation-toolbox.311523/
     
  5. Terithian
    OP

    Terithian Advanced Member

    Newcomer
    92
    22
    Oct 19, 2015
    Canada
    Thanks for the reply! I have gone through that in the past and it is definitely very useful. I wouldn't exactly call myself a translator at this point, as I haven't ever really done anything like this before, though.
     
  6. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,366
    9,169
    Nov 21, 2005
    Afraid my little netbook is the only thing set up to handle DS ROMs that I have with me at this point and hacking things on such a low res is no fun at all so I am going to struggle to do my usual full workup

    Anyway in the base directory there are some NFTR fonts which is nice as that means you have the encoding. It could still be another font/setup is used in the game but as I also see FontColor.NCLR I would wager on it being the chosen font for the game. The game otherwise does seem to almost exclusively use the .pak extension. There is also a folder called script with sub directories having all sorts of things. I have not checked it yet but http://filetrip.net/nds-downloads/utilities/download-nftredit-1-9-f29196.html is usually pretty nice for this sort of thing, crystaltile2's more limited abilities here worked so it should work in that.

    I usually find in these situations a big file and a small file of the same type are good things to have. In this case I would also grab some non script related .pak files just in case something odd happens and I could figure something out with it.
    I could already see in Cystaltile2 that the starting values would be different (it tries to detect things, including compression, based upon them and had all sorts of ones going on)
    Big or small it looks like 8 bytes before it has ASCII what could be file or section names, even for the single file non script thing I grabbed.

    No immediately obvious file size but the first value might well be some kind of file/section count.

    Names appear to be of random lengths as well and no size value there (just 00 between them, maybe 0000 to end or it might just be alignment)

    The later 4 bytes might well be a first file start location and that is usually at the end of the file name section so no idea where sizes might be hiding. Normally now I would try to find a known format (I mentioned NCLR and NFTR earlier so it is a good bet that they do use some somewhere in this .pak stuff) but none of my initial 5 random (3 script) samples had that, though I did see .txt in there. This is mainly to see if they had some kind of size value at the start of things. I watched a video though and there did not appear to be much 2d in the normal game (it looks 2d but that is classic texture overlay and the amount of .tex I was seeing would seem to indicate texture rather than classic 2d and with it many known formats), though the UI is probably 2d at some level. As I was not seeing much compression (the rom barely trims at all and is just under 64 megs but the 7z version is 36) I tried a normal strings search on the ROM to see what shakes loose and back trace that to a file but I am going to have to leave it there for now as it would take all day on this screen (I ran a min length of 4 search and was north of 60000 hits, most of which were noise, before I even got out of the first maybe 10th of the ROM). I did see BCA0 though which is associated with various DS 3d formats in the NSBMD family and a more directed strings search pointed me at the the one in the submenu folder. The first value did still point to the end of the name section but what should have been a normal graphics format was not there and it appeared somewhat later so I imagine that is where the size values are located. I have to run though so I will leave it there for now.
    I should also note I grabbed the one from the xls npc file and saw a bunch of things saying MSG in there which does mean the script/translation might not be contained to the script directory.
     
  7. Lakum

    Lakum GBAtemp Regular

    Member
    142
    26
    Jul 24, 2014
    Malaysia
    https://gbatemp.net/threads/seeking-coder-metal-max-2-reloaded-translation.418480/

    I can barely find any gameplay footage of MM4 online. The best I found is trailer

     
    Last edited by Lakum, May 29, 2016
    amicus and Ambassador like this.
  8. Terithian
    OP

    Terithian Advanced Member

    Newcomer
    92
    22
    Oct 19, 2015
    Canada
    Thanks for taking the time to do that. I'm afraid a lot of what you said is a little beyond me, as I'm not all too familiar with files commonly used in DS games, and I don't have much experience with romhacking in general.
    In regards to your comments about 2D and 3D, the game uses a mix of the two, with the world/backgrounds being in 3D but all the character and monster sprites being in 2D, as well as the UI. The only exception is the tank status screen, which displays your tanks in 3D.
    As to where the script is stored, it seems to be in multiple places. The xls folder in particular seems to have a number of things in it, like item data, but the main barrier here still seems to be manipulating the .pak files.
     
  9. Lakum

    Lakum GBAtemp Regular

    Member
    142
    26
    Jul 24, 2014
    Malaysia
    Check your private message.
     
  10. Lakum

    Lakum GBAtemp Regular

    Member
    142
    26
    Jul 24, 2014
    Malaysia
    So what are prospects on this translation?
     
  11. Normmatt

    Normmatt Former AKAIO Programmer

    Member
    2,142
    544
    Dec 14, 2004
    New Zealand
    Probably not very high... the pak format is more complex than it really should be. The file name are stored in small chunks so its much harder to workout all the file names in each pak file. I made a very basic extractor but it requires knowing the file name inside the pak. I personally don't feel like writing a better extractor or any sort of inserter.
     
  12. DarthNemesis

    DarthNemesis GBAtemp Maniac

    Member
    1,211
    41
    Feb 19, 2008
    United States
    Here's what I can figure out of the pak format:

    [Header]
    0x00 - 2 bytes - File count
    0x02 - 4 bytes - File table offset
    0x06 - 2 bytes - Filename tree offset

    0x08 - Filename strings

    [Filename tree] array of nodes with the following format:
    2 bytes - number of children
    for each child:
    2 bytes - offset of string
    2 bytes - file table index if this is a leaf node (odd), otherwise offset in file table of first child (even)

    [File table] array
    2 bytes - file size
    2 bytes - offset

    Warning: Spoilers inside!

    Parsing the filenames is way over-complicated, but since all the offset and length info for the files themselves is in a separate table after that, the filename tree doesn't need to be modified at all to reinsert the files. You could even just ignore it and number off the files in order. The font uses Unicode encoding, so identifying which files contain text would be straightforward enough.
     
    Last edited by DarthNemesis, Dec 19, 2015
    Lakum likes this.
  13. Lakum

    Lakum GBAtemp Regular

    Member
    142
    26
    Jul 24, 2014
    Malaysia
    Where is the download link to this extractor?
     
    Last edited by Lakum, Dec 16, 2015
  14. DarthNemesis

    DarthNemesis GBAtemp Maniac

    Member
    1,211
    41
    Feb 19, 2008
    United States
    The weird filename format was an interesting challenge so I went ahead and wrote an inserter for it:

    Download Metal3Trans v1.3

    It only supports item names so far, but figure out how other files are formatted and I'll add more of them to it.

    EDIT: Updated to support more files.
     
    Last edited by DarthNemesis, Jan 16, 2017
    GHANMI, Pablitox and Lakum like this.
  15. Lakum

    Lakum GBAtemp Regular

    Member
    142
    26
    Jul 24, 2014
    Malaysia
    So this project appears stillborn unfortunately.
     
  16. Terithian
    OP

    Terithian Advanced Member

    Newcomer
    92
    22
    Oct 19, 2015
    Canada
    Yes, sadly, as it doesn't seem possible for me to extract the raw text. If someone else were to offer to handle all of that side of things, perhaps, but for now, no.
     
  17. Lakum

    Lakum GBAtemp Regular

    Member
    142
    26
    Jul 24, 2014
    Malaysia
    Have you tried to put a notice on romhacking.net help board?
     
  18. MetalFan

    MetalFan Member

    Newcomer
    35
    23
    Mar 30, 2016
    Cuba
    Hi fiends I was surprised when i found this topic . Im a big fan of the metalmax saga and always think , why nobody translating these games. I have some expperience in text translation but not much.In past years I make some progress with this game and i like to share it. I found the game scripts in the data\xls\pack_data.pak ,data\xls\npc\pack_data.pak and data\xls\data\pack_data.pak and almost all the graphics are inside of data\Menu\pack_data.pak until today Im not able to extract it from the .pak compression but i worked on the compressed file .pak and do some things. Last days I tested the tool release here by darthnemesis and it works perfectly thanks to darthnemesis finally a could decompress all these evil .pak files. Now a work with the trans of the ITEMLIST.NAM with some progress that only countaings the items names is easy not the same thing with the story script and found the pointers in the files SETUMEI_ITEM.SET , SETUMEI_SUBABILITY.SET and SETUMEI_TOKUGI.SET in xls folder. Please darthN continue updating the tool to work with the other files please count with my help for everything you need ok. I'm not a japanese translator if everyone want to colaborate with the project mail me and I send you the scripts files to translate. All I want is to see this great game translated. I put this captures screens of my advance. Mail ahmed@ipk.sld.cu

    — Posts automatically merged - Please don't double post! —

    These are the screens of my advance.
     

    Attached Files:

  19. Terithian
    OP

    Terithian Advanced Member

    Newcomer
    92
    22
    Oct 19, 2015
    Canada
    Oh, that's promising. I didn't quite get what you were saying about the dialogue script files, though. If you can extract the script at all, I am definitely still interested in translating the game. I don't have much time to do so for the next while, but I can do a bit here and there in my spare time if I have the script.
     
    Last edited by Terithian, Apr 1, 2016
  20. Lakum

    Lakum GBAtemp Regular

    Member
    142
    26
    Jul 24, 2014
    Malaysia
    Could release some alpha patch with what you translated? By the way way my antivirus program says that your file contains a virus and deletes it. Is that a false positive?