<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LuigisDum</id>
	<title>3dbrew - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LuigisDum"/>
	<link rel="alternate" type="text/html" href="https://www.3dbrew.org/wiki/Special:Contributions/LuigisDum"/>
	<updated>2026-04-14T22:20:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=22532</id>
		<title>CLYT format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=22532"/>
		<updated>2024-04-03T16:50:43Z</updated>

		<summary type="html">&lt;p&gt;LuigisDum: Updated description and information of multiple sections and added info on wnd1 and bnd1, while also fixing an error in usd1. Added links to more sources (Mario Kart Wii Wiki &amp;amp; Switch Toolbox) and updated old links (EFE and florian.nouwt)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;CLYT&#039;&#039;&#039; (.bclyt) is the layout format used on the 3DS. It stands for (&#039;&#039;&#039;B&#039;&#039;&#039;inary) &#039;&#039;&#039;C&#039;&#039;&#039;TR &#039;&#039;&#039;L&#039;&#039;&#039;a&#039;&#039;&#039;y&#039;&#039;&#039;ou&#039;&#039;&#039;t&#039;&#039;&#039;, and is similar to the RLYT format used on the Wii.&lt;br /&gt;
== Header ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (CLYT)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x2||UInt16||Byte Order Mark&lt;br /&gt;
|-&lt;br /&gt;
|0x06||0x2||UInt16||Header Length&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Revision&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x4||UInt32||File Size&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x2||UInt16||Nr Sections&lt;br /&gt;
|-&lt;br /&gt;
|0x12||0x2||UInt16||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== lyt1 (Layout 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (lyt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Origin type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||Classic&lt;br /&gt;
|-&lt;br /&gt;
|1||Normal&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Canvas Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txl1 (Texture List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Textures = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Texture Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== fnl1 (Font List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (fnl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Fonts = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Font Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== mat1 (Materials 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (mat1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Materials = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Material Entry Offsets (relative to the start of this section)&lt;br /&gt;
|}&lt;br /&gt;
After this, the material entries follow.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x14||String||Material Name&lt;br /&gt;
|-&lt;br /&gt;
|0x14||0x4||RGBA8||Tev Color (Buffer Color?)&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x18||RGBA8[6]||Tev Constant Colors&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0x4||UInt32||Flags / bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag / data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Nr texMap&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Nr texMatrix&lt;br /&gt;
|-&lt;br /&gt;
|4-5||Nr texCoordGen&lt;br /&gt;
|-&lt;br /&gt;
|6-8||Nr tevStage&lt;br /&gt;
|-&lt;br /&gt;
|9||Has alphaCompare&lt;br /&gt;
|-&lt;br /&gt;
|10||Has blendMode&lt;br /&gt;
|-&lt;br /&gt;
|11||Use Texture Only&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
=== Texture Map Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x2||UInt16||Texture Index&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap S (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Min Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x03||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap T (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Mag Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Matrix Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x8||Vector2||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||Single||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Scale&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Coordinate Generation Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x1||UInt8||Type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||2x4 matrix&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x01||0x1||UInt8||Source (N = Tex N, max 2)&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x2||UInt8[]||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
TODO: tevStage, alphaCompare, blendMode, etc...&lt;br /&gt;
&lt;br /&gt;
== pan1(Pane 1) ==&lt;br /&gt;
Defines a Null pane, used mostly to keep panes grouped in hierarchies or to control the children of a given pan1 without having to do so individually.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pan1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Flags&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag&lt;br /&gt;
|-&lt;br /&gt;
|0||Visible&lt;br /&gt;
|-&lt;br /&gt;
|1||InfluencedAlpha&lt;br /&gt;
|-&lt;br /&gt;
|2||LocationAdjust&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x09||0x1||UInt8||Origin (1 = centered, 2 = right, 3 = left, )&lt;br /&gt;
|-&lt;br /&gt;
|0x0A||0x1||UInt8||Alpha&lt;br /&gt;
|-&lt;br /&gt;
|0x0B||0x1||UInt8||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x10||String||Pane name&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x8||String||Data&lt;br /&gt;
|-&lt;br /&gt;
|0x24||0xC||Vector3||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0xC||Vector3||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x3C||0x8||Vector2||Scale&lt;br /&gt;
|-&lt;br /&gt;
|0x44||0x8||Vector2||Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== pic1(Picture 1) ==&lt;br /&gt;
&#039;&#039;&#039;pic1&#039;&#039;&#039; represents a picture that can be displayed in a layout. The first 0x4C bytes are defined the same as [[CLYT_format#pan1_(Pane_1)|pan1]] with minor differences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pic1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section size (including the texture coordinates)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;| Same as pan1 from 0x8 to 0x4c&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x4||RGBA8||Top left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||RGBA8||Top right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x4||RGBA8||Bottom left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||RGBA8||Bottom right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x2||UInt16||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x5E||0x2||UInt16||Nr texture coordinates = N&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Texture coordinates entry&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + (N-1) * 0x20||0x8||Vector2||Top left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x64 + (N-1) * 0x20||0x8||Vector2||Top right vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x68 + (N-1) * 0x20||0x8||Vector2||Bottom left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x6C + (N-1) * 0x20||0x8||Vector2||Bottom right vertex texture coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txt1 (Text 1) ==&lt;br /&gt;
A textbox used in layouts. &lt;br /&gt;
The first 0x4C bytes are defined the same as [[CLYT_format#pan1_(Pane_1)|pan1]] with minor differences.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section size (including the textbox string)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;| Same as pan1 from 0x8 to 0x4c&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x2||Unknown||Flags (H Direction?)&lt;br /&gt;
|-&lt;br /&gt;
|0x4E||0x2||Unknown||Flags (V Direction?)&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||UInt32||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x2||Unknown||Flags (Line alignment?)&lt;br /&gt;
|-&lt;br /&gt;
|0x56||0x2||Unknown||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||UInt32||Offset from signature to beginning of the string&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x4||RGBA8||Font top color&lt;br /&gt;
|-&lt;br /&gt;
|0x60||0x4||RGBA8||Font bottom color&lt;br /&gt;
|-&lt;br /&gt;
|0x64||0x8||Vector2||Font scale&lt;br /&gt;
|-&lt;br /&gt;
|0x6C||0x4||Float||Horizontal font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x70||0x4||Float||Vertical font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x74||User defined||String||Textbox text (must be multiple of 4), can be usd1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== wnd1 (Window 1) ==&lt;br /&gt;
A more complex type of [[#pic1|image pane]], where the user can define the content, the corners and the sides of it, depending on what mode it&#039;s set to.&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (wnd1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section size (including the texture coordinates)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;| Same as pan1 from 0x8 to 0x4c&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x4||float||Coordinate 1&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||float||Coordinate 2&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x4||float||Coordinate 3&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||float||Coordinate 4&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x1||Byte|| Number of frames (n)&lt;br /&gt;
|-&lt;br /&gt;
|0x5D||0x1||Byte||Flag&lt;br /&gt;
|-&lt;br /&gt;
|0x5E||0x2||UInt16||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x60||0x4||UInt32||Window content offset (Points to 0x68)&lt;br /&gt;
|-&lt;br /&gt;
|0x64||0x4||UInt32||Window frame offsets, offset to offsets of the materials for the frames. (W)&lt;br /&gt;
|-&lt;br /&gt;
|0x68||0x4||RGBA8||Content box top left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x6C||0x4||RGBA8||Content box top right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x70||0x4||RGBA8||Content box bottom left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x74||0x4||RGBA8||Content box bottom right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x78||0x2||UInt16||Content box Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x7A||0x2||UInt16||Number of Texture coordinates (N)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Texture coordinates entry&lt;br /&gt;
|-&lt;br /&gt;
|0x7C + (N-1) * 0x20||0x8||Vector2||Top left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x84 + (N-1) * 0x20||0x8||Vector2||Top right vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x8C + (N-1) * 0x20||0x8||Vector2||Bottom left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x94 + (N-1) * 0x20||0x8||Vector2||Bottom right vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Window frames&lt;br /&gt;
|-&lt;br /&gt;
|0x(W)||0x4 * n ||UInt32|| Offsets to frame materials&lt;br /&gt;
|-&lt;br /&gt;
|0x(W)||0x4 * n ||Window frame||&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x0||UInt16||0x2||Frame Material ID &lt;br /&gt;
|-&lt;br /&gt;
|0x2||Byte||0x1||Flip Type&lt;br /&gt;
|-&lt;br /&gt;
|0x3||Byte||0x1||Padding&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Below is a table of possible material flip types. &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;(From Mario Kart Wii Wiki)&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0 || None&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Flip (Horizontal)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Flip (Vertical)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Rotate 90 Degrees&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Rotate 180 Degrees&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Rotate 270 Degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== bnd1 (Bounding 1) ==&lt;br /&gt;
Same data structure as [[#pan1 (Pane 1)|Panes]], but used to limit interaction with buttons.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (bnd1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section size (including the texture coordinates)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;| Same as pan1 from 0x8 to 0x4c&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== pas1 (Pane Start 1) ==&lt;br /&gt;
Marks the start of a pane hierarchy, with the parent being the previous pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pas1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== pae1 (Pane End 1) ==&lt;br /&gt;
Marks the end of a pane hierarchy.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pae1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== grp1 (Group 1) ==&lt;br /&gt;
Starts a pane group, which can be inside other pane groups.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grp1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x10||String||Group Name&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x4||UInt32||Nr Pane References (=N)&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x10 * N||String[N]||Pane References&lt;br /&gt;
|}&lt;br /&gt;
== grs1 (Group Start 1) ==&lt;br /&gt;
Starts a group hierarchy.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grs1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== gre1 (Group End 1) ==&lt;br /&gt;
Ends a group hierarchy.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (gre1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== usd1 (User Data 1) ==&lt;br /&gt;
Contains a dictionary with strings as keys and variable values&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 0x4 || String || Signature (usd1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 0x4 || UInt32 || Section Size &lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 0x4 || UInt32 || Number of entries (= N)&lt;br /&gt;
|-&lt;br /&gt;
| 0xC || 0xC * N // Variable || Entries[] || Entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== User Entries ===&lt;br /&gt;
&lt;br /&gt;
Where an entry is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || 0x4 || UInt32 || Key offset (from start of this entry) to null-terminated ascii string that serves as key.&lt;br /&gt;
|-&lt;br /&gt;
| 0x4 || 0x4 || UInt32 || Value offset (from start of this entry).&lt;br /&gt;
|-&lt;br /&gt;
| 0x8 || 0x2 || UInt16 || Number of entries or string length. &lt;br /&gt;
|-&lt;br /&gt;
| 0xA || 0x2 || UInt16 || Value type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || String&lt;br /&gt;
|-&lt;br /&gt;
| 0x1 || Int&lt;br /&gt;
|-&lt;br /&gt;
| 0x2 || Float&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* [https://github.com/PabloMK7/EveryFileExplorer/releases/latest Every File Explorer] and [https://github.com/KillzXGaming/Switch-Toolbox Switch Toolbox] both have limited support for viewing these.&lt;br /&gt;
* [https://github.com/pleonex/Clypo/releases Clypo] allows exporting these files to yml and importing back to bclyt but it only supports scale, size, translation and rotation of panes.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
https://wiki.tockdom.com/wiki/BRLYT_(File_Format) &amp;lt;br&amp;gt;&lt;br /&gt;
http://florian.nouwt.com/wiki/index.php/CLYT_%28File_Format%29 ([https://web.archive.org/web/20150511192058/http://florian.nouwt.com/wiki/index.php/CLYT_(File_Format) Archived]) &amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/Gericom/EveryFileExplorer/tree/master/3DS/NintendoWare/LYT1 &amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/KillzXGaming/Switch-Toolbox/tree/master/File_Format_Library/FileFormats/Layout/CTR/Panes &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>LuigisDum</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Talk:CLYT_format&amp;diff=21825</id>
		<title>Talk:CLYT format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Talk:CLYT_format&amp;diff=21825"/>
		<updated>2022-03-02T11:34:45Z</updated>

		<summary type="html">&lt;p&gt;LuigisDum: /* Unable to edit the wiki page */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Unable to edit the wiki page ==&lt;br /&gt;
&lt;br /&gt;
I tried to edit this page again on the 27th of february, then on the 28th of february, then again on march 1st and then again today march 2nd and I&#039;ve been unable to, being prompted with &amp;lt;code&amp;gt;*** Forbidden. Message seems to be spam. ***&amp;lt;/code&amp;gt; every time I tried to save changes, I tried making minor changes too to see if somehow one of my changes was detected as spam but it all ends with the same error, I don&#039;t understand what could have made this happen but it&#039;s very unfortunate, if I can&#039;t manage to edit the page with this account I&#039;ll have to create a new one. &lt;br /&gt;
I don&#039;t know if the website admins will see it or not but I hope that whatever was wrong with my account or with the page gets fixed, thanks for your time.&lt;/div&gt;</summary>
		<author><name>LuigisDum</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21824</id>
		<title>CLYT format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21824"/>
		<updated>2022-02-26T09:30:37Z</updated>

		<summary type="html">&lt;p&gt;LuigisDum: /* txt1 (Text 1) */ changed flags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;CLYT&#039;&#039;&#039; (.bclyt) is the layout format used on the 3DS. It stands for (&#039;&#039;&#039;B&#039;&#039;&#039;inary) &#039;&#039;&#039;C&#039;&#039;&#039;TR &#039;&#039;&#039;L&#039;&#039;&#039;a&#039;&#039;&#039;y&#039;&#039;&#039;ou&#039;&#039;&#039;t&#039;&#039;&#039;, and is similar to the RLYT format used on the Wii.&lt;br /&gt;
== Header ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (CLYT)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x2||UInt16||Byte Order Mark&lt;br /&gt;
|-&lt;br /&gt;
|0x06||0x2||UInt16||Header Length&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Revision&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x4||UInt32||File Size&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x2||UInt16||Nr Sections&lt;br /&gt;
|-&lt;br /&gt;
|0x12||0x2||UInt16||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== lyt1 (Layout 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (lyt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Origin type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||Classic&lt;br /&gt;
|-&lt;br /&gt;
|1||Normal&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Canvas Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txl1 (Texture List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Textures = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Texture Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== fnl1 (Font List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (fnl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Fonts = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Font Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== mat1 (Materials 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (mat1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Materials = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Material Entry Offsets (relative to the start of this section)&lt;br /&gt;
|}&lt;br /&gt;
After this, the material entries follow.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x14||String||Material Name&lt;br /&gt;
|-&lt;br /&gt;
|0x14||0x4||RGBA8||Tev Color (Buffer Color?)&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x18||RGBA8[6]||Tev Constant Colors&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0x4||UInt32||Flags / bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag / data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Nr texMap&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Nr texMatrix&lt;br /&gt;
|-&lt;br /&gt;
|4-5||Nr texCoordGen&lt;br /&gt;
|-&lt;br /&gt;
|6-8||Nr tevStage&lt;br /&gt;
|-&lt;br /&gt;
|9||Has alphaCompare&lt;br /&gt;
|-&lt;br /&gt;
|10||Has blendMode&lt;br /&gt;
|-&lt;br /&gt;
|11||Use Texture Only&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
=== Texture Map Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x2||UInt16||Texture Index&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap S (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Min Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap T (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Mag Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Matrix Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x8||Vector2||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||Single||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Scale&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Coordinate Generation Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x1||UInt8||Type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||2x4 matrix&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Source (N = Tex N, max 2)&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x2||UInt8[]||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
TODO: tevStage, alphaCompare, blendMode, etc...&lt;br /&gt;
&lt;br /&gt;
== pan1 (Pane 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pan1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Flags&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag&lt;br /&gt;
|-&lt;br /&gt;
|0||Visible&lt;br /&gt;
|-&lt;br /&gt;
|1||InfluencedAlpha&lt;br /&gt;
|-&lt;br /&gt;
|2||LocationAdjust&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x09||0x1||UInt8||Origin&lt;br /&gt;
|-&lt;br /&gt;
|0x0A||0x1||UInt8||Alpha&lt;br /&gt;
|-&lt;br /&gt;
|0x0B||0x1||UInt8||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x10||String||Pane name&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x8||String||Data&lt;br /&gt;
|-&lt;br /&gt;
|0x24||0xC||Vector3||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0xC||Vector3||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x3C||0x8||Vector2||Scale&lt;br /&gt;
|-&lt;br /&gt;
|0x44||0x8||Vector2||Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== pic1 (Picture 1) ==&lt;br /&gt;
&#039;&#039;&#039;pic1&#039;&#039;&#039; represents a picture that can be displayed in a layout. The previous 0x4C bytes are all defined the same as [[CLYT_format#pan1_.28Pane_1.29|pan1]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x4||RGBA8||Top left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||RGBA8||Top right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x4||RGBA8||Bottom left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||RGBA8||Bottom right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x2||UInt16||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x5E||0x2||UInt16||Nr texture coordinates = N&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Texture coordinates entry&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + (N-1) * 0x20||0x8||Vector2||Top left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + (N-1) * 0x20||0x8||Vector2||Top right vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + (N-1) * 0x20||0x8||Vector2||Bottom left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + (N-1) * 0x20||0x8||Vector2||Bottom right vertex texture coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txt1 (Text 1) ==&lt;br /&gt;
A textbox used in layouts. &lt;br /&gt;
The first 0x4C bytes are defined the same as [[CLYT_format#pan1_(Pane_1)|pan1]] with minor differences.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section size (including the textbox string)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Duplicate of pan1 from 0x8 to 0x4c&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x2||Unknown||Flags (H Direction?)&lt;br /&gt;
|-&lt;br /&gt;
|0x4E||0x2||Unknown||Flags (V Direction?)&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||UInt32||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x2||Unknown||Flags (Line alignment?)&lt;br /&gt;
|-&lt;br /&gt;
|0x56||0x2||Unknown||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||UInt32||Offset from signature to beginning of the string&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x4||RGBA8||Font top color&lt;br /&gt;
|-&lt;br /&gt;
|0x60||0x4||RGBA8||Font bottom color&lt;br /&gt;
|-&lt;br /&gt;
|0x64||0x8||Vector2||Font scale&lt;br /&gt;
|-&lt;br /&gt;
|0x6C||0x4||Float||Horizontal font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x70||0x4||Float||Vertical font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x74||User defined||String||Textbox text (must be multiple of 4), can be usd1&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== wnd1 (Window 1) ==&lt;br /&gt;
&lt;br /&gt;
== bnd1 (Bounding 1) ==&lt;br /&gt;
Same data structure as [[#pan1 (Pane 1)|Panes]].&lt;br /&gt;
&lt;br /&gt;
== pas1 (Pane Start 1) ==&lt;br /&gt;
Starts a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pas1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== pae1 (Pane End 1) ==&lt;br /&gt;
Ends a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pae1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== grp1 (Group 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grp1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x10||String||Group Name&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x4||UInt32||Nr Pane References (=N)&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x10 * N||String[N]||Pane References&lt;br /&gt;
|}&lt;br /&gt;
== grs1 (Group Start 1) ==&lt;br /&gt;
Starts a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grs1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== gre1 (Group End 1) ==&lt;br /&gt;
Ends a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (gre1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== usd1 (User Data 1) ==&lt;br /&gt;
Contains a map with strings as keys and variable values&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 0x4 || String || Signature (usd1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 0x4 || UInt32 || Section Size &lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 0x4 || UInt32 || Number of entries (= N)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 || 0x12 * N || Entries[] || Entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 + 0x12 * N || ? || Variable || Values referred to by the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where an entry is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || 0x4 || UInt32 || Key: offset (from start of this entry) to null-terminated ascii string&lt;br /&gt;
|-&lt;br /&gt;
| 0x4 || 0x4 || UInt32 || Value: offset (from start of this entry) to a value (type decided by last field)&lt;br /&gt;
|-&lt;br /&gt;
| 0x8 || 0x2 || UInt16 || Amount or, if a string, the length of the value(s) &lt;br /&gt;
|-&lt;br /&gt;
| 0xA || 0x2 || UInt16 || Value type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || String&lt;br /&gt;
|-&lt;br /&gt;
| 0x1 || Int&lt;br /&gt;
|-&lt;br /&gt;
| 0x2 || Float&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* [https://github.com/mariohackandglitch/EveryFileExplorer/releases/latest Every File Explorer] has limited support for viewing these.&lt;br /&gt;
* [https://github.com/pleonex/Clypo/releases Clypo] allows exporting these files to yml and importing back to bclyt but it only supports scale, size, translation and rotation of panes.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
http://florian.nouwt.com/wiki/index.php/CLYT_%28File_Format%29&lt;br /&gt;
https://github.com/Gericom/EveryFileExplorer/tree/master/3DS/NintendoWare/LYT1&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>LuigisDum</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21823</id>
		<title>CLYT format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21823"/>
		<updated>2022-02-25T21:43:34Z</updated>

		<summary type="html">&lt;p&gt;LuigisDum: /* pic1 (Picture 1) */  Changed misleading info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;CLYT&#039;&#039;&#039; (.bclyt) is the layout format used on the 3DS. It stands for (&#039;&#039;&#039;B&#039;&#039;&#039;inary) &#039;&#039;&#039;C&#039;&#039;&#039;TR &#039;&#039;&#039;L&#039;&#039;&#039;a&#039;&#039;&#039;y&#039;&#039;&#039;ou&#039;&#039;&#039;t&#039;&#039;&#039;, and is similar to the RLYT format used on the Wii.&lt;br /&gt;
== Header ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (CLYT)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x2||UInt16||Byte Order Mark&lt;br /&gt;
|-&lt;br /&gt;
|0x06||0x2||UInt16||Header Length&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Revision&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x4||UInt32||File Size&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x2||UInt16||Nr Sections&lt;br /&gt;
|-&lt;br /&gt;
|0x12||0x2||UInt16||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== lyt1 (Layout 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (lyt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Origin type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||Classic&lt;br /&gt;
|-&lt;br /&gt;
|1||Normal&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Canvas Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txl1 (Texture List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Textures = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Texture Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== fnl1 (Font List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (fnl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Fonts = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Font Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== mat1 (Materials 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (mat1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Materials = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Material Entry Offsets (relative to the start of this section)&lt;br /&gt;
|}&lt;br /&gt;
After this, the material entries follow.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x14||String||Material Name&lt;br /&gt;
|-&lt;br /&gt;
|0x14||0x4||RGBA8||Tev Color (Buffer Color?)&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x18||RGBA8[6]||Tev Constant Colors&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0x4||UInt32||Flags / bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag / data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Nr texMap&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Nr texMatrix&lt;br /&gt;
|-&lt;br /&gt;
|4-5||Nr texCoordGen&lt;br /&gt;
|-&lt;br /&gt;
|6-8||Nr tevStage&lt;br /&gt;
|-&lt;br /&gt;
|9||Has alphaCompare&lt;br /&gt;
|-&lt;br /&gt;
|10||Has blendMode&lt;br /&gt;
|-&lt;br /&gt;
|11||Use Texture Only&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
=== Texture Map Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x2||UInt16||Texture Index&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap S (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Min Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap T (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Mag Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Matrix Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x8||Vector2||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||Single||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Scale&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Coordinate Generation Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x1||UInt8||Type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||2x4 matrix&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Source (N = Tex N, max 2)&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x2||UInt8[]||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
TODO: tevStage, alphaCompare, blendMode, etc...&lt;br /&gt;
&lt;br /&gt;
== pan1 (Pane 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pan1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Flags&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag&lt;br /&gt;
|-&lt;br /&gt;
|0||Visible&lt;br /&gt;
|-&lt;br /&gt;
|1||InfluencedAlpha&lt;br /&gt;
|-&lt;br /&gt;
|2||LocationAdjust&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x09||0x1||UInt8||Origin&lt;br /&gt;
|-&lt;br /&gt;
|0x0A||0x1||UInt8||Alpha&lt;br /&gt;
|-&lt;br /&gt;
|0x0B||0x1||UInt8||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x10||String||Pane name&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x8||String||Data&lt;br /&gt;
|-&lt;br /&gt;
|0x24||0xC||Vector3||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0xC||Vector3||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x3C||0x8||Vector2||Scale&lt;br /&gt;
|-&lt;br /&gt;
|0x44||0x8||Vector2||Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== pic1 (Picture 1) ==&lt;br /&gt;
&#039;&#039;&#039;pic1&#039;&#039;&#039; represents a picture that can be displayed in a layout. The previous 0x4C bytes are all defined the same as [[CLYT_format#pan1_.28Pane_1.29|pan1]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x4||RGBA8||Top left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||RGBA8||Top right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x4||RGBA8||Bottom left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||RGBA8||Bottom right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x2||UInt16||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x5E||0x2||UInt16||Nr texture coordinates = N&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Texture coordinates entry&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + (N-1) * 0x20||0x8||Vector2||Top left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + (N-1) * 0x20||0x8||Vector2||Top right vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + (N-1) * 0x20||0x8||Vector2||Bottom left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + (N-1) * 0x20||0x8||Vector2||Bottom right vertex texture coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txt1 (Text 1) ==&lt;br /&gt;
A textbox used in layouts. &lt;br /&gt;
The first 0x4C bytes are defined the same as [[CLYT_format#pan1_(Pane_1)|pan1]] with minor differences.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section size (including the textbox string)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Duplicate of pan1 from 0x8 to 0x4c&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x4E||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||UInt32||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x56||0x2||Unknown||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||UInt32||Offset from signature to beginning of the string&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x4||RGBA8||Font top color&lt;br /&gt;
|-&lt;br /&gt;
|0x60||0x4||RGBA8||Font bottom color&lt;br /&gt;
|-&lt;br /&gt;
|0x64||0x8||Vector2||Font scale&lt;br /&gt;
|-&lt;br /&gt;
|0x6C||0x4||Float||Horizontal font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x70||0x4||Float||Vertical font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x74||User defined||String||Textbox text (must be multiple of 4), can be usd1&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== wnd1 (Window 1) ==&lt;br /&gt;
&lt;br /&gt;
== bnd1 (Bounding 1) ==&lt;br /&gt;
Same data structure as [[#pan1 (Pane 1)|Panes]].&lt;br /&gt;
&lt;br /&gt;
== pas1 (Pane Start 1) ==&lt;br /&gt;
Starts a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pas1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== pae1 (Pane End 1) ==&lt;br /&gt;
Ends a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pae1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== grp1 (Group 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grp1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x10||String||Group Name&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x4||UInt32||Nr Pane References (=N)&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x10 * N||String[N]||Pane References&lt;br /&gt;
|}&lt;br /&gt;
== grs1 (Group Start 1) ==&lt;br /&gt;
Starts a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grs1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== gre1 (Group End 1) ==&lt;br /&gt;
Ends a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (gre1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== usd1 (User Data 1) ==&lt;br /&gt;
Contains a map with strings as keys and variable values&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 0x4 || String || Signature (usd1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 0x4 || UInt32 || Section Size &lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 0x4 || UInt32 || Number of entries (= N)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 || 0x12 * N || Entries[] || Entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 + 0x12 * N || ? || Variable || Values referred to by the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where an entry is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || 0x4 || UInt32 || Key: offset (from start of this entry) to null-terminated ascii string&lt;br /&gt;
|-&lt;br /&gt;
| 0x4 || 0x4 || UInt32 || Value: offset (from start of this entry) to a value (type decided by last field)&lt;br /&gt;
|-&lt;br /&gt;
| 0x8 || 0x2 || UInt16 || Amount or, if a string, the length of the value(s) &lt;br /&gt;
|-&lt;br /&gt;
| 0xA || 0x2 || UInt16 || Value type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || String&lt;br /&gt;
|-&lt;br /&gt;
| 0x1 || Int&lt;br /&gt;
|-&lt;br /&gt;
| 0x2 || Float&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* [https://github.com/mariohackandglitch/EveryFileExplorer/releases/latest Every File Explorer] has limited support for viewing these.&lt;br /&gt;
* [https://github.com/pleonex/Clypo/releases Clypo] allows exporting these files to yml and importing back to bclyt but it only supports scale, size, translation and rotation of panes.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
http://florian.nouwt.com/wiki/index.php/CLYT_%28File_Format%29&lt;br /&gt;
https://github.com/Gericom/EveryFileExplorer/tree/master/3DS/NintendoWare/LYT1&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>LuigisDum</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21611</id>
		<title>CLYT format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21611"/>
		<updated>2021-10-23T21:15:40Z</updated>

		<summary type="html">&lt;p&gt;LuigisDum: Added another tool (Clypo) and links to both tools&amp;#039; Github pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;CLYT&#039;&#039;&#039; (.bclyt) is the layout format used on the 3DS. It stands for (&#039;&#039;&#039;B&#039;&#039;&#039;inary) &#039;&#039;&#039;C&#039;&#039;&#039;TR &#039;&#039;&#039;L&#039;&#039;&#039;a&#039;&#039;&#039;y&#039;&#039;&#039;ou&#039;&#039;&#039;t&#039;&#039;&#039;, and is similar to the RLYT format used on the Wii.&lt;br /&gt;
== Header ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (CLYT)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x2||UInt16||Byte Order Mark&lt;br /&gt;
|-&lt;br /&gt;
|0x06||0x2||UInt16||Header Length&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Revision&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x4||UInt32||File Size&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x2||UInt16||Nr Sections&lt;br /&gt;
|-&lt;br /&gt;
|0x12||0x2||UInt16||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== lyt1 (Layout 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (lyt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Origin type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||Classic&lt;br /&gt;
|-&lt;br /&gt;
|1||Normal&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Canvas Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txl1 (Texture List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Textures = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Texture Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== fnl1 (Font List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (fnl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Fonts = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Font Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== mat1 (Materials 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (mat1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Materials = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Material Entry Offsets (relative to the start of this section)&lt;br /&gt;
|}&lt;br /&gt;
After this, the material entries follow.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x14||String||Material Name&lt;br /&gt;
|-&lt;br /&gt;
|0x14||0x4||RGBA8||Tev Color (Buffer Color?)&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x18||RGBA8[6]||Tev Constant Colors&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0x4||UInt32||Flags / bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag / data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Nr texMap&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Nr texMatrix&lt;br /&gt;
|-&lt;br /&gt;
|4-5||Nr texCoordGen&lt;br /&gt;
|-&lt;br /&gt;
|6-8||Nr tevStage&lt;br /&gt;
|-&lt;br /&gt;
|9||Has alphaCompare&lt;br /&gt;
|-&lt;br /&gt;
|10||Has blendMode&lt;br /&gt;
|-&lt;br /&gt;
|11||Use Texture Only&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
=== Texture Map Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x2||UInt16||Texture Index&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap S (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Min Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap T (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Mag Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Matrix Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x8||Vector2||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||Single||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Scale&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Coordinate Generation Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x1||UInt8||Type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||2x4 matrix&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Source (N = Tex N, max 2)&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x2||UInt8[]||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
TODO: tevStage, alphaCompare, blendMode, etc...&lt;br /&gt;
&lt;br /&gt;
== pan1 (Pane 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pan1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Flags&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag&lt;br /&gt;
|-&lt;br /&gt;
|0||Visible&lt;br /&gt;
|-&lt;br /&gt;
|1||InfluencedAlpha&lt;br /&gt;
|-&lt;br /&gt;
|2||LocationAdjust&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x09||0x1||UInt8||Origin&lt;br /&gt;
|-&lt;br /&gt;
|0x0A||0x1||UInt8||Alpha&lt;br /&gt;
|-&lt;br /&gt;
|0x0B||0x1||UInt8||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x10||String||Pane name&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x8||String||Data&lt;br /&gt;
|-&lt;br /&gt;
|0x24||0xC||Vector3||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0xC||Vector3||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x3C||0x8||Vector2||Scale&lt;br /&gt;
|-&lt;br /&gt;
|0x44||0x8||Vector2||Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== pic1 (Picture 1) ==&lt;br /&gt;
&#039;&#039;&#039;pic1&#039;&#039;&#039; represents a picture that can be displayed in a layout. The previous 0x4C bytes are all defined the same as [[CLYT_format#pan1_.28Pane_1.29|pan1]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x4||RGBA8||Top left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||RGBA8||Top right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x4||RGBA8||Bottom left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||RGBA8||Bottom right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x2||UInt16||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x5E||0x2||UInt16||Nr texture coordinates = N&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Texture coordinates entry&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Top left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Top right vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Bottom left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Bottom right vertex texture coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txt1 (Text 1) ==&lt;br /&gt;
A textbox used in layouts. &lt;br /&gt;
The first 0x4C bytes are defined the same as [[CLYT_format#pan1_(Pane_1)|pan1]] with minor differences.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section size (including the textbox string)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Duplicate of pan1 from 0x8 to 0x4c&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x4E||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||UInt32||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x56||0x2||Unknown||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||UInt32||Offset from signature to beginning of the string&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x4||RGBA8||Font top color&lt;br /&gt;
|-&lt;br /&gt;
|0x60||0x4||RGBA8||Font bottom color&lt;br /&gt;
|-&lt;br /&gt;
|0x64||0x8||Vector2||Font scale&lt;br /&gt;
|-&lt;br /&gt;
|0x6C||0x4||Float||Horizontal font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x70||0x4||Float||Vertical font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x74||User defined||String||Textbox text (must be multiple of 4), can be usd1&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== wnd1 (Window 1) ==&lt;br /&gt;
&lt;br /&gt;
== bnd1 (Bounding 1) ==&lt;br /&gt;
Same data structure as [[#pan1 (Pane 1)|Panes]].&lt;br /&gt;
&lt;br /&gt;
== pas1 (Pane Start 1) ==&lt;br /&gt;
Starts a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pas1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== pae1 (Pane End 1) ==&lt;br /&gt;
Ends a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pae1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== grp1 (Group 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grp1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x10||String||Group Name&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x4||UInt32||Nr Pane References (=N)&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x10 * N||String[N]||Pane References&lt;br /&gt;
|}&lt;br /&gt;
== grs1 (Group Start 1) ==&lt;br /&gt;
Starts a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grs1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== gre1 (Group End 1) ==&lt;br /&gt;
Ends a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (gre1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== usd1 (User Data 1) ==&lt;br /&gt;
Contains a map with strings as keys and variable values&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 0x4 || String || Signature (usd1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 0x4 || UInt32 || Section Size &lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 0x4 || UInt32 || Number of entries (= N)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 || 0x12 * N || Entries[] || Entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 + 0x12 * N || ? || Variable || Values referred to by the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where an entry is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || 0x4 || UInt32 || Key: offset (from start of this entry) to null-terminated ascii string&lt;br /&gt;
|-&lt;br /&gt;
| 0x4 || 0x4 || UInt32 || Value: offset (from start of this entry) to a value (type decided by last field)&lt;br /&gt;
|-&lt;br /&gt;
| 0x8 || 0x2 || UInt16 || Amount or, if a string, the length of the value(s) &lt;br /&gt;
|-&lt;br /&gt;
| 0xA || 0x2 || UInt16 || Value type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || String&lt;br /&gt;
|-&lt;br /&gt;
| 0x1 || Int&lt;br /&gt;
|-&lt;br /&gt;
| 0x2 || Float&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* [https://github.com/mariohackandglitch/EveryFileExplorer/releases/latest Every File Explorer] has limited support for viewing these.&lt;br /&gt;
* [https://github.com/pleonex/Clypo/releases Clypo] allows exporting these files to yml and importing back to bclyt but it only supports scale, size, translation and rotation of panes.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
http://florian.nouwt.com/wiki/index.php/CLYT_%28File_Format%29&lt;br /&gt;
https://github.com/Gericom/EveryFileExplorer/tree/master/3DS/NintendoWare/LYT1&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>LuigisDum</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21610</id>
		<title>CLYT format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21610"/>
		<updated>2021-10-23T21:05:50Z</updated>

		<summary type="html">&lt;p&gt;LuigisDum: Changed description to make it less confusing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;CLYT&#039;&#039;&#039; (.bclyt) is the layout format used on the 3DS. It stands for (&#039;&#039;&#039;B&#039;&#039;&#039;inary) &#039;&#039;&#039;C&#039;&#039;&#039;TR &#039;&#039;&#039;L&#039;&#039;&#039;a&#039;&#039;&#039;y&#039;&#039;&#039;ou&#039;&#039;&#039;t&#039;&#039;&#039;, and is similar to the RLYT format used on the Wii.&lt;br /&gt;
== Header ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (CLYT)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x2||UInt16||Byte Order Mark&lt;br /&gt;
|-&lt;br /&gt;
|0x06||0x2||UInt16||Header Length&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Revision&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x4||UInt32||File Size&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x2||UInt16||Nr Sections&lt;br /&gt;
|-&lt;br /&gt;
|0x12||0x2||UInt16||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== lyt1 (Layout 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (lyt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Origin type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||Classic&lt;br /&gt;
|-&lt;br /&gt;
|1||Normal&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Canvas Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txl1 (Texture List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Textures = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Texture Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== fnl1 (Font List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (fnl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Fonts = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Font Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== mat1 (Materials 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (mat1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Materials = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Material Entry Offsets (relative to the start of this section)&lt;br /&gt;
|}&lt;br /&gt;
After this, the material entries follow.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x14||String||Material Name&lt;br /&gt;
|-&lt;br /&gt;
|0x14||0x4||RGBA8||Tev Color (Buffer Color?)&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x18||RGBA8[6]||Tev Constant Colors&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0x4||UInt32||Flags / bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag / data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Nr texMap&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Nr texMatrix&lt;br /&gt;
|-&lt;br /&gt;
|4-5||Nr texCoordGen&lt;br /&gt;
|-&lt;br /&gt;
|6-8||Nr tevStage&lt;br /&gt;
|-&lt;br /&gt;
|9||Has alphaCompare&lt;br /&gt;
|-&lt;br /&gt;
|10||Has blendMode&lt;br /&gt;
|-&lt;br /&gt;
|11||Use Texture Only&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
=== Texture Map Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x2||UInt16||Texture Index&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap S (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Min Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap T (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Mag Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Matrix Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x8||Vector2||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||Single||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Scale&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Coordinate Generation Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x1||UInt8||Type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||2x4 matrix&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Source (N = Tex N, max 2)&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x2||UInt8[]||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
TODO: tevStage, alphaCompare, blendMode, etc...&lt;br /&gt;
&lt;br /&gt;
== pan1 (Pane 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pan1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Flags&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag&lt;br /&gt;
|-&lt;br /&gt;
|0||Visible&lt;br /&gt;
|-&lt;br /&gt;
|1||InfluencedAlpha&lt;br /&gt;
|-&lt;br /&gt;
|2||LocationAdjust&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x09||0x1||UInt8||Origin&lt;br /&gt;
|-&lt;br /&gt;
|0x0A||0x1||UInt8||Alpha&lt;br /&gt;
|-&lt;br /&gt;
|0x0B||0x1||UInt8||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x10||String||Pane name&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x8||String||Data&lt;br /&gt;
|-&lt;br /&gt;
|0x24||0xC||Vector3||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0xC||Vector3||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x3C||0x8||Vector2||Scale&lt;br /&gt;
|-&lt;br /&gt;
|0x44||0x8||Vector2||Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== pic1 (Picture 1) ==&lt;br /&gt;
&#039;&#039;&#039;pic1&#039;&#039;&#039; represents a picture that can be displayed in a layout. The previous 0x4C bytes are all defined the same as [[CLYT_format#pan1_.28Pane_1.29|pan1]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x4||RGBA8||Top left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||RGBA8||Top right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x4||RGBA8||Bottom left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||RGBA8||Bottom right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x2||UInt16||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x5E||0x2||UInt16||Nr texture coordinates = N&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Texture coordinates entry&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Top left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Top right vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Bottom left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Bottom right vertex texture coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txt1 (Text 1) ==&lt;br /&gt;
A textbox used in layouts. &lt;br /&gt;
The first 0x4C bytes are defined the same as [[CLYT_format#pan1_(Pane_1)|pan1]] with minor differences.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section size (including the textbox string)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Duplicate of pan1 from 0x8 to 0x4c&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x4E||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||UInt32||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x56||0x2||Unknown||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||UInt32||Offset from signature to beginning of the string&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x4||RGBA8||Font top color&lt;br /&gt;
|-&lt;br /&gt;
|0x60||0x4||RGBA8||Font bottom color&lt;br /&gt;
|-&lt;br /&gt;
|0x64||0x8||Vector2||Font scale&lt;br /&gt;
|-&lt;br /&gt;
|0x6C||0x4||Float||Horizontal font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x70||0x4||Float||Vertical font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x74||User defined||String||Textbox text (must be multiple of 4), can be usd1&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== wnd1 (Window 1) ==&lt;br /&gt;
&lt;br /&gt;
== bnd1 (Bounding 1) ==&lt;br /&gt;
Same data structure as [[#pan1 (Pane 1)|Panes]].&lt;br /&gt;
&lt;br /&gt;
== pas1 (Pane Start 1) ==&lt;br /&gt;
Starts a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pas1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== pae1 (Pane End 1) ==&lt;br /&gt;
Ends a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pae1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== grp1 (Group 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grp1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x10||String||Group Name&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x4||UInt32||Nr Pane References (=N)&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x10 * N||String[N]||Pane References&lt;br /&gt;
|}&lt;br /&gt;
== grs1 (Group Start 1) ==&lt;br /&gt;
Starts a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grs1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== gre1 (Group End 1) ==&lt;br /&gt;
Ends a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (gre1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== usd1 (User Data 1) ==&lt;br /&gt;
Contains a map with strings as keys and variable values&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 0x4 || String || Signature (usd1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 0x4 || UInt32 || Section Size &lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 0x4 || UInt32 || Number of entries (= N)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 || 0x12 * N || Entries[] || Entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 + 0x12 * N || ? || Variable || Values referred to by the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where an entry is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || 0x4 || UInt32 || Key: offset (from start of this entry) to null-terminated ascii string&lt;br /&gt;
|-&lt;br /&gt;
| 0x4 || 0x4 || UInt32 || Value: offset (from start of this entry) to a value (type decided by last field)&lt;br /&gt;
|-&lt;br /&gt;
| 0x8 || 0x2 || UInt16 || Amount or, if a string, the length of the value(s) &lt;br /&gt;
|-&lt;br /&gt;
| 0xA || 0x2 || UInt16 || Value type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || String&lt;br /&gt;
|-&lt;br /&gt;
| 0x1 || Int&lt;br /&gt;
|-&lt;br /&gt;
| 0x2 || Float&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* Every File Explorer has limited support for viewing these&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
http://florian.nouwt.com/wiki/index.php/CLYT_%28File_Format%29&lt;br /&gt;
https://github.com/Gericom/EveryFileExplorer/tree/master/3DS/NintendoWare/LYT1&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>LuigisDum</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21609</id>
		<title>CLYT format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CLYT_format&amp;diff=21609"/>
		<updated>2021-10-23T21:02:44Z</updated>

		<summary type="html">&lt;p&gt;LuigisDum: Added properties to the txt1 section and a quick summary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;CLYT&#039;&#039;&#039; (.bclyt) is the layout format used on the 3DS. It stands for (&#039;&#039;&#039;B&#039;&#039;&#039;inary) &#039;&#039;&#039;C&#039;&#039;&#039;TR &#039;&#039;&#039;L&#039;&#039;&#039;a&#039;&#039;&#039;y&#039;&#039;&#039;ou&#039;&#039;&#039;t&#039;&#039;&#039;, and is similar to the RLYT format used on the Wii.&lt;br /&gt;
== Header ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (CLYT)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x2||UInt16||Byte Order Mark&lt;br /&gt;
|-&lt;br /&gt;
|0x06||0x2||UInt16||Header Length&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Revision&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x4||UInt32||File Size&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x2||UInt16||Nr Sections&lt;br /&gt;
|-&lt;br /&gt;
|0x12||0x2||UInt16||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== lyt1 (Layout 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (lyt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Origin type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||Classic&lt;br /&gt;
|-&lt;br /&gt;
|1||Normal&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Canvas Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txl1 (Texture List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Textures = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Texture Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== fnl1 (Font List 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (fnl1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Fonts = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Font Name Offsets (relative to the start of this array)&lt;br /&gt;
|}&lt;br /&gt;
After this, the null terminated names follow.&lt;br /&gt;
&lt;br /&gt;
== mat1 (Materials 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (mat1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||UInt32||Nr Materials = N&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||N * 4||UInt32[]||Material Entry Offsets (relative to the start of this section)&lt;br /&gt;
|}&lt;br /&gt;
After this, the material entries follow.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x14||String||Material Name&lt;br /&gt;
|-&lt;br /&gt;
|0x14||0x4||RGBA8||Tev Color (Buffer Color?)&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x18||RGBA8[6]||Tev Constant Colors&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0x4||UInt32||Flags / bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag / data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Nr texMap&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Nr texMatrix&lt;br /&gt;
|-&lt;br /&gt;
|4-5||Nr texCoordGen&lt;br /&gt;
|-&lt;br /&gt;
|6-8||Nr tevStage&lt;br /&gt;
|-&lt;br /&gt;
|9||Has alphaCompare&lt;br /&gt;
|-&lt;br /&gt;
|10||Has blendMode&lt;br /&gt;
|-&lt;br /&gt;
|11||Use Texture Only&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
=== Texture Map Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x2||UInt16||Texture Index&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap S (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Min Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x02||0x1||Byte||Bitfield&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Data&lt;br /&gt;
|-&lt;br /&gt;
|0-1||Wrap T (Clamp = 0, Repeat = 1, Mirror = 2)&lt;br /&gt;
|-&lt;br /&gt;
|2-3||Mag Filter (0 = Near, 1 = Linear)&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Matrix Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x8||Vector2||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x4||Single||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x8||Vector2||Scale&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Texture Coordinate Generation Entry ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x1||UInt8||Type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Value&lt;br /&gt;
!  Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||2x4 matrix&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Source (N = Tex N, max 2)&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x2||UInt8[]||Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
TODO: tevStage, alphaCompare, blendMode, etc...&lt;br /&gt;
&lt;br /&gt;
== pan1 (Pane 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pan1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x1||UInt8||Flags&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Flag&lt;br /&gt;
|-&lt;br /&gt;
|0||Visible&lt;br /&gt;
|-&lt;br /&gt;
|1||InfluencedAlpha&lt;br /&gt;
|-&lt;br /&gt;
|2||LocationAdjust&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|0x09||0x1||UInt8||Origin&lt;br /&gt;
|-&lt;br /&gt;
|0x0A||0x1||UInt8||Alpha&lt;br /&gt;
|-&lt;br /&gt;
|0x0B||0x1||UInt8||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x10||String||Pane name&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x8||String||Data&lt;br /&gt;
|-&lt;br /&gt;
|0x24||0xC||Vector3||Translation&lt;br /&gt;
|-&lt;br /&gt;
|0x30||0xC||Vector3||Rotation&lt;br /&gt;
|-&lt;br /&gt;
|0x3C||0x8||Vector2||Scale&lt;br /&gt;
|-&lt;br /&gt;
|0x44||0x8||Vector2||Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== pic1 (Picture 1) ==&lt;br /&gt;
&#039;&#039;&#039;pic1&#039;&#039;&#039; represents a picture that can be displayed in a layout. The previous 0x4C bytes are all defined by &#039;&#039;&#039;pan1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x4||RGBA8||Top left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||RGBA8||Top right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x4||RGBA8||Bottom left vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||RGBA8||Bottom right vertex color&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x2||UInt16||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x5E||0x2||UInt16||Nr texture coordinates = N&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Texture coordinates entry&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Top left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Top right vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Bottom left vertex texture coordinate&lt;br /&gt;
|-&lt;br /&gt;
|0x60 + N*0x20||0x8||Vector2||Bottom right vertex texture coordinate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== txt1 (Text 1) ==&lt;br /&gt;
A textbox used in layouts. &lt;br /&gt;
The first 0x4C bytes are defined the same as [[CLYT_format#pan1_(Pane_1)|pan1]] with minor differences.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (txt1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section size (including the textbox string)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;|Duplicate of pan1 from 0x8 to 0x4c&lt;br /&gt;
|-&lt;br /&gt;
|0x4C||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x4E||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x50||0x4||UInt32||Material ID&lt;br /&gt;
|-&lt;br /&gt;
|0x54||0x2||Unknown||Flags&lt;br /&gt;
|-&lt;br /&gt;
|0x56||0x2||Unknown||Padding&lt;br /&gt;
|-&lt;br /&gt;
|0x58||0x4||UInt32||Offset from signature to beginning of the string&lt;br /&gt;
|-&lt;br /&gt;
|0x5C||0x4||RGBA8||Font top color&lt;br /&gt;
|-&lt;br /&gt;
|0x60||0x4||RGBA8||Font bottom color&lt;br /&gt;
|-&lt;br /&gt;
|0x64||0x8||Vector2||Font scale&lt;br /&gt;
|-&lt;br /&gt;
|0x6C||0x4||Float||Horizontal font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x70||0x4||Float||Vertical font spacing&lt;br /&gt;
|-&lt;br /&gt;
|0x74||User defined||String||Textbox text (must be multiple of 4), can be usd1&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== wnd1 (Window 1) ==&lt;br /&gt;
&lt;br /&gt;
== bnd1 (Bounding 1) ==&lt;br /&gt;
Same data structure as [[#pan1 (Pane 1)|Panes]].&lt;br /&gt;
&lt;br /&gt;
== pas1 (Pane Start 1) ==&lt;br /&gt;
Starts a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pas1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== pae1 (Pane End 1) ==&lt;br /&gt;
Ends a pane.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (pae1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== grp1 (Group 1) ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grp1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x10||String||Group Name&lt;br /&gt;
|-&lt;br /&gt;
|0x18||0x4||UInt32||Nr Pane References (=N)&lt;br /&gt;
|-&lt;br /&gt;
|0x1C||0x10 * N||String[N]||Pane References&lt;br /&gt;
|}&lt;br /&gt;
== grs1 (Group Start 1) ==&lt;br /&gt;
Starts a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (grs1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
== gre1 (Group End 1) ==&lt;br /&gt;
Ends a group.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Type&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x4||String||Signature (gre1)&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x4||UInt32||Section Size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== usd1 (User Data 1) ==&lt;br /&gt;
Contains a map with strings as keys and variable values&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 0x4 || String || Signature (usd1)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 0x4 || UInt32 || Section Size &lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 0x4 || UInt32 || Number of entries (= N)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 || 0x12 * N || Entries[] || Entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x12 + 0x12 * N || ? || Variable || Values referred to by the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where an entry is as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Size&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || 0x4 || UInt32 || Key: offset (from start of this entry) to null-terminated ascii string&lt;br /&gt;
|-&lt;br /&gt;
| 0x4 || 0x4 || UInt32 || Value: offset (from start of this entry) to a value (type decided by last field)&lt;br /&gt;
|-&lt;br /&gt;
| 0x8 || 0x2 || UInt16 || Amount or, if a string, the length of the value(s) &lt;br /&gt;
|-&lt;br /&gt;
| 0xA || 0x2 || UInt16 || Value type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0x0 || String&lt;br /&gt;
|-&lt;br /&gt;
| 0x1 || Int&lt;br /&gt;
|-&lt;br /&gt;
| 0x2 || Float&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* Every File Explorer has limited support for viewing these&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
http://florian.nouwt.com/wiki/index.php/CLYT_%28File_Format%29&lt;br /&gt;
https://github.com/Gericom/EveryFileExplorer/tree/master/3DS/NintendoWare/LYT1&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>LuigisDum</name></author>
	</entry>
</feed>