[How To] Edit .bclyt Layout file

Discussion in '3DS - Tutorials' started by RosaliinaDaHacker64, May 12, 2017.

May 12, 2017
  1. RosaliinaDaHacker64
    OP

    Member RosaliinaDaHacker64 Don't click on me pls -- it hurts :c

    Joined:
    Oct 7, 2015
    Messages:
    414
    Location:
    World -1
    Country:
    Ireland
    Hello. I'm going to show you how to edit a layout file that you can move around the display.
    This isn't going to be kinda clear to follow, I'll improve it. Pablo has a better example for structures.

    Requirements:
    Luma3DS 7.0+
    Floating point converter
    HxD
    EveryFileExplorer


    Let's start!

    For example, on Super Mario 3D Land, you want to move a Timer display to the bottom.
    [​IMG]

    1. First, locate under RomFS > LayoutData

    2. Open EFE, drag .szs (CounterTimeLimit) into the program.

    3. Go into blyt directory, you should find .bclyt, Right-Click on it and Export.
    [​IMG]

    4. Open up a Hex editor, drag a .bclyt into the program.

    5. Find some hex values with strange text-strings that are not "..€?..€?"
    [​IMG]

    You found it! Most are located on 0x140 for this game, some are different even other games, so keep searching.

    Each 4 bytes have X and Y positions

    [​IMG]
    But, each byte values are reversed, for example in this picture, X is 43 3E 00 00, and Y is 42 E8 00 00.

    You must know about coordinates for screens.
    (Image by Zyneros)
    [​IMG]

    6. Go to Float point converter site.

    7. Type reversed bytes (which is 0x42e80000) in Hexadecimal Representation section.
    You'll get a result on Decimal Representation section, this is a good sign because it shows ".0" on the end, if it isn't, you'll get 5.34235523 because you pick wrong bytes. My result is 116.0, this is on +Y coordinate.
    Now we want to move to the bottom. It's gonna be -86 (on -Y).

    8. So type it on Decimal Representation, the result on Hexadecimal Representation will be shown, which is 0xc2ac0000, but you must flip bytes again, for example: 00 00 AC C2.

    9. Now go back to Hex editor, paste-write over original hex values.

    10. Save.

    Feel free to drag modified .bclyt into EFE to preview to check if it's good to go. This is normal if corresponding textures or BCLIM images are missing since the file is moved to somewhere else, outside its RomFS.

    11. Go back to EFE, right click on .bclyt and Replace. Save.
    [​IMG]

    12. Put the file into SD:/luma/titles/0004000000053F00/romfs/LayoutData

    13. Play the game. Enjoy! :D

    Here's my video on how it goes.
     
    Last edited by RosaliinaDaHacker64, May 13, 2017
  2. skullkeeper94

    Member skullkeeper94 GBAtemp Regular

    Joined:
    Jun 21, 2016
    Messages:
    182
    Country:
    United States
    It's... Beautiful^_^
     
    RosaliinaDaHacker64 likes this.
  3. PabloMK7

    Member PabloMK7 Red Yoshi! ^ω^

    Joined:
    Feb 21, 2014
    Messages:
    1,586
    Location:
    World -1
    Country:
    Spain
    You can do better :P
    pan1 offset + 0xC: pane name

    pan1 offset + 0x24: X position
    pan1 offset + 0x28: Y position
    pan1 offset + 0x2C: Z position

    pan1 offset + 0x30: X rotation (radians)
    pan1 offset + 0x34: Y rotation (radians)
    pan1 offset + 0x38: Z rotation (radians)

    pan1 offset + 0x3C: X size
    pan1 offset + 0x40: Y size
    pan1 offset + 0x44: Z size (not sure if a Z size exists tho)

    For example, in the first image there is a "pan1" string at 0x11C with the name at 0x11C + 0xC = 0x128 "CounterTimeLimit" has the size X at 0x11C + 0x3C = 0x158 with a value of 1.
     
  4. RosaliinaDaHacker64
    OP

    Member RosaliinaDaHacker64 Don't click on me pls -- it hurts :c

    Joined:
    Oct 7, 2015
    Messages:
    414
    Location:
    World -1
    Country:
    Ireland
    Wow, you're smart. I never knew there's Z position lol :)
     
    PabloMK7 likes this.
  5. HuseyinDerMachtige

    Newcomer HuseyinDerMachtige Newbie

    Joined:
    May 12, 2017
    Messages:
    3
    Country:
    Germany
    I can't Import the new .bclyt, only exporting the original.
     
  6. RosaliinaDaHacker64
    OP

    Member RosaliinaDaHacker64 Don't click on me pls -- it hurts :c

    Joined:
    Oct 7, 2015
    Messages:
    414
    Location:
    World -1
    Country:
    Ireland
    Are you sure you selected "Replace" option then hit save?
     
  7. HuseyinDerMachtige

    Newcomer HuseyinDerMachtige Newbie

    Joined:
    May 12, 2017
    Messages:
    3
    Country:
    Germany
    [​IMG]
     
    Last edited by HuseyinDerMachtige, May 12, 2017
  8. RosaliinaDaHacker64
    OP

    Member RosaliinaDaHacker64 Don't click on me pls -- it hurts :c

    Joined:
    Oct 7, 2015
    Messages:
    414
    Location:
    World -1
    Country:
    Ireland
    That's weird. I assume you're trying to modify .arc file, while .szs's bclyt is importable fine. What game is that?
     
  9. Explos

    Newcomer Explos Advanced Member

    Joined:
    Jun 19, 2016
    Messages:
    53
    Country:
    United Kingdom
    That's nsmb2, and you should use darc tool to extract and re-pack the layout files from the .arc(darc) files.
     
    Last edited by Explos, May 12, 2017
    PabloMK7 likes this.

Share This Page