Discussion Astral Chain ROM Hacking Bible

Discussion in 'Switch - ROM Hacking, Saves, Translations & Tools' started by masagrator, Aug 29, 2019.

  1. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    This is thread not for cheats, but for getting every file extracted and reverse engineer most important files.
    Don't upload anything here that can be treated as legal property (clean textures and meshes especially).

    ROMFS
    romfs has five types of files:
    .wem - single audio WWise file
    .bnk - container with multiple audio WWise files
    .wai - WWise file containing informations about audio files
    .bk2 - bink video format
    .pkz - zstd archives containing table, file names and data.

    .pkz can be unpacked with this QuickBMS script (made by xentax user - link)
    Warning: Spoilers inside!

    PKZ archive
    And what we can get from it:

    .bin - strings used in game like characters names or dialogues, unreadable in current state
    .bnvib - vibrations data
    .dat - uncompressed archives made with table, file names and data.
    .dtt - as .dat, but made for purpose of separating bigger files from .dat for faster loadings, for example .wtp files
    .eff - effect files (whatever that means)
    .evn - .dat structure
    .vat - vertex animation texture
    .vfd - vectorfield data
    .wta - contains informations about textures in .wtp and properties of models
    .wtp - textures container

    .wtb - unknown
    .epb - unknown

    DAT archive
    For unpacking DAT type archives, you can use this script (without proper filenames):
    Warning: Spoilers inside!

    in DAT files we can find (based on real filenames, not guessed by quickbms script above):
    .bnk - archive for WWise audio files
    .col - properties of models/textures
    .csv - file containing binary data and some comma-separated values
    .evn - .dat structure
    .ftb - contains informations about font
    .ktb - contains informations about font
    .mtg - MessageTagSetting
    .sar - XML binary file
    .wmb - mesh
    .wta - contains informations about textures in .wtp and properties of models
    .wtp - container for textures

    .bxm - unknown
    .eft - unknown
    .epb - unknown
    .est - unknown
    .gad - unknown
    .hkx - unknown
    .mot - unknown
    .pso - unknown (shader related)
    .seq - unknown
    .sop - unknown
    .uvd - unknown
    .uid - unknown
    .vso - unknown (shader related)

    I was trying to get little fun with exefs and I found 2 things that maybe someone will be interested to dig more (they are breaking function, so expect game to unexpectedly crash just in case):
    Based on 1.0.1 version of game
    Coloring some texts (I didn't test if this is related to color GUI)
    Warning: Spoilers inside!
    Blocking loading informations about Police Station (so no walls made by map, only wall limiting whole scene) and audio related to it
    Warning: Spoilers inside!

    If someone will find more info about how to open prioprietary files, I will add it next to file type.
     
    Last edited by masagrator, Aug 31, 2019
  2. ioritree

    ioritree Member

    Newcomer
    4
    Jan 4, 2015
    Taiwan
    cool , thank you
     
  3. wangch

    wangch Advanced Member

    Newcomer
    2
    Apr 12, 2019
    United States

    Is romfs the file that NAC unpacked and unpacked? Can I find all the item codes through this file?
     
  4. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    Sorry, but I don't understand what You are you trying to say. :P
     
  5. wangch

    wangch Advanced Member

    Newcomer
    2
    Apr 12, 2019
    United States
    After I decompress the xci, I get a NAC file, decompress the NAC file, and then I get a romfs. bin file. Are you talking about this file?
     
  6. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    Nope. I mean files in romfs. You are using probably old tutorial, because noone is using romfs.bin nowadays.
     
  7. wangch

    wangch Advanced Member

    Newcomer
    2
    Apr 12, 2019
    United States
    thank you
     
  8. dsrules

    dsrules GBAtemp Guru

    Member
    11
    Sep 20, 2005
    he meant, could you get a list of all the item ids in the game after extracted all the files
     
  9. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    .csv contains some informations, but I don't know if there is anything you want
     
    dsrules likes this.
  10. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    Updated pkz script with the one that outputs correct filenames.
     
  11. muskieratboi

    muskieratboi Rydian's got some competition!

    Member
    4
    Sep 19, 2012
    Any chance of an unlocked framerate mod for this? I'd like to see if it might actually hit 60FPS Oc'd. :)
     
  12. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    For now no chances, because I can't see anything that can unlock framerate. I only found how to change speed of rendering gameplay and HUD. Cutscenes are still with the same pace.
     
    Khodeus likes this.
  13. phonz

    phonz GBAtemp Regular

    Member
    5
    May 1, 2018
    Canada
    disassembling main, you can find references to performance modes iirc. Might just be left over stuff from the engine though? Or I might be crazy and thinking of a different game.
    Or maybe that's what you were playing with as well?
     
  14. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    PerformanceMode is for detecting docked or handheld mode.
    I used it with OperationMode to create ReverseNX.
     
    phonz likes this.
  15. Yanda

    Yanda GBAtemp Regular

    Member
    3
    Aug 26, 2015
    Has anyone found text data that can be read?
     
  16. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    .csv has some readable text data, but they are not translation files.
     
    Yanda likes this.
  17. cucholix

    cucholix Banners guy

    Member
    9
    Jan 17, 2017
    Chile
    It’s a shame that the intro song isn’t available in japenese :c
     
  18. orangpelupa

    orangpelupa GBAtemp Regular

    Member
    5
    Aug 7, 2009
    Indonesia
    @masagrator

    thanks a ton! have you found whats responsible for the dynamic resolution and framerate? wanna lock the res and try making it run @ 60fps :D

    btw the UI color is change-able inside the game. Dunno we can choose arbitrary color or not. Many options are srtill locked


    IIRC, mine was in Japanese, complete with JP staff names
     
  19. masagrator
    OP

    masagrator The developper

    Member
    11
    Oct 14, 2018
    Poland
    I didn't check resolution. I tried everything I could for FPS and only found that animations speed for gameplay is taking 1/60 float and one function is multiplying it by two. I couldn't disable FPS lock.

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

    Sorry, wrong. I mixed other game with this multiplyier and float. For speed animations it's using getsystemtickfrequency(). Multiply it by two and you have 1s rendered in 60 frames, but because of lock it slows down game twice.
     
    Last edited by masagrator, Sep 2, 2019
  20. orangpelupa

    orangpelupa GBAtemp Regular

    Member
    5
    Aug 7, 2009
    Indonesia
    hmm i wonder if the lock can be disabled thru realtime cheat in edizon. gotta need to learn edizon again, has been months since last time i use it hahaha
     
Quick Reply
Draft saved Draft deleted
Loading...