looking for hacker to translate shining force feather

Discussion in 'NDS - ROM Hacking and Translations' started by corblimey111, Oct 19, 2009.

  1. corblimey111
    OP

    Newcomer corblimey111 Member

    Joined:
    Sep 25, 2009
    Messages:
    11
    Country:
    Australia
    i don't know the first thing about hacking, but what i do know is Japanese, so do my friends and family, if somebody can strip all the text or work with me in whatever way works best for them, i would love to translate this game, i don't see it getting an English release and i think if someone or (more than one) moved on this a lot of people would be very happy.

    any other help or advice would be welcome [​IMG]
     


  2. qwsed

    Member qwsed GBAtemp Regular

    Joined:
    Oct 23, 2008
    Messages:
    152
    Country:
    Anguilla
    I second this! Please help the guy out [​IMG]
     
  3. azerty1

    Member azerty1 GBAtemp Regular

    Joined:
    Mar 22, 2009
    Messages:
    160
    Country:
    Canada
    I took a glance at the rom once before. there are tonnes of .ahx files, which i think are sound files. i couldn't find the text from just opening the rom and searching, so i'm assuming the text is either compressed or encrypted. i didn't take that long of a look, though, so i could've missed something...hope that helps...
     
  4. neoxephon

    Member neoxephon GBAtemp Fan

    Joined:
    Jul 13, 2009
    Messages:
    437
    Location:
    USA
    Country:
    United States
    If I remember correctly, there is a good amount of text in arm9.bin and possibly the overlays. I'm not sure about the overlays, though, as it has been months since I looked at it.

    Also, if I remember correctly, the fonts only have double byte English characters. So, those would have to be edited if there was a desire to use single byte.
     
  5. azerty1

    Member azerty1 GBAtemp Regular

    Joined:
    Mar 22, 2009
    Messages:
    160
    Country:
    Canada
    i haven't looked for a few months, either, but i'm sure it had an .NTFR file in there, which means the font is easy to fix...
    i've still got the rom stashed in my laptop. i'll take a closer look...
     
  6. corblimey111
    OP

    Newcomer corblimey111 Member

    Joined:
    Sep 25, 2009
    Messages:
    11
    Country:
    Australia
    excellent to see people getting on to this so fast, i wish i had the time to learn the hacking side of things, unfortunately that is an unforeseeable future for me at the moment,

    keep up the great work guys!
     
  7. neoxephon

    Member neoxephon GBAtemp Fan

    Joined:
    Jul 13, 2009
    Messages:
    437
    Location:
    USA
    Country:
    United States
    I wish the fonts were NFTR. From what I remember they are tile based, the kind you'd need to use a tile editor to view.
     
  8. azerty1

    Member azerty1 GBAtemp Regular

    Joined:
    Mar 22, 2009
    Messages:
    160
    Country:
    Canada
    yeah. my memory's faulty.
    oh, the overlays are definitely not the text, and i'm sure the text is going to be compressed. there's like, opening movies and all that stuff, and from what i could see on gamefaqs, it's an rpg. which means loads of text, which means some level of compression...
    all the files in there are movie files, sound files and finally the .pac files. I'm sure the one labelled script.pac is the winner, but it's either compressed, encrypted, or uses some random table...i just finished with another thingy, so i'll start working on this one and see if i can find anything...
     
  9. neoxephon

    Member neoxephon GBAtemp Fan

    Joined:
    Jul 13, 2009
    Messages:
    437
    Location:
    USA
    Country:
    United States
    At the least, character names are in arm9.bin, possibly some other text as well.
     
  10. azerty1

    Member azerty1 GBAtemp Regular

    Joined:
    Mar 22, 2009
    Messages:
    160
    Country:
    Canada
    meh...i have zero experience with whatever is in there...there seems to be nothing i can make sense of what's in the .pac files, the overlays seem to have nothing of use and everything else is a movie or sound file...
    i'm thinking it's a bit above my level...i've never dealt with anything other than LZ compression, and this is clearly not LZ77 compressed. i'm betting tales of hearts has something like this, right? it's a giant game with giant amounts of text...how did you and your team work through that?
     
  11. neoxephon

    Member neoxephon GBAtemp Fan

    Joined:
    Jul 13, 2009
    Messages:
    437
    Location:
    USA
    Country:
    United States
    ToH uses LZ77 compression.

    Check arm9.bin, which is LZ77 compressed. You can use CT2 to decompress it. Make sure you are viewing it with Shift_JIS encoding. Go to offset 082334, there is some text that starts there.
     
  12. DarthNemesis

    Member DarthNemesis GBAtemp Maniac

    Joined:
    Feb 19, 2008
    Messages:
    1,208
    Country:
    United States
    Hours of staring at the archive files and collecting metrics across all of them to find patterns. Also reverse-engineering an LZ77 variant by comparing the data before and after decompression.
     
  13. valyr

    Member valyr GBAtemp Fan

    Joined:
    Sep 15, 2007
    Messages:
    317
    Location:
    United Kingdom
    Country:
    United Kingdom
    the script.pac file can be opened with crystaltile2 by using the nds file system tool, right click on the pac file and select subfile sort. in the new window that comes up there are about 316 lz compressed files which can be extracted and decompressed from there

    extract from script-1.ps13.lz (first file in script.pac)

    Code:
    ($9A)($01)($01)($00)4($00)($00)($00)($98)($01)($01)($00)($01)($00)($00)($00)($
    9B)($01)????????????($00)($00)($9B)($01)??????????
    ??($00)($00)($9B)($01)??????????($00)($00)($9C)($01)($9B)($01)?
    ????????($00)($00)($9C)($01)($9B)($01)????????????($00)($
    00)($9B)($01)???????????($00)($00)($9B)($01)????($00)($00)($9C)
    ($01)($9B)($01)?????????($00)($00)($9B)($01)?????????($00)(
    $00)($9B)($01)?????????????($00)($00)($9C)($01)($9B)($01)?
    ???????????($00)($00)($9B)($01)????($00)($00)($9C)($01)($9B)($
    01)?????????????($00)($00)($9B)($01)????????????
    ?($00)($00)($9B)($01)???????????($00)($00)($9C)($01)($99)($01)($08)
    ($00)($9E)($01)($01)($00)c($00)($00)($00)($9A)($01)($01)($00)4($00)($00)($00)
    ($98)($01)($01)($00)($01)($00)($00)($00)($9B)($01)???????????
    ?($00)($00)($9B)($01)???????($00)($00)($9C)($01)($9B)($01)???
    ???????($00)($00)($9B)($01)????????????($00)($00)($9C)($01)
    ($9B)($01)????????????($00)($00)($9B)($01)?????????
    ???($00)($00)($9B)($01)?????????($00)($00)($9C)($01)($99)($01)($08)
    ($00)
    
    +++($9E)($01)($01)($00)c($00)($00)($00)($9A)($01)($01)($00)4($00)($00)($00)
    ($98)($01)($01)($00)($01)($00)($00)($00)($9B)($01)???????????
    ??($00)($00)($9B)($01)????????????($00)($00)($9B)($01)??
    ??????????($00)($00)($9C)($01)($9B)($01)???????????
    ??($00)($00)($9C)($01)($9B)($01)????????????($00)($00)($9B)($01)
    ???????????($00)($00)($9C)($01)($99)($01)($08)($00)+++
    
    ($9E)($01)($01)
    ($00)c($00)($00)($00)($9A)($01)($01)($00)4($00)($00)($00)($98)($01)($01)($00)
    ($01)($00)($00)($00)($9B)($01)?????????????($00)($00)($9B)($01)?
    ????????????($00)($00)($9B)($01)?????($00)($00)($9C)($01)($99)
    ($01)($08)($00)($9E)($01)($01)($00)c($00)($00)($00)($9A)($01)($01)($00)4($00)
    ($00)($00)($98)($01)($01)($00)($01)($00)($00)($00)($9B)
    sorry about the messy hex code the text dump was done with windhex

    looking quickly at the code 9b01 seems to be the newline code while 9c01 seems to denote a new textbox
    though i may be wrong i dont have much experience with deciphering the control codes
     
  14. azerty1

    Member azerty1 GBAtemp Regular

    Joined:
    Mar 22, 2009
    Messages:
    160
    Country:
    Canada
    heh...cool. maybe i should start using CT2 more often...windhex is my current favourite right now...
    deciphering control codes is pretty much my specialty. i'll try it out and start an extractor once school's over. from the looks of what i see here, you're probably right. which is good. i find that things that initialize textboxes rather than count bytes make life much easier. [​IMG]
     
  15. valyr

    Member valyr GBAtemp Fan

    Joined:
    Sep 15, 2007
    Messages:
    317
    Location:
    United Kingdom
    Country:
    United Kingdom
    @ azerty1 ive broken out a section of text for you in my above example so you can see the complete code line
    from beginning to end but i am still checking other files from the script.pac to see if the code lines match

    EDIT. definitly no singlebyte font in this game have tried to edit text lol, the edit works but text is scrambled
    severly. btw the 1st text file used in game is script-30.ps13.lz if that helps anyone
     
  16. azerty1

    Member azerty1 GBAtemp Regular

    Joined:
    Mar 22, 2009
    Messages:
    160
    Country:
    Canada
    ok...i'm done the 50 lines of code to extract all the text, but it's kinda useless until we figure out how to put it back in...

    for that, i'm wondering if anyone has a more efficient means of corruption-testing it.
    so far, all i've been able to do was extract it with crystaltile2, decompress it, edit whatever, recompress it, put it all back into script.pac, save it somewhere else, open it back up with windhex, dump binaries, search for where script.pac is in the whole rom, and then plug it all back in. it takes eight minutes to check one byte...
    and unfortunately nitroexplorer doesn't work on my computer...

    well, in other news, B101 is the "new line" command. i'm fairly certain the byte that defines the picture of whoever is 10 bytes after the end of the text and i also think that the voice is defined by two bytes that seem to increase every time someone says something. it's something like the 8th and 9th byte before the new line call.
    the text in script-1 seems to be menu stuff. or tutorial stuff. with the little katakana and hirogana i know, i can tell that people don't say "System Menu" and "Mithril Dagger" or whatnot.
    either way, it seems to work different from the rest of the text. i should probably add that file format to the extractor as well.

    here's my extractor if anyone wants it...
    http://www.megaupload.com/?d=AZ6W7P0Q
     
  17. valyr

    Member valyr GBAtemp Fan

    Joined:
    Sep 15, 2007
    Messages:
    317
    Location:
    United Kingdom
    Country:
    United Kingdom
    how does it work
     
  18. qwsed

    Member qwsed GBAtemp Regular

    Joined:
    Oct 23, 2008
    Messages:
    152
    Country:
    Anguilla
    Wow guys, im loving this! Keep up the good work!
     
  19. azerty1

    Member azerty1 GBAtemp Regular

    Joined:
    Mar 22, 2009
    Messages:
    160
    Country:
    Canada
    the extractor? all it does is look for B101 and reads stuff until 0000. I am very sure it got all the text.
     
  20. corblimey111
    OP

    Newcomer corblimey111 Member

    Joined:
    Sep 25, 2009
    Messages:
    11
    Country:
    Australia
    azerty1, thats excellent!

    so what would be the next step from here to get it to me to translate?

    im assuming it needs to be broken up into separate segments and whatnot?
     

Share This Page