ROM Hack Question BOTW font editing help.

tomx86

Well-Known Member
OP
Member
Joined
Jun 3, 2015
Messages
780
Trophies
0
Age
38
XP
2,205
Country
Poland
Hello, guys I edited BOTW .bffnt files inside "Font_EU.sbfarc" and "Font_US.sbfarc" to have polish characters, by replacing existing characters with them in the extracted.png image files, but I can't get them to work, so here is what is happening:

First I tried to use "Switch-Toolbox", after replacing the "raw data" of the original .bffnt files with my edited ones, it asked me to compress the .sbfarc files to "yaz0", so I click yes, and after a short time it's done, the new files are way bigger then the original files, but I put them to the "atmosphere\contents\01007EF00011E000\romfs\Font" location on my microSD card anyway, start the game and it crashes at start. Then I tried to do it by decompressing the .sbfarc files to .sbfarc 0.rarc files with "yaz0dec.exe", replace the original .bffnt files with my edited ones in "Wexoss-Toolbox" then used "yaz0enc.exe" to encrypt them to .sbfarc 0.rarc.yaz0 with "yaz0enc.exe" witch took a very long time to do, but after completion the files sizes where more close to the original the in the "Switch-Toolbox" method, so I renamed them back to .sbfarc files and now the game is stuck on the loading screen. So I tried to do the same with "Karameru.exe" it also asked me to compress the .sbfarc files to "yaz0", so I did and it went quickly, and the new files had the same size as the original files, but the game also stucks on the loading screen.

So can some one tell me how to make it work, and I'm on "Win7x64", so "Wii U Zip.exe" won't start for me.:wacko:
Please help.:bow::bow::bow::bow:
 
  • Like
Reactions: Hyper_2979

tomx86

Well-Known Member
OP
Member
Joined
Jun 3, 2015
Messages
780
Trophies
0
Age
38
XP
2,205
Country
Poland
Thanks @masagrator, once again for your help, and your right this tutorial needs an small update:
upload_2021-3-30_17-0-43.png

upload_2021-3-30_17-1-10.png

upload_2021-3-30_17-1-49.png

upload_2021-3-30_17-2-22.png


What I needed:
- Switch-Toolbox (I've used Experimental Release-v1.0.2383).
- QuickBMS with Splatoon_SARC.bms script.
- BotW Unpacker (I've used v3.1.1 because v5.0.0 BETA won't start on Win7x64).
- Image Editor (I've used Photoshop).
- Hex Editor (I've used HxD).

First decode Font_EU.sbfarc to Font_EU.bfarc with BotW Unpacker using "Yaz0 decode".
Rename it to Font_EU.sarc for correct file extension.
Then use Unpack SARC, choose Font_EU.sarc and unpack it to separate folder. There should be *.bffnt file(s).

*.bffnt file open with Switch-Toolbox.
Choose the image you want to edit, right click on it and click Open Image Editor.

upload_2021-3-26_2-22-14.png


Remember the Channels settings, and the Mip Count.

upload_2021-3-26_2-23-10.png


Scroll down and take note of the Surface Shape.

upload_2021-3-26_2-24-14.png


Now change the Channels like this.

upload_2021-3-26_2-25-3.png


Click Save, right click on the image and click Export.

upload_2021-3-26_2-25-31.png


Save it as PNG, edit your PNG in Photoshop and Save (not "Save As") with untouched settings (remember to rotate it to 180º and flip it canvas horizontal).
Now make a copy of the original BFFNT file and click on Replace.

upload_2021-3-26_2-26-54.png


Check if the Surface Dimension is the same as Surface Shape in the original BFFNT file.
Make sure that the Mip Count is also the same, and click Ok.

upload_2021-3-26_2-27-26.png


Set the Channels just like in the original BFFNT file.

upload_2021-3-26_2-23-10.png


Click Save, and save the new BFFNT file.

Now we need to open our new BFFNT file and original BFFNT file in hex editor.
Copy whole block from 0x2000 to _RLT string (string excluded) in new BFFNT file
Do it by finding _RLT string, highlight byte before it, Edit->Select Block, paste to "Start-offset" 2000.
Click OK.

Do the same in the original BFFNT file.
Copy your highlighted data from new BFFNT file to the original BFFNT file. Save it.
If saved file is the same size as your backup (it will be created by HxD as "NormalS.bffnt.bak"), then it should be good.
Now copy your modified original BFFNT file (or files if you are editing more fonts) to a separate folder, where will be nothing except this file(s) and rename it/them to original filename if needed.

Go to unpacked QuickBMS archive, open "reimport.bat", choose Splatoon_sarc.bms, next choose Font_EU.sarc, next go to folder with your modified BFFNT (don't click on anything except folders) and click save.
Now your Font_EU.sarc is modified.
Go to BotW Unpacker, choose "Switch" next to "Build SARC", click "Yaz0 encode" and choose Font_EU.sarc. It's very slow, so wait. It will create Font_EU.ssarc, that you can rename to Font_EU.sbfarc.
 
Last edited by tomx86,
  • Like
Reactions: falcorr

Hugrenlo

Member
Newcomer
Joined
Jun 7, 2021
Messages
6
Trophies
0
Age
34
XP
22
Country
United States
I don't think it is, it's similar, but I think they're different. I should know that because I have fortnite font download on my website. I was in search of a perfect font and I found a website where you can get salt life font free. The website I got is UPFONTS, and it's a great place for people who are looking to freshen their blogs/websites up. I did just that with salt life font, it reminded me of old versions of websites, and I looked for something vintage on my website.
 
Last edited by Hugrenlo,

tomx86

Well-Known Member
OP
Member
Joined
Jun 3, 2015
Messages
780
Trophies
0
Age
38
XP
2,205
Country
Poland
Hej, guys a quick update to the font tutorial, thanks to some help Now I know you can edit the width of the letters, so you can create fonts that use the same substitute characters for all fonts, so no more troubles with the game using one .msbt file with a list of things for display with two different fonts that don't have the same substitute characters with the same width, here is how:
1. Open the folder that has the .bffnt font inside with Switch-Toolbox.
2. Choose the .bffnt font.
3. Change the Display to Text Editor.
4. Find the Substitute character that you replaced with a different character that has a smaller or bigger width in the .png file.
5. Copy it's number to the left.
1.png

6. Find it in the section Character Widths lower in the file.
7. Take note of the numbers in "CharWidth" "GlyphWidth" "Left", and also 2 lines below.
2.png

17 14 02
13 12 01
12 10 01
with are length in pixels of the characters, to be sure it's them.
8. Convert them into hex.
11 0E 02
0D 0C 01
0C 0A 01
9. Wright them like this:
02 0E 11 01 0C 0D 01 0A 0C
10. Close Switch-Toolbox and open the .bffnt font file in a hex editor and find that hex string.
3.png

11. And now change the values of 02 0E 11 that is the character 0x0410, converted to hex, to match the new width length in pixels of the replaced new character, usually you only need to change the middle value, but some times the others too, just experiment a little til you are satisfied.

That's all, hope it will make your translations easier.
 
Last edited by tomx86,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtu.be/LM0Y6RWvcr8?si=RjMLNrx1TEX301g1 Already has cfw lol