4. Rebuilding the DLC (EU) - 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 0000006b.app
You have now created a new0000006b.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 00000062.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 00000062.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
to28.icn
and32.icn
to29.icn
. - Now, go back into
ContentInfoRomfs
and open upMetaDataContentHeader.bin
in your favorite hex editor. - At offset 0x08, change
1B
to1D
. This tells the game how many icons are in the folder. So we need to change it to1D
(29 in hex) to accommodate the two new icons we put into it. - Save the file and open up
ContentInfoArchive_EUR_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
with1C
. 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
with1D
. - 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 00000062.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 12 -micro 0 -DSaveSize=0 -dlc -i 00000062.app:0x0000:0x00000062 -i 00000048.app:0x0009:0x00000048 -i 00000045.app:0x000a:0x00000045 -i 00000049.app:0x000b:0x00000049 -i 00000046.app:0x000c:0x00000046 -i 0000004b.app:0x000d:0x0000004b -i 0000003b.app:0x000e:0x0000003b -i 0000004d.app:0x000f:0x0000004d -i 0000004e.app:0x0010:0x0000004e -i 00000050.app:0x0027:0x00000050 -i 00000052.app:0x0028:0x00000052 -i 00000054.app:0x0031:0x00000054 -i 00000057.app:0x0032:0x00000057 -i 00000055.app:0x0033:0x00000055 -i 00000059.app:0x0035:0x00000059 -i 0000006b.app:0x0036:0x0000006b -i 0000006c.app:0x0037:0x0000006c -i 0000005c.app:0x0038:0x0000005c -i 0000005d.app:0x0039:0x0000005d -i 0000005e.app:0x003a:0x0000005e -i 00000063.app:0x003b:0x00000063 -i 00000064.app:0x003c:0x00000064 -i 00000065.app:0x003d:0x00000065
If you're playing on a Birthright cartridge: makerom -f cia -rsf rom.rsf -o ScrambleTranslated.cia -ckeyid 0 -major 0 -minor 12 -micro 0 -DSaveSize=0 -dlc -i 00000062.app:0x0000:0x00000062 -i 00000002.app:0x0002:0x00000002 -i 00000003.app:0x0003:0x00000003 -i 00000048.app:0x0009:0x00000048 -i 00000045.app:0x000a:0x00000045 -i 00000049.app:0x000b:0x00000049 -i 00000046.app:0x000c:0x00000046 -i 0000004b.app:0x000d:0x0000004b -i 0000003b.app:0x000e:0x0000003b -i 0000004d.app:0x000f:0x0000004d -i 0000004e.app:0x0010:0x0000004e -i 00000050.app:0x0027:0x00000050 -i 00000052.app:0x0028:0x00000052 -i 00000054.app:0x0031:0x00000054 -i 00000057.app:0x0032:0x00000057 -i 00000055.app:0x0033:0x00000055 -i 00000059.app:0x0035:0x00000059 -i 0000006b.app:0x0036:0x0000006b -i 0000006c.app:0x0037:0x0000006c -i 0000005c.app:0x0038:0x0000005c -i 0000005d.app:0x0039:0x0000005d -i 0000005e.app:0x003a:0x0000005e -i 00000063.app:0x003b:0x00000063 -i 00000064.app:0x003c:0x00000064 -i 00000065.app:0x003d:0x00000065
If you're playing on a Conquest cartridge: makerom -f cia -rsf rom.rsf -o ScrambleTranslated.cia -ckeyid 0 -major 0 -minor 12 -micro 0 -DSaveSize=0 -dlc -i 00000062.app:0x0000:0x00000062 -i 00000001.app:0x0001:0x00000001 -i 00000003.app:0x0003:0x00000003 -i 00000048.app:0x0009:0x00000048 -i 00000045.app:0x000a:0x00000045 -i 00000049.app:0x000b:0x00000049 -i 00000046.app:0x000c:0x00000046 -i 0000004b.app:0x000d:0x0000004b -i 0000003b.app:0x000e:0x0000003b -i 0000004d.app:0x000f:0x0000004d -i 0000004e.app:0x0010:0x0000004e -i 00000050.app:0x0027:0x00000050 -i 00000052.app:0x0028:0x00000052 -i 00000054.app:0x0031:0x00000054 -i 00000057.app:0x0032:0x00000057 -i 00000055.app:0x0033:0x00000055 -i 00000059.app:0x0035:0x00000059 -i 0000006b.app:0x0036:0x0000006b -i 0000006c.app:0x0037:0x0000006c -i 0000005c.app:0x0038:0x0000005c -i 0000005d.app:0x0039:0x0000005d -i 0000005e.app:0x003a:0x0000005e -i 00000063.app:0x003b:0x00000063 -i 00000064.app:0x003c:0x00000064 -i 00000065.app:0x003d:0x00000065
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.