Phantasy Star Nova Translation [We need your help!]

Discussion in 'PS Vita - Hacking & Homebrew' started by AIDA, Sep 14, 2016.

  1. AIDA
    OP

    AIDA Member

    Newcomer
    47
    172
    Aug 3, 2016
    Maritropa
    image.jpeg

    :arrow: Patch updated! See http://arks-layer.com/nova.php for the latest version and help on installing it.


    Current status of Nova translation:

    - Game dumped, modification possible ✔
    - CPK file successfully repacked ✔
    - Files modified, patching possible! ✔
    - Proof of concept created! LET'S GET THIS SHOW ON THE ROAD! ✔
    - Finish with our new fontmap tool so we can do a proper textdump and find out where all these strings are hiding! ✔

    To do:

    - Translate stuff! \ o /

    Feel free to join our discord channel: https://discord.gg/PSO2

    Thanks for reading, and here's to more vita games being translated! o/
     
    Last edited by AIDA, Jul 10, 2017
  2. Abu_Senpai

    Abu_Senpai The Red King

    Member
    1,518
    779
    Jul 13, 2014
    United Kingdom
    Tokyo
    Finally the day has come
     
    Pluupy and MKKhanzo like this.
  3. kftX

    kftX Member

    Newcomer
    48
    13
    Aug 13, 2016
    I have asked Wololo to retweet this thread and tried to reach Rinnegatamante to see if he knows anything about this. Have you tried /r/vitahacks? Devs frequent the place and many users have done such things as figuring out the encoding of .wav files for Binding of Isaac and such.

    I love your team's work on PSO and hope you can figure out how to get past this obstacle!
     
    Abu_Senpai likes this.
  4. dmc310

    dmc310 GBAtemp Regular

    Member
    245
    28
    Dec 28, 2013
    United States
    Awesome work guys hopefully it can get done
     
    Abu_Senpai likes this.
  5. AIDA
    OP

    AIDA Member

    Newcomer
    47
    172
    Aug 3, 2016
    Maritropa
    Thanks for the positive feedback, everyone! We've had some people join our discord and get the ball rolling - It looks like *some form of text* is in the RMD files, whereas the older files we were looking at are just texture information. (Mean of them to label them ui_* like the PSO2 PC text files ; _ ; ). I've added a few samples to the OP if anyone wants to get cracking on it. (And no, it's not an R language markdown file :P)

    Cheers!
     
  6. Nagato

    Nagato GBAtemp Advanced Fan

    Member
    531
    514
    Jul 15, 2011
    United States
    I'm in class right now so my ability to mess with things is limited, but I got somewhere on the aiff image format. Value at 0xa8-0xac seems to be the width and height. Starting at 0x1e0 seems to be PVR image data.

    http://imgur.com/MKm25XE
    http://imgur.com/gNntmlu

    The exact PVR format needs to be determined though, but you can clearly see it decompressing and the general outline of the images. I think these are decompressed using 2bit or 4bit mode.

    Edit: Also, just a guess, but I think the crbpj files are animation-related. So you may not need to modify those unless you are trying to do anything really fancy.

    Edit 2: Now that I think about it, the crbpj probably defines boundaries for each individual part of the aiff image. Maybe.
     
    Last edited by Nagato, Sep 15, 2016
  7. rjshooter

    rjshooter Member

    Newcomer
    12
    5
    Sep 16, 2016
    Indonesia
    Sending more positive vibes to this project :yaypsp:
    So yeah since PS Nova ain't getting any English release, sucks to be us people who don't understand Japanese (or too lazy to learn, yeah, I know :().
    I hope this project will be a huge success! :lol:
     
    Abu_Senpai likes this.
  8. masl

    masl Newbie

    Newcomer
    2
    4
    Sep 16, 2016
    Gambia, The
    Hi,
    I did some testing around, and I think I know how to decode the AIF Files. The File is saved in Little Endian.
    You can see this by opening it in a Hex Editor. At the beginning of the File you will find the Letters " FIA" --> "AIF " and "ATIV" --> "VITA"

    The general Format seems to be a Variant of the IFF Format (https://en.wikipedia.org/wiki/Interchange_File_Format) or RIFF Format (https://en.wikipedia.org/wiki/Resource_Interchange_File_Format). More likely to be RIFF because of Little Endian.
    You can Find the Offsets for the different Containers (with Keywords: "AIF ", "AMF ", "head", "buff", "addr" etc. ) right after these Keywords. So if your Keyword Beginns at 0x0000 and the offset is 0x0010 the Container goes until 0x0000 + 0x0010 = 0x0010. A Keyword as well as the Offset has a Size of 4 Bytes. Containers can contain other Containers and raw Data. The "AMF " Container is the biggest one. It Contains a "head" a "buff" a "addr" container and raw Data which seems to be an "Array" of data with 16-Byte entries.
    Most probably this is not the File you are looking for because this "Array" is to regular (lots of same entries, e.g. "00000000 00000000 F7BEFFFF 00000000").

    So the crttl Files are also ineligible because they only Contain aif File Names. (You can open it in a Text Editor of your choice. Enconding seems to be ASCII. With a newline char after every Filename and a "Null" Character at the End of the File)
    The crttl Files and crbpj Files are in Big Endian.

    Hope I could help a bit
    --Masl
     
  9. Nagato

    Nagato GBAtemp Advanced Fan

    Member
    531
    514
    Jul 15, 2011
    United States
    @masl I made a tool last night that can read the AIF files well enough. The biggest thing right now is to figure out the image compressions, and then the rest would fall in place for the most part I believe.


    If anyone wants to use it as a reference, here's the code: https://github.com/Arks-Layer/aif_tools/blob/master/parse_aif.py

    Nova only has 4 different image compressions. One of them was RGBA, and only used in one file, so that part of the code is definitely right. The other 3 compressions I took a guess at (DXT1 guess came from the filename of the files, but do have images similar to DXT1 so I think it might be on the right track) but I can't get them to decompress correctly.
     
    cearp and Skardale like this.
  10. cearp

    cearp the ticket master

    Member
    7,552
    4,815
    May 26, 2008
    Tuvalu
    @AIDA (and anyone else) - if it's not too much work, if in your unpacking you could share the item list and item ids with me so I can add them to my save editor, that would be great :)
    http://gbatemp.net/threads/release-supernova-phantasy-star-nova-save-editor.438000

    thanks!

    (i have a nearly finished inventory+box editor for atelier meruru that I worked on and didn't release yet because a little bug, but I can easily move that to nova)
     
    Last edited by cearp, Sep 17, 2016
  11. AIDA
    OP

    AIDA Member

    Newcomer
    47
    172
    Aug 3, 2016
    Maritropa
    Of course! If/when we come across it, we'll let you know.
     
    cearp likes this.
  12. cearp

    cearp the ticket master

    Member
    7,552
    4,815
    May 26, 2008
    Tuvalu
    i spoke on discord after writing that - thanks! :)
     
  13. masl

    masl Newbie

    Newcomer
    2
    4
    Sep 16, 2016
    Gambia, The
    @Nagato
    I've now written a own tool, that lets me open the Files. It tries to Convert the Files to the PVR File Format, which is Simple and Supports all the other Output Formats like DXT1. (See: http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf and http://cdn.imgtec.com/sdk-documentation/PVRTC+&+Texture+Compression.User+Guide.pdf). You can Open these files with a tool called PVRTexTool (See: https://community.imgtec.com/developers/powervr/tools/pvrtextool/).

    The Repo to my Tool is: https://github.com/masl123/AIF_Converter

    To get the image right, I always just skipped one byte of the imagedata and then saved one. (Thats also why there are two Versions of the same Image). The important bits of Code are in the PVRFormat and Chunk classes.

    These are the results I've got. Only thing to Fix, are the Colors, although I think that these two "Images" have to be Combined somehow, to get the right ones. Would be interesting to see what happens when you change some bytes. (to find out, if its RGB or HSB or some other Color Model).

    [​IMG][​IMG][​IMG][​IMG]


    Edit: I now fixed the Images having reversed width and height
     
    Last edited by masl, Sep 17, 2016
    satan89, dmc310, cearp and 1 other person like this.
  14. Nagato

    Nagato GBAtemp Advanced Fan

    Member
    531
    514
    Jul 15, 2011
    United States
    @masl I finished my tool earlier. It's able to decompress all but 1 image (a lone image with a weird image format). All of the other images decompress correctly. I posted it on their Discord, but if you're interested in checking it out:
    http://pastebin.com/y8Z3GK4R

    The lone image that doesn't decompress, pl_ah_8010_s_uu_xx.aif, I think might be 16bits per color but I feel like that's wrong, or it might be 16bpp. It's not a huge deal though since it's not a key image (just a model texture).

    Samples:
    [​IMG]
    [​IMG]

    [​IMG]
     
    Last edited by Nagato, Sep 18, 2016
  15. cearp

    cearp the ticket master

    Member
    7,552
    4,815
    May 26, 2008
    Tuvalu
    beautiful! i don't remember that rainbow graphic when i played though

    what reason may there be for different image formats in one game?
     
  16. AIDA
    OP

    AIDA Member

    Newcomer
    47
    172
    Aug 3, 2016
    Maritropa
    Hey all - We (and by we, I mean Nagato) found a way to streamline the patching process - We were able to modify the title screen through using a very small CPK file. This means that, barring any issues we encounter, the english patch size will be very small, and will simply be "FTP this file over and play". \ o /
     
  17. cearp

    cearp the ticket master

    Member
    7,552
    4,815
    May 26, 2008
    Tuvalu
    i just noticed L2/R2, L3/R3 in the texture @Nagato posted... we can use those button on vita tv for something? or just leftovers

    thanks for the progress updates :)
     
  18. Kamiyama

    Kamiyama GBAtemp Fan

    Member
    485
    24
    Mar 14, 2007
    Finland
    The game supports PSTV. R3 is for free aim and etc.

    If there's gonna be stuff in Google Docs or something in near future, I can help a little with the translation. I've been playing the game recently and I've thinking some translations for items, quests, classes and names of NPC characters already. Good to see that AIDA and others are doing some magics for this game. I've used AIDA's PSO2/es translations a lot and I can say that they are better than most of Sega's official translations.
     
    cearp likes this.
  19. AIDA
    OP

    AIDA Member

    Newcomer
    47
    172
    Aug 3, 2016
    Maritropa
    Look at the bottom left corner - A quick proof of concept (by Nagato)! Everything is in place! As long as nothing else breaks, you can look forward to "when" the Nova translation comes out, it's no longer an "if". :)

    [​IMG]
     
  20. hii915

    hii915 GBAtemp Fan

    Member
    438
    146
    Dec 9, 2015
    United States
    Earth, GBAtemp
    YAY! Good job guys I wish you success and good luck!
     
    Abu_Senpai likes this.