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

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

  1. PabloMK7
    OP

    PabloMK7 Red Yoshi! ^ω^

    Member
    1,756
    1,032
    Feb 21, 2014
    Spain
    Yoshi's Island
    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

    erman1337 GBAtemp Maniac

    Member
    1,211
    931
    Sep 27, 2015
    Belgium
    Brussels
    I'm doing this but the logo comes out as white rectangles
     
  3. PabloMK7
    OP

    PabloMK7 Red Yoshi! ^ω^

    Member
    1,756
    1,032
    Feb 21, 2014
    Spain
    Yoshi's Island
    Make sure you are not exporting any alpha channels.
     
  4. erman1337

    erman1337 GBAtemp Maniac

    Member
    1,211
    931
    Sep 27, 2015
    Belgium
    Brussels
    The images don't have any alpha channels
     
  5. PabloMK7
    OP

    PabloMK7 Red Yoshi! ^ω^

    Member
    1,756
    1,032
    Feb 21, 2014
    Spain
    Yoshi's Island
    Does it display correctly in EFE?
     
  6. erman1337

    erman1337 GBAtemp Maniac

    Member
    1,211
    931
    Sep 27, 2015
    Belgium
    Brussels
    Yes
     
  7. PabloMK7
    OP

    PabloMK7 Red Yoshi! ^ω^

    Member
    1,756
    1,032
    Feb 21, 2014
    Spain
    Yoshi's Island
    Try using other bclim converters.
     
  8. erman1337

    erman1337 GBAtemp Maniac

    Member
    1,211
    931
    Sep 27, 2015
    Belgium
    Brussels
    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

    iAqua feel the... envy.

    Member
    GBAtemp Patron
    iAqua is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    2,721
    2,214
    Dec 7, 2015
    Canada
    Why not just recommend using Cygwin or MinGW for Windows?
     
    Robz8 likes this.
  10. Robz8

    Robz8 Coolest of TWL

    Member
    6,687
    2,826
    Oct 1, 2010
    United States
    Tried Cygwin, and I'm getting:
    Looks like it only runs on linux.
     
    Last edited by Robz8, Jan 1, 2017
  11. Robz8

    Robz8 Coolest of TWL

    Member
    6,687
    2,826
    Oct 1, 2010
    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

    PabloMK7 Red Yoshi! ^ω^

    Member
    1,756
    1,032
    Feb 21, 2014
    Spain
    Yoshi's Island
    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

    erman1337 GBAtemp Maniac

    Member
    1,211
    931
    Sep 27, 2015
    Belgium
    Brussels
    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

    Seriel Worshipper of Skiddos

    Member
    2,703
    4,730
    Aug 18, 2015
  15. erman1337

    erman1337 GBAtemp Maniac

    Member
    1,211
    931
    Sep 27, 2015
    Belgium
    Brussels
    Cygwin is only a bash shell, it can't run Linux binaries
     
    PabloMK7 likes this.
  16. Seriel

    Seriel Worshipper of Skiddos

    Member
    2,703
    4,730
    Aug 18, 2015
    Bash on Windows can though :^)
     
    Februarysn0w likes this.
  17. Ordim3n

    Ordim3n GBAtemp Fan

    Member
    402
    109
    Dec 14, 2015
    Canada
    Planet earth
    can the image be a gif?
     
  18. PabloMK7
    OP

    PabloMK7 Red Yoshi! ^ω^

    Member
    1,756
    1,032
    Feb 21, 2014
    Spain
    Yoshi's Island
    Nope