[Guide] Installing mods/hacks for Citra 3DS emulator

Discussion in '3DS - Tutorials' started by FriendlyHacker, Oct 19, 2018.

  1. FriendlyHacker

    FriendlyHacker Newbie

    Oct 19, 2018
    What you will need:

    - A decrypted .3ds file of the game you wish to mod
    - The mod you wish to install
    - 3DS to CIA by Katsu
    - 3dstool
    - Citra 3DS Emulator (you won't need it to do the hacking, only to run the game afterwards)

    How to install the mod:

    1. Rename your .3ds to <filename_modified.3ds>
    2. Extract the archives of both 3DS to CIA and 3dstool
    3. Drag and drop your .3ds on Make2.07.bat in the 3DS to CIA folder you've previously extracted. Wait until you get a window with this as the last line:

    Make your choice and press s to start [1,2,3,4,5,S,R,Q,6,7]?

    4. Leaving this command prompt (3ds_to_cia_2.07) open so you can later rebuild the game, go to the folder where the files have been extracted (don't move or delete the .3ds file which has been moved there) and copy the romfs file to the 3dstool directory which you've previously extracted.

    5. To extract the romfs file, use the following command:

    3dstool -xvtf romfs romfs.bin --romfs-dir romfs

    (If you're not familiar with using the command prompt, look it up or drop a comment and I'll explain step by step)

    6. Keeping the console open so you can later rebuild the romfs file, delete the file you've extracted and go to the folder which contains the extracted files.

    7. Depending on the mod, you'll now have to follow the instructions provided by the modder themselves, but generally you'll have to copy and paste the files provided by the the modder (usually replacing the original ones). Modders often provide different folders for HANS, Luma and NTR CFW but the files inside are the same. Just use the HANS ones if you don't know which ones to choose, and remember to use the ones for your region (USA/EUR/JP)!

    8. Having applied the mod/hack, go back to the command prompt and use the following command to rebuild the romfs file:

    3dstool -cvtf romfs romfs.bin --romfs-dir romfs

    9. Replace the modified romfs file with the one in the extracted folder, then go back to the 3ds_to_cia_2.07 window from step 3.

    10. Press 6 (Rebuild 3DS) and then s to start. Wait until the rebuilding is done, and you should get two folders with your original file and the modded one respectively. Done!

    If you have any questions, feel free to ask!

    (Also this is my very first post so if I've done anything wrong, please tell me. And since I'm new I can't post links so you'll have to look up 3DS to CIA on this site and 3dstool on GitHub. Sorry!)

    Credits go to the creators of Citra, 3DS to CIA and 3dstool. Thank you!
  2. Lglaplante

    Lglaplante Pkmn Rom Hacker

    Feb 12, 2017
    actually, 3dstool isn't needed for the most part, since you can just extract, mod, and rebuild the rom directly, but that's a good tutorial anyway
  3. FriendlyHacker

    FriendlyHacker Newbie

    Oct 19, 2018
    Oh, I'm sorry about that, it's just the method I used among all the possible ones. ^_^
    There are many tools out there one could use instead, but I found that 3dstool works like a charm for Japanese games because it supports unicode characters (which are often used in filenames), and not all tools do.
    I wasn't sure if 3ds to cia supported unicode characters or not so I used this method to be on the safe side just in case. :)
  4. Astragon

    Astragon Advanced Member

    Feb 13, 2017
    United States
    Okay, so I'm using the Karameru archive extractor to open up and mod Fire Emblem Fates to play the Good Guy Garon mod on Citra. The vanilla game runs just fine on Citra. But the mod only alters the cutscenes and dialogue between levels, nothing else, and yet the game opens but doesn't run at all on Citra.

    What am I doing wrong here?

    The only bit I think I might have not done right that you stated here was renaming the game to "filename_modified.3ds", but since I'm not using 3dstool I'm not sure if that's even necessary.

    I'm also interested in trying to run Pokemon Supernova Sun or Penumbra Moon in the future on Citra.
    Last edited by Astragon, Nov 20, 2018 at 3:00 PM
  5. FriendlyHacker

    FriendlyHacker Newbie

    Oct 19, 2018
    Hey, hi there! Renaming the file that way is needed so that 3DS to CIA can recognize your .3ds file as a decrypted file. If you don't do that you can't extract & rebuild it properly, as the program assumes your file is encrypted by default.
    Try renaming it and let me know if it works!
    Last edited by FriendlyHacker, Nov 20, 2018 at 9:52 PM