[TUTORIAL] Create your own app logo (logo.bin)

Discussion in '3DS - Tutorials' started by PabloMK7, Jul 2, 2016.

Jul 2, 2016
  1. PabloMK7
    OP

    Member PabloMK7 Red Yoshi! ^ω^

    Joined:
    Feb 21, 2014
    Messages:
    1,507
    Location:
    World -1
    Country:
    Spain
    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:
    Warning: Spoilers inside!
     
    Last edited by PabloMK7, Jan 17, 2017
  2. erman1337

    Member erman1337 GBAtemp Maniac

    Joined:
    Sep 27, 2015
    Messages:
    1,002
    Country:
    Turkey
    I'm doing this but the logo comes out as white rectangles
     
  3. PabloMK7
    OP

    Member PabloMK7 Red Yoshi! ^ω^

    Joined:
    Feb 21, 2014
    Messages:
    1,507
    Location:
    World -1
    Country:
    Spain
    Make sure you are not exporting any alpha channels.
     
  4. erman1337

    Member erman1337 GBAtemp Maniac

    Joined:
    Sep 27, 2015
    Messages:
    1,002
    Country:
    Turkey
    The images don't have any alpha channels
     
  5. PabloMK7
    OP

    Member PabloMK7 Red Yoshi! ^ω^

    Joined:
    Feb 21, 2014
    Messages:
    1,507
    Location:
    World -1
    Country:
    Spain
    Does it display correctly in EFE?
     
  6. erman1337

    Member erman1337 GBAtemp Maniac

    Joined:
    Sep 27, 2015
    Messages:
    1,002
    Country:
    Turkey
    Yes
     
  7. PabloMK7
    OP

    Member PabloMK7 Red Yoshi! ^ω^

    Joined:
    Feb 21, 2014
    Messages:
    1,507
    Location:
    World -1
    Country:
    Spain
    Try using other bclim converters.
     
  8. erman1337

    Member erman1337 GBAtemp Maniac

    Joined:
    Sep 27, 2015
    Messages:
    1,002
    Country:
    Turkey
    Got it to work, with these limitations:
    - The images have to be very small
    - The objects have to be grayscale on a transparent background
     
  9. iAqua

    Member iAqua Is Your Worst Nightmare

    Joined:
    Dec 7, 2015
    Messages:
    2,162
    Location:
    Gotham City
    Country:
    Canada
    Why not just recommend using Cygwin or MinGW for Windows?
     
    Robz8 likes this.
  10. Robz8

    Member Robz8 Coolest of TWL

    Joined:
    Oct 1, 2010
    Messages:
    5,018
    Country:
    United States
    Tried Cygwin, and I'm getting:
    Looks like it only runs on linux.
     
    Last edited by Robz8, Jan 1, 2017
  11. Robz8

    Member Robz8 Coolest of TWL

    Joined:
    Oct 1, 2010
    Messages:
    5,018
    Country:
    United States
    OK, this is weird. Whenever I try out my custom-made logo file, I get:
    Even if I just inject a bclim file in a decompressed (Homebrew) logo file, I still get this message. Any ideas?
     
    Last edited by Robz8, Jan 1, 2017
  12. PabloMK7
    OP

    Member PabloMK7 Red Yoshi! ^ω^

    Joined:
    Feb 21, 2014
    Messages:
    1,507
    Location:
    World -1
    Country:
    Spain
    You have to keep trying until it works. It took me many crashes until it worked.

    About the greyscale thing, it's probably because the way the tools are made. It may be possible to change that.
     
  13. erman1337

    Member erman1337 GBAtemp Maniac

    Joined:
    Sep 27, 2015
    Messages:
    1,002
    Country:
    Turkey
    You specifically said to not use a transparent background. Thanks for the guide though, I at least got a custom logo working :yay3ds:
     
  14. Seriel

    Member Seriel ¯\_(ツ)_/¯

    Joined:
    Aug 18, 2015
    Messages:
    2,580
    Location:
    https://thatiso.site/
    Country:
    United Kingdom
  15. erman1337

    Member erman1337 GBAtemp Maniac

    Joined:
    Sep 27, 2015
    Messages:
    1,002
    Country:
    Turkey
    Cygwin is only a bash shell, it can't run Linux binaries
     
    PabloMK7 likes this.
  16. Seriel

    Member Seriel ¯\_(ツ)_/¯

    Joined:
    Aug 18, 2015
    Messages:
    2,580
    Location:
    https://thatiso.site/
    Country:
    United Kingdom
    Bash on Windows can though :^)
     
    Februarysn0w likes this.
  17. Ordim3n

    Member Ordim3n GBAtemp Fan

    Joined:
    Dec 14, 2015
    Messages:
    402
    Location:
    Planet earth
    Country:
    Canada
    can the image be a gif?
     
  18. PabloMK7
    OP

    Member PabloMK7 Red Yoshi! ^ω^

    Joined:
    Feb 21, 2014
    Messages:
    1,507
    Location:
    World -1
    Country:
    Spain
    Nope
     

Share This Page