What you will need:
- 64-bit OS
- A decrypted .3ds file of the game you want to mod
- The mod you want to install
- 3DS to CIA by Katsu (python 2.7 required)
- 3dstool
- Citra 3DS Emulator (you won't need it to do the hacking, only to run the game afterwards)
How to install the mod:
0. Before you start, if you don't already have it, download Python 2.7 with the link provided and install it; also, if you use Windows you must add Python to the PATH Environmental Variable. (To check whether you need to do this last bit, type python in the command prompt and hit Enter: if you get the message 'python' is not recognized as an internal or external command, you need to add Python to PATH.)
<!> Since many people are asking me about Fire Emblem Fates, namely adding the Same-sex Marriage patch by @UnassumingVenusaur, I'll use it as an example.
1. Rename your .3ds to <filename_modified.3ds>. Extract the archives of both 3DS to CIA and 3dstool
2. Drag and drop your .3ds on Make2.07.bat in the 3DS to CIA folder you've previously extracted.
Wait until you get this window:
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, here is a quick walkthrough:
+++++++
To open the command prompt, go to Start and type "cmd" and open the program that comes up.
You'll get a black window. Type this in (including the first space): cd "path to the 3dstool folder on your computer goes here"
Hit Enter, and you should get a string with the path to the 3dstool folder.
For instance, on my pc, I type:
C:\Users\Username> cd "C:\Giochi\Nintendo3DS\3ds hacking tools\3dstool"
And I get:
C:\Giochi\Nintendo3DS\3ds hacking tools\3dstool>
To extract the romfs file, use the command:
3dstool -xvtf romfs romfs.bin --romfs-dir romfs
Following the example above, it'll look like this:
To use the command, after you've copy-pasted 3dstool -xvtf romfs romfs.bin --romfs-dir romfs, hit Enter.
Wait until 3dstool is done extracting the romfs.bin file. You'll know when it stops and the same string with the path to the 3dstool folder appears.
+++++++
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 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)!
In the case of FEF, copy the contents of the HANS version>Your region folder, and paste them in the romfs folder:
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.
10. Go back to the 3ds_to_cia_2.07 window from step 3, press 6 (Rebuild 3DS) and then s to start
Wait until the rebuilding is done. (The process is pretty long and heavy, you likely won't be able to do anything else in the meantime.)
You should get two folders with your original file and the modded one respectively. Done!
POSSIBLE ERRORS
An issue people who use Windows 10 have run into is the batch file (3ds to cia; step 2) not running at all (opening and closing right after). This may be caused by encoding.
If you've got notepad++ (or if you don't, you can find it among the 3ds to cia "tools": 3ds_to_cia_v2.07\tools\n++), you can open the batch file for editing with it and check "Encoding". If anything else besides UTF-8 (or ANSI) is selected, you should select UTF-8 (without BOM) and save the file.
Most errors occur when rebuilding the .3ds file (step 10), and they're mostly related to the rsfgen.py script and Python by extension.
If you get this error up here, it means you have Python 3.5 installed, and it's being used to run the script instead of Python 2.7
Other instances:
- You don't have Python installed
- Python is installed in a partition where the system can't find it: install python in the same partition where your OS is!
- [Windows] Python's directory hasn't been added to the PATH e.v. (see Step 0)
- Python is not selected as the program to open .py files. If this happens, Pythonw.exe might have been selected to open .py files, while it should be Python.exe. In this case a white window with the script will appear, and once you close it, you'll get the fateful ERROR. You'll have to change the default program to open .py files to the correct one.
(If you see this the default program used to open .py files is pythonw.exe, you need to change it to python.exe)
In case you experience any other issues, tell me and I'll help you out!
-------
If you have any questions, feel free to ask!
Credits go to the creators of Citra, 3DS to CIA and 3dstool. Thank you!
- 64-bit OS
- A decrypted .3ds file of the game you want to mod
- The mod you want to install
- 3DS to CIA by Katsu (python 2.7 required)
- 3dstool
- Citra 3DS Emulator (you won't need it to do the hacking, only to run the game afterwards)
How to install the mod:
0. Before you start, if you don't already have it, download Python 2.7 with the link provided and install it; also, if you use Windows you must add Python to the PATH Environmental Variable. (To check whether you need to do this last bit, type python in the command prompt and hit Enter: if you get the message 'python' is not recognized as an internal or external command, you need to add Python to PATH.)
<!> Since many people are asking me about Fire Emblem Fates, namely adding the Same-sex Marriage patch by @UnassumingVenusaur, I'll use it as an example.
1. Rename your .3ds to <filename_modified.3ds>. Extract the archives of both 3DS to CIA and 3dstool
2. Drag and drop your .3ds on Make2.07.bat in the 3DS to CIA folder you've previously extracted.
Wait until you get this window:
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, here is a quick walkthrough:
+++++++
To open the command prompt, go to Start and type "cmd" and open the program that comes up.
You'll get a black window. Type this in (including the first space): cd "path to the 3dstool folder on your computer goes here"
Hit Enter, and you should get a string with the path to the 3dstool folder.
For instance, on my pc, I type:
C:\Users\Username> cd "C:\Giochi\Nintendo3DS\3ds hacking tools\3dstool"
And I get:
C:\Giochi\Nintendo3DS\3ds hacking tools\3dstool>
To extract the romfs file, use the command:
3dstool -xvtf romfs romfs.bin --romfs-dir romfs
Following the example above, it'll look like this:
To use the command, after you've copy-pasted 3dstool -xvtf romfs romfs.bin --romfs-dir romfs, hit Enter.
Wait until 3dstool is done extracting the romfs.bin file. You'll know when it stops and the same string with the path to the 3dstool folder appears.
+++++++
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 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)!
In the case of FEF, copy the contents of the HANS version>Your region folder, and paste them in the romfs folder:
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.
10. Go back to the 3ds_to_cia_2.07 window from step 3, press 6 (Rebuild 3DS) and then s to start
Wait until the rebuilding is done. (The process is pretty long and heavy, you likely won't be able to do anything else in the meantime.)
You should get two folders with your original file and the modded one respectively. Done!
POSSIBLE ERRORS
An issue people who use Windows 10 have run into is the batch file (3ds to cia; step 2) not running at all (opening and closing right after). This may be caused by encoding.
If you've got notepad++ (or if you don't, you can find it among the 3ds to cia "tools": 3ds_to_cia_v2.07\tools\n++), you can open the batch file for editing with it and check "Encoding". If anything else besides UTF-8 (or ANSI) is selected, you should select UTF-8 (without BOM) and save the file.
Most errors occur when rebuilding the .3ds file (step 10), and they're mostly related to the rsfgen.py script and Python by extension.
If you get this error up here, it means you have Python 3.5 installed, and it's being used to run the script instead of Python 2.7
Other instances:
- You don't have Python installed
- Python is installed in a partition where the system can't find it: install python in the same partition where your OS is!
- [Windows] Python's directory hasn't been added to the PATH e.v. (see Step 0)
- Python is not selected as the program to open .py files. If this happens, Pythonw.exe might have been selected to open .py files, while it should be Python.exe. In this case a white window with the script will appear, and once you close it, you'll get the fateful ERROR. You'll have to change the default program to open .py files to the correct one.
(If you see this the default program used to open .py files is pythonw.exe, you need to change it to python.exe)
In case you experience any other issues, tell me and I'll help you out!
-------
If you have any questions, feel free to ask!
Credits go to the creators of Citra, 3DS to CIA and 3dstool. Thank you!