4. Rebuilding the DLC (NA) - SilentHeII/Fire-Emblem-Fates-Festival-of-Bonds-Translation-Project GitHub Wiki
Overview
We are going to need to rebuild our Japanese DLC with our other English DLC. In order to do this, we'll need two more programs and two .rsf
files.
What you will need:
- RomFS Builder
- A Hex editor. I use HxD
Before starting the tutorial, you'll need two more files. Copy paste this into notepad and save it as rom.rsf
. Make sure you have unchecked "Hide extensions for known file types" in windows:
Now copy paste this into notepad and save it as DLC.rsf
:
Put these two .rsf
files in your project directory with your makerom.exe
.
Rebuilding the Spring Scramble NCCH container
- Open up RomFS Builder.
- Click Open and open the
SpringScramble
folder in your project directory. - Press go and save the file as
SpringScramble.bin
and place it in your project directory, overwriting the old one. - Now, go to cmd and paste this code:
makerom -f ncch -target t -rsf DLC.rsf -romfs SpringScramble.bin -o 00000063.app
You have now created a new00000063.app
that has overwritten the old one.
Rebuilding the Fall Scramble NCCH container
- Open up RomFS Builder again.
- Click Open and open the
FallScramble
folder in your project directory. - Press go and save the file as
FallScramble.bin
and place it in your project directory, overwriting the old one. - Paste this code into the cmd:
makerom -f ncch -target t -rsf DLC.rsf -romfs FallScramble.bin -o 0000006c.app
You have now created a new0000006c.app
that has overwritten the old one.
We have now successfully rebuilt the Japanese DLC, but we're not done yet. We need to rebuild the Content Info Archive to include icons and descriptions for our Festival DLCs.
Dumping the Content Info Archive and Icon
- In cmd paste the following code:
ctrtool 0000008d.app --exefs=ContentInfoExefs.bin
- Now paste this code:
ctrtool -t exefs --exefsdir=ContentInfoExefs ContentInfoExefs.bin
We now have a folder namedContentInfoExefs
. - Go into
ContentInfoExefs
and drag theicon.bin
to the root of your project directory. This file contains the icon and description shown in our system settings. - Go back to cmd and paste this:
ctrtool 0000008d.app --romfs=ContentInfoRomfs.bin
- Now paste this:
ctrtool --romfsdir=ContentInfoRomfs ContentInfoRomfs.bin
- Drag
31.icn
and32.icn
intoContentInfoRomfs\icons
. These were the icons for the Spring and Fall Scramble from the Japanese versions. - Rename
31.icn
to27.icn
and32.icn
to28.icn
. - Now, go back into
ContentInfoRomfs
and open upMetaDataContentHeader.bin
in your favorite hex editor. - At offset 0x08, change
1A
to1C
. This tells the game how many icons are in the folder. So we need to change it to1C
(28 in hex) to accommodate the two new icons we put into it.
- Save the file and open up
ContentInfoArchive_USA_en.bin
located in the same folder with your hex editor. - Go to offset 0x2A38 and in the text viewer on the side replace
Reserved
withSpring Scramble
. The reason we're doing this at this specific offset is that this offset is the slot which we're going to put the Spring Scramble DLC. For more info check out this page. - Now go to offset 0x2AF8 and replace
04
with1B
. This byte tells the game which icon to load. 1B is 27 in decimal so that's the icon number we're loading. - Go to offset 0x2B00 and in the text viewer on the side replace
Reserved
withFall Scramble
. - Now go to offset 0x2BC0 and replace
04
with1C
.
Here's how your file should look now.
- Save and close the hex editor.
Rebuilding the our Content Info Archive with the Icon
- Open up RomFS Builder.
- Click Open and select the
ContentInfoRomFS
folder. - Click Go and save the file as
ContentInfoRomFS.bin
and save to the project directory, replacing the old one. - In cmd, paste the following code:
makerom -f ncch -target t -rsf DLC.rsf -icon icon.bin -romfs ContentInfoRomfs.bin -o 0000008d.app
This will rebuild the NCCH container with theicon.bin
.
Rebuilding the DLC as .CIA
We're finally at the end boys. You ready for this crazy hard final step?
- If you're playing on a Special Edition cartridge, paste this into cmd:
makerom -f cia -rsf rom.rsf -o ScrambleTranslated.cia -ckeyid 0 -major 0 -minor 17 -micro 0 -DSaveSize=0 -dlc -i 0000008d.app:0x0000:0x0000008d -i 0000006a.app:0x0009:0x0000006a -i 00000067.app:0x000a:0x00000067 -i 0000006b.app:0x000b:0x0000006b -i 00000068.app:0x000c:0x00000068 -i 0000006d.app:0x000d:0x0000006d -i 00000040.app:0x000e:0x00000040 -i 0000006f.app:0x000f:0x0000006f -i 00000070.app:0x0010:0x00000070 -i 00000072.app:0x0027:0x00000072 -i 00000074.app:0x0028:0x00000074 -i 00000076.app:0x0031:0x00000076 -i 00000079.app:0x0032:0x00000079 -i 00000077.app:0x0033:0x00000077 -i 0000007c.app:0x0035:0x0000007c -i 00000063.app:0x0036:0x00000063 -i 0000006c.app:0x0037:0x0000006c -i 0000007f.app:0x0038:0x0000007f -i 00000086.app:0x0039:0x00000086 -i 00000088.app:0x003a:0x00000088 -i 0000008a.app:0x003b:0x0000008a -i 0000008c.app:0x003c:0x0000008c -i 0000008e.app:0x003d:0x0000008e
If you're playing on a Birthright cartridge: makerom -f cia -rsf rom.rsf -o ScrambleTranslated.cia -ckeyid 0 -major 0 -minor 17 -micro 0 -DSaveSize=0 -dlc -i 0000008d.app:0x0000:0x0000008d -i 0000006a.app:0x0009:0x0000006a -i 00000067.app:0x000a:0x00000067 -i 0000006b.app:0x000b:0x0000006b -i 00000068.app:0x000c:0x00000068 -i 0000006d.app:0x000d:0x0000006d -i 00000040.app:0x000e:0x00000040 -i 0000006f.app:0x000f:0x0000006f -i 00000070.app:0x0010:0x00000070 -i 00000072.app:0x0027:0x00000072 -i 00000074.app:0x0028:0x00000074 -i 00000076.app:0x0031:0x00000076 -i 00000079.app:0x0032:0x00000079 -i 00000077.app:0x0033:0x00000077 -i 0000007c.app:0x0035:0x0000007c -i 00000063.app:0x0036:0x00000063 -i 0000006c.app:0x0037:0x0000006c -i 0000007f.app:0x0038:0x0000007f -i 00000086.app:0x0039:0x00000086 -i 00000088.app:0x003a:0x00000088 -i 0000008a.app:0x003b:0x0000008a -i 0000008c.app:0x003c:0x0000008c -i 0000008e.app:0x003d:0x0000008e -i 00000002.app:0x0002:0x00000002 -i 00000035.app:0x0003:0x00000035
If you're playing on a Conquest cartridge: makerom -f cia -rsf rom.rsf -o ScrambleTranslated.cia -ckeyid 0 -major 0 -minor 17 -micro 0 -DSaveSize=0 -dlc -i 0000008d.app:0x0000:0x0000008d -i 0000006a.app:0x0009:0x0000006a -i 00000067.app:0x000a:0x00000067 -i 0000006b.app:0x000b:0x0000006b -i 00000068.app:0x000c:0x00000068 -i 0000006d.app:0x000d:0x0000006d -i 00000040.app:0x000e:0x00000040 -i 0000006f.app:0x000f:0x0000006f -i 00000070.app:0x0010:0x00000070 -i 00000072.app:0x0027:0x00000072 -i 00000074.app:0x0028:0x00000074 -i 00000076.app:0x0031:0x00000076 -i 00000079.app:0x0032:0x00000079 -i 00000077.app:0x0033:0x00000077 -i 0000007c.app:0x0035:0x0000007c -i 00000063.app:0x0036:0x00000063 -i 0000006c.app:0x0037:0x0000006c -i 0000007f.app:0x0038:0x0000007f -i 00000086.app:0x0039:0x00000086 -i 00000088.app:0x003a:0x00000088 -i 0000008a.app:0x003b:0x0000008a -i 0000008c.app:0x003c:0x0000008c -i 0000008e.app:0x003d:0x0000008e -i 00000001.app:0x0001:0x00000001 -i 00000035.app:0x0003:0x00000035
Now just put the ScrambleTranslated.cia
on your SD Card and install with FBI. I recommend saving all project files for easy updating. From now on you only need to drag and drop new files into Spring/Fall Scramble folders and generate new RomFS and use my scripts from there.