Tutorial  Updated

Create your own app logo (logo.bin)

The logo.bin file is the splash screen shown by home menu after launching an app, in this tutorial I'll show you how to customize it. Sorry if it isn't elaborated, I don't have much time.

Requirements.
- Linux (pls don't complain about this, the tools are made for linux, and it's not that difficult to create a Linux boot DVD)
- EveryFileExplorer
- Homemenu secret 20 byte HMAC key (found at 0x206465 decompressed code.bin of EUR homemenu) SHA256: 001ECEFBF56F3614A21532391A7E303CC62A054F5C7BBBF92A97F9C62443AD15
- This tools (Credits to Yellows8, Stevice10)

1. Extracting the logo.
The logo.bin file is a lz11 compressed darc, so you can use EveryFileExplorer to extract its contents, save them to a folder. Inside that folder you must see "anim", "blyt", "timg" folders.

2. Creating your own images.
The image files are bclim files, I recommend using files not bigger than 256x256 pixels, because the final compressed logo can't be greater than 8KB. You can use again EveryFileExplorer to create them. Go to "File -> New from file -> Nintendo 3ds plugin -> CTR Layout Images". Tip: There is no need to use transparency on your image, you can set a black background, that will save space.

3. Building the custom logo.
Once you have your bottom and top screen bclim, go to the extracted logo folder, delete everything there and place your files. Name them hblogo_bottom.bclim and hblogo_top.bclim. Download the tools made by Yellows8 and Stevice10 (ctr-logobuilder) and place the extracted logo folder there. Now open a terminal, and type the following:
Code:
./buildlogo.sh [output name] [logo extracted folder] [bottom screen width,height,X,Y,Z] [top screen width,height,X,Y,Z] [HMAC key]
width: width of your image
height: height of your image

X: X coordinate (left right)->
Y: Y coordinate (up, down)-> Coordinate 0,0,0 is the center of the screen
Z: Z coordinate (3D effect)->

Example: (Both images of 128x32 pixels at the center of the screen.)
Code:
./buildlogo.sh customlogo extracted_logo "128,32,0,0,0" "128,32,0,0,0" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The file you want in this case is: customlogo-padded.lz11, use it with 3dstool/ctrtool to build your cia.

Example of logo made with this: Homebrew launcher loader.

Optional: Building an existing logo.
You can use:
Code:
./buildexisting.sh [output name] [layout folder] [HMAC key]
to build an existing logo made with private tools. Make sure to use the same settings of the original logo (same panes, groups, etc. Guide yourself with EveryFileExplorer), and make 3 animations, one for Fade In, another for main animation, and other for Fade Out. (Please don't request for the private tools, I cannot share them).

Example:
PBllt1d.jpg
 
Last edited by PabloMK7,
Data points to hex edit the Nintendo splash screen.

I was going to write a separate guide specifically for this but felt @PabloMK7's tutorial and my ADDENDUM in post #19 would suffice. You'll need to use the buildexisting.sh script when modifying the Nintendo logoLZ.bin (logo.bin).

Credit goes to @HelpTheWretched for sharing a bit of information about two of those offsets (A and F). This lead to figuring out the pattern in finding the others. There are other objects in there, but without the Nintendo SDK, you won't reasonably be able to find and hex edit them.

Here's an example (high def) video with colorful edits:
https://giant.gfycat.com/UltimateCanineIslandwhistler.webm

The smaller .gif form:
UltimateCanineIslandwhistler-max-1mb.gif

Nintendo_logo_study.png

  • Objects A through H are found in the NintendoLogo_U_00.bclyt
  • Object I is in NintendoLogo_D_00.bclyt
Object A
Name:
P_3_00
Offset: 0x108
RGB: AA0000
Color: Dark Red

Object B
Name:
P_Nin_00
Offset: 0x158
RGB: FFFFFF
Color: White

Object C
Name:
P_O_T_00
Offset: 0x1D8
RGB: FFFFFF
Color: White

Object D
Name:
P_O_B_00
Offset: 0x258
RGB: 8C8C8C
Color: Gray

Object E
Name:
P_Ds_00
Offset: 0x2D8
RGB: FFFFFF
Color: White

Object F
Name:
P_Red_00
Offset: 0x35C
RGB: FF0000
Color: Red

Object G
Name:
P_Red_01
Offset: 0x4BC
RGB: FF0000
Color: Red

Object H
Name:
P_Red_02
Offset: 0x61C
RGB: FF0000
Color: Red

Object I
Name:
P_NinLogo_00
Offset: 0x19C
RGB: FFFFFF
Color: White
 
Last edited by TurdPooCharger,

Site & Scene News

Popular threads in this forum