SwitchLayoutEditor

From GameBrew
Switch Layout Editor
Switchlayouteditor.png
General
AuthorFuryBaguette
TypeTheme Tools
Versionbeta15
LicenseGPL-3.0
Last Updated2023/05/16
Links
Download
Website
Source

SwitchLayoutEditor is a program that allows you to edit and render BFLYT and BFLAN files, which are commonly used for layouts in Nintendo Switch interfaces and games. This tool enables you to create and edit themes easily.

With SwitchLayoutEditor, you can rearrange the structure of the home screen and make other modifications to the layout of the Switch interface. The edited files can be saved in SZS format, but to make them shareable, you can export them as JSON patches or convert them to nxtheme format.

Features

  • Layout loading, editing and saving.
  • Rendering the bounding boxes of the components.
  • SZS editing.
  • Drag and drop.
  • Simultaneous file editing.
  • Import/Export JSON patch (Compatible with Switch themes).
  • Animations editing.

User guide

You'll need some programs and files to make editing possible:

  • Switch Layout Editor to edit layouts
  • Any bflyt or szs file. You can dump szs files yourself here

After getting all the files needed, just launch the exe and open a SZS/BFLYT/BFLAN file. BFLYT/BFLAN files are commonly found in SZS archives, when opening a SZS file you can double click on the files in the list to edit them (if they're supported).

To save changes made in SwitchLayoutEditor, you can use the "Layout Diff" option in the "Tools" menu. This will generate a JSON patch that can be used to create an nxtheme file in the Switch Theme Injector.

The compatibility of these themes depends on the firmware version of the Switch. Different firmware versions use different SZS files, but by exporting as JSON patch, you can create a theme that works with multiple versions.

For a basic introduction on how to use SwitchLayoutEditor, you can refer to this tutorial: Switch Layout Editor Introduction.

For a more in depth guide, click here to go to the wiki.

Media

how to make your own nx theme and layout (switch) (THE DERP 655129)

Screenshots

switchlayouteditor2.pngswitchlayouteditor3.png

Changelog

beta15

  • Experimental bflan templats support, this allows to write json templates which can be used to automate the ceration of elements in animation (bflan) files.
    • Each template has a json 'manifest' that defines properties and name and an actual implementation file, the implementation file is set in the 'FileName' field of this manifest, the implementation is a json but the values are replaced at runtime with the 'macros' defined in Parameters in the manifest, the actual values are picked from a GUI at runtime.
    • The various options are not currently documented anywhere refer to the BflanTemplates.cs file in the source code.
    • A simple "Animate color" template is provided, it's composed of a .template file and a .json descriptor.
  • Builds are now generated with Github actions.

beta14

  • Fix layout diffing for 11.0+ szs files.

beta13

  • Properly export layout patches: position and size values now should be in the correct format
  • Fix a crash reported by users.

v1.0.0-beta12

  • 11.0 Support when creating json layouts. More info.
  • Support for texture reference properties in nxtheme (X, Y, Rotation, ScaleX, ScaleY).

v1.0.0-beta11

  • Fix crashes reported by users.

v1.0.0-beta10

  • Better hotkey support:
    • CTRL + S now should work as expected.
    • CTRL + L expands all tree view items in bflan and bflyt editing.
    • CTRL + K collapses all tree view items in bflan and bflyt editing.
  • Fix crashes in the color picker.
  • Support for "UserData" AnimationTarget in bflan.
  • Font color is now supported by the differ for json layouts (so can be used in nxthemes).

v1.0.0-beta9

  • Fix layout diffing.
  • Restore missing groups list in the bflyt editor.
  • Show the full hierarchy of bflyt files.

v1.0.0-beta8

  • Moved to the same lib as the theme injector, layout diffs and patches should be 100% compatible now.
  • Fixed a crash for animations with multiple groups.
  • Fixed a few issues when changing the order of panes.
  • Even if changing the order is supported in layout patches it won't be detected by the differ and has to be manually added as described here.

v1.0.0-beta7

  • Fix UV editing for pic1 panes.
  • Changing pane order.
  • More properties supported for materials editing.

v1.0.0-beta6

  • Adding and removing texture references in a bflyt file.
  • Editing materials (partial).
  • Fix crashes or corrupted files for big endian bflyts (for Wii u titles).

v1.0.0-beta5

  • Animations editor (.bflan files).
  • Group (grp panes) editing for bflyt files.
  • Fix for a some crashes and some minor improvements.

v1.0.0-beta4

  • You can now update the SwitchLayoutEditor directly from within the tool. No need to check Github anymore, just click on the Update button.
  • Support for usd1 panes + custom usd1 panes.
  • Search box in the SZS editor.

v1.0.0-beta3

  • Hotfix for a bug causing a black screen.
  • Added Layout Diff to generate a custom theme JSON patch.
  • Implemented txt1 and pic1 panes.
  • Added Settings (Colors and Background Image).
  • Added Keyboard shortcuts (Save, expand treeview ect.).
  • Possibility to import a JSON custom theme.
  • You can now Add/Remove/Clone panes.

v1.0.0-beta2

  • Hotfix for a rendering bug.
  • SZS File loading + file extract/replace.
  • Multiple file editing at the same time.
  • Dragging view + objects (panes).

v1.0.0-beta

  • BLFYT file preview with a simple rendering.
  • Pane settings editing.
  • Modifications saving.

Credits

  • FuryBaguette - Development.
  • exelix - Base of the editor & Continuous development.
  • Aboud - Sarc Tool.
  • Syroot - Binary Data.

External links

Advertising: