Fates Hacking Tools/Utilities

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by thane98, May 17, 2016.

  1. thane98
    OP

    thane98 GBAtemp Advanced Fan

    Member
    559
    266
    Apr 23, 2016
    United States
    I put together a couple different tools for hacking and changing things around for Fire Emblem Fates. I thought it was about time that I put together a unified place for the tools and any future updates, so here we are!

    I'll be the first to say that these tools might be a little clunky to use; however, they do work, and can save a pretty decent chunk of time. I'm always up for adding expanding functionality or making things easier to use, so feel free to leave feedback and suggestions and I'll do what I can. I hope that these tools can be of some use to others.

    Fates Conversation Maker
    Warning: Spoilers inside!

    Fates Music Changer
    Warning: Spoilers inside!

    Additionally, I'm working on a tool for adding in new talk events to maps, but it's not quite there yet. It's got basic functionality, but it lacks some additional features that I think most people would want for talk events, so it'll be awhile before I release it.
     
    Last edited by thane98, May 17, 2016
    Katsu78 likes this.
  2. MsMidnight

    MsMidnight part time fe modder

    Member
    1,753
    1,308
    Oct 12, 2015
    kys
    i have a web based conversation maker for Fates based off of my awakening one, but the FE:Fates boxes keep on fucking me up. so its the awakening boxes for now
     
  3. Verack

    Verack GBAtemp Regular

    Member
    126
    64
    Nov 11, 2010
    United States
    Is it possible to make a program (or modify your current one) to work backwards? As in, give the application a .txt file and have it spit out in plain English (without all the wonky code and formatting)? It would make editing the game's current files considerably easier.
     
    Last edited by Verack, May 17, 2016
  4. FlappyFalco

    FlappyFalco Smile, No Matter How Bad it Gets~

    Member
    232
    132
    Oct 11, 2015
    Ireland
    The deepest recesses of my mind
    Would you perhaps consider making a tool that can replace character voices in the BCSAR? @Gericom was supposed to add a BCSAR rebuilder to Every File Explorer, but he doesn't seem to be working on it anymore.
     
  5. thane98
    OP

    thane98 GBAtemp Advanced Fan

    Member
    559
    266
    Apr 23, 2016
    United States
    Hey, sorry for not getting back on the questions.

    That could likely be done, though it would require a completely different program - with the way I have things set up currently, I would have to build something like that from the ground up.

    I'm currently working on some stuff with regards to GameData.bin, which will likely take awhile. But I might take a look at changing things in the BCSAR file afterwards. I seriously doubt that I could write something to rebuild the entire BCSAR, but to my knowledge editing existing entries in the BCSAR should be possible.
     
    FlappyFalco likes this.
  6. FlappyFalco

    FlappyFalco Smile, No Matter How Bad it Gets~

    Member
    232
    132
    Oct 11, 2015
    Ireland
    The deepest recesses of my mind
    Yeah, that has been done with a hex editor before (in MK7, I believe), the sound file would have to be the same size as the original. However, if the file was smaller, you could just fill it up with zeroes until it's the same size, but if it's bigger than the original you're SOL.

    You probably already know this, but the BCSAR is a sound archive, containing CWAVs, the 3DS sound format.

    The reason for this is because of the STRG partition at the top of the file, it assigns names to each CWAV file, and when the game wants to call upon a sound effect/song it looks for this name. Either the STRG or the INFO blocks also tell the game where the CWAV actually is in the BCSAR, it lists the address or offset in the file where the CWAV can be found.

    If you were to put in a different sized CWAV, the addresses would be wrong for every file after the file you replaced, and the game would be unable to find the SFX or music. So, if you wanted to replace a CWAV with a bigger sound, I'd have to change the addresses listed in STRG or INFO (i.e, the pointers) to the new ones for every file after the file I replaced.

    Another thing is the 2 male and 2 female voices for Kamui/Corrin that were cut from the American and PAL games. If you were to replace the IRON15_sound.bcsar in the American/PAL game with the one from the JP game, and then save edit or use a Japanese save where Kamui has voice 4 or 5, they'll be heard in game, proving that to add them back in, all you would need to edit would be the BCSAR.

    In fact, if you go into the English BCSAR and check either male or female Kamui's "block" (called a CWAR in the file), you'll find the two "stumps" where the block of CWAVs used to be.

    My only problem is that I cannot actually find these pointers to the CWARs (or indeed the first CWAV in the block) anywhere in the BCSAR. And yes, I tried it in reverse byte order. If I knew where they were, I could technically change them to match the new location of the files and replace a small file with a bigger one. However, depending on how high up the file is in the BCSAR, it could take a while.

    @soneek seems to have a much better understanding of the structure of the BCSAR file, as he made a tool to dump individual CWAVs from them. It even organizes all the sounds from one CWAR block into the same folder, so for example in Fates it would dump all the voices from one character into one folder. @Thelostrune also seems to have an interest.


    Soneek's tool:

    https://mega.nz/#!Atk33BaS!1FyllP6Qngg-xqMEX5I2Nu4EDxFdQ2_WNnCMGwd5ZEc
     
    Last edited by FlappyFalco, May 24, 2016