Bflyt: Difference between revisions
Jump to navigation
Jump to search
(Start on bflyt) |
No edit summary |
||
| Line 49: | Line 49: | ||
|Pane | |Pane | ||
|pan1 | |pan1 | ||
| | |A default pane | ||
|- | |- | ||
|Picture Pane | |Picture Pane | ||
| Line 81: | Line 81: | ||
|Scissor Pane | |Scissor Pane | ||
|scr1 | |scr1 | ||
|A pane | |A pane that scissors it's children | ||
|- | |- | ||
|Group Start | |Group Start | ||
| Line 303: | Line 303: | ||
|- | |- | ||
|0x1 | |0x1 | ||
| | |Rotate Vector Count | ||
|- | |- | ||
|0x2 | |0x2 | ||
| Line 309: | Line 309: | ||
|- | |- | ||
|0x1 | |0x1 | ||
| | |Font Color 2 Count | ||
|- | |- | ||
|0x1 | |0x1 | ||
| Line 353: | Line 353: | ||
|Blend Mode | |Blend Mode | ||
|- | |- | ||
| | |Rotate Vector | ||
|- | |- | ||
|Projection Texture Gen | |Projection Texture Gen | ||
|- | |- | ||
| | |Font Color 2 | ||
|- | |- | ||
|DetailedCombiner | |DetailedCombiner | ||
| Line 763: | Line 763: | ||
|} | |} | ||
==== | ==== Rotate Vector (TODO) ==== | ||
==== Projection Texture Gen (TODO) ==== | ==== Projection Texture Gen (TODO) ==== | ||
==== | ==== Font Color 2 (TODO) ==== | ||
==== Detailed Combiner (TODO) ==== | ==== Detailed Combiner (TODO) ==== | ||
| Line 781: | Line 781: | ||
=== Vector Graphics Texture List (TODO) === | === Vector Graphics Texture List (TODO) === | ||
=== Pane Start | === Pane Start === | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x8 | |||
|Ui2d Section Header | |||
|Magic: "pas1" | |||
|} | |||
=== Pane End | === Pane End === | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x8 | |||
|Ui2d Section Header | |||
|Magic: "pae1" | |||
|} | |||
=== Pane (pan1) === | === Pane (pan1) === | ||
| Line 847: | Line 869: | ||
|Vector2f | |Vector2f | ||
|Size | |Size | ||
|} | |||
==== Pane System Data ==== | |||
0x10 onwards is runtime appended user data. | |||
{| class="wikitable" | |||
|+Note; 0-2 use unofficial names | |||
!Name | |||
!Enum Value | |||
!Description | |||
|- | |||
|QuadScale0 | |||
|0 | |||
| | |||
|- | |||
|QuadScale1 | |||
|1 | |||
| | |||
|- | |||
|AlignmentOptions | |||
|2 | |||
| | |||
|- | |||
|MaskTexture | |||
|3 | |||
| | |||
|- | |||
|DropShadow | |||
|4 | |||
| | |||
|- | |||
|ProceduralShape | |||
|6 | |||
| | |||
|- | |||
|PaneEffect | |||
|0x11 | |||
| | |||
|- | |||
|ProceduralShapeRuntime | |||
|0x12 | |||
| | |||
|- | |||
|StateMachine | |||
|0x13 | |||
| | |||
|- | |||
|Reserve0 | |||
|0x14 | |||
| | |||
|- | |||
|Root | |||
|0x15 | |||
| | |||
|} | |} | ||
| Line 1,059: | Line 1,134: | ||
=== Window Pane (TODO) === | === Window Pane (TODO) === | ||
=== Parts Pane | === Parts Pane === | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x54 | |||
|Pane | |||
|Magic: "prt1" | |||
|- | |||
|0x54 | |||
|0x4 | |||
|u32 | |||
|Property Count | |||
|- | |||
|0x58 | |||
|0x8 | |||
|Vector2f | |||
|Magnification | |||
|- | |||
|0x60 | |||
|0x28 * Property Count | |||
|Parts Property | |||
|Property Array | |||
|} | |||
=== | ==== Parts Property ==== | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x18 | |||
|char[0x18] | |||
|Property Name | |||
|- | |||
|0x18 | |||
|0x1 | |||
|u8 | |||
|Usage Flag | |||
|- | |||
|0x19 | |||
|0x1 | |||
|u8 | |||
|Basic Usage Flag | |||
|- | |||
|0x1a | |||
|0x1 | |||
|u8 | |||
|Material Usage Flag | |||
|- | |||
|0x1b | |||
|0x1 | |||
|u8 | |||
|Reserved | |||
|- | |||
|0x1c | |||
|0x4 | |||
|u32 | |||
|Pane Offset | |||
|- | |||
|0x20 | |||
|0x4 | |||
|u32 | |||
|User Data Offset | |||
|- | |||
|0x24 | |||
|0x4 | |||
|u32 | |||
|Pane Basic Info Offset | |||
|} | |||
=== | ==== Parts Pane Basic Info ==== | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x8 | |||
|char[0x8] | |||
|User Name | |||
|- | |||
|0x8 | |||
|0xc | |||
|Vector3f | |||
|Position | |||
|- | |||
|0x14 | |||
|0xc | |||
|Vector3f | |||
|Rotation | |||
|- | |||
|0x20 | |||
|0x8 | |||
|Vector2f | |||
|Scale | |||
|- | |||
|0x28 | |||
|0x8 | |||
|Vector2f | |||
|Size | |||
|- | |||
|0x30 | |||
|0x1 | |||
|u8 | |||
|Pane Alpha | |||
|} | |||
=== | === Alignment Pane === | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x54 | |||
|Pane | |||
|Magic: "ali1" | |||
|} | |||
=== | === Capture Pane === | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x54 | |||
|Pane | |||
|Magic: "cpt1" | |||
|} | |||
=== | === Bounding Pane === | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x54 | |||
|Pane | |||
|Magic: "bnd1" | |||
|} | |||
=== | === Scissor Pane === | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x54 | |||
|Pane | |||
|Magic: "scr1" | |||
|} | |||
=== Group | === Group Start === | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x8 | |||
|Ui2d Section Header | |||
|Magic: "grs1" | |||
|} | |||
=== Control Source | === Group End === | ||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x8 | |||
|Ui2d Section Header | |||
|Magic: "gre1" | |||
|} | |||
=== Group === | |||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x8 | |||
|Ui2d Section Header | |||
|Magic: "grp1" | |||
|- | |||
|0x8 | |||
|0x21 | |||
|char[0x21] | |||
|Group Name | |||
|- | |||
|0x29 | |||
|0x1 | |||
|u8 | |||
|Reserved | |||
|- | |||
|0x2a | |||
|0x2 | |||
|u16 | |||
|Pane Count | |||
|- | |||
|0x2c | |||
|0x18 * Pane Count | |||
|char[ChildCount][0x18] | |||
|Pane Name Array | |||
|} | |||
=== Control Source === | |||
{| class="wikitable" | |||
!Offset | |||
!Size | |||
!Type | |||
!Description | |||
|- | |||
|0x0 | |||
|0x8 | |||
|Ui2d Section Header | |||
|Magic: "cnt1" | |||
|- | |||
|0x8 | |||
|0x4 | |||
|u32 | |||
|Name Offset | |||
|- | |||
|0xc | |||
|0x4 | |||
|u32 | |||
|Name Array Offset | |||
|- | |||
|0x10 | |||
|0x2 | |||
|u16 | |||
|Pane Count | |||
|- | |||
|0x12 | |||
|0x2 | |||
|u16 | |||
|Anim Count | |||
|- | |||
|0x14 | |||
|0x4 | |||
|u32 | |||
|Pane Name Offset Array Offset | |||
|- | |||
|0x18 | |||
|0x4 | |||
|u32 | |||
|Anim Name Offset Array Offset | |||
|- | |||
|0x1c | |||
| | |||
|char[] | |||
|Control Name | |||
|} | |||
Latest revision as of 07:24, 9 April 2024
nn::ui2d provides the Binary Cafe Layout file format to define the layout of ui elements.
Header (FLYT)
There are 23 possible section types:
| Name | Magic | Description |
|---|---|---|
| User Data | usd1 | User Data for the previous section, can contain special SystemData structures that extend functionality |
| Layout | lyt1 | The headlining section for the Layout |
| Texture List | txl1 | A list of all textures used in the Layout |
| Font List | fnl1 | A list of all fonts used in the Layout |
| Material List | mat1 | All the materials used in the Layout |
| Capture Texture List | ctl1 | A list of all capture textures used in the Layout |
| Vector Graphics Texture List | vgl1 | A list of all vector graphics textures used in the Layout |
| Pane Start | pas1 | The start of a tree of panes, panes become children of last pane |
| Pane End | pae1 | The end of a tree of panes |
| Pane | pan1 | A default pane |
| Picture Pane | pic1 | A pane that can contain images |
| TextBox Pane | txt1 | A pane that can contain text |
| Window Pane | wnd1 | A pane that contain a frame and multiple images |
| Parts Pane | prt1 | A pane that can contain a sub layout |
| Alignment Pane | ali1 | A pane that aligns it's children |
| Capture Pane | cpt1 | A pane that captures it's children |
| Bounding Pane | bnd1 | A pane that can be used in hit detection |
| Scissor Pane | scr1 | A pane that scissors it's children |
| Group Start | grs1 | The start of a group |
| Group End | gre1 | The end of a group |
| Group | grp1 | A group |
| Control Source | cnt1 | The control source class and related for the layout |
| State Machine | stm1 | A state machine |
Layout (lyt1)
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "lyt1" |
| 0x8 | 0x1 | u8 | Is Centered |
| 0x9 | 0x3 | u24 | Unknown/Reserved |
| 0xc | 0x4 | float | Width |
| 0x10 | 0x4 | float | Height |
| 0x14 | 0x4 | float | PartsWidth |
| 0x18 | 0x4 | float | PartsHeight |
| 0x1c | variable | char[] | Name |
Layout SystemData
| Name | EnumValue | Description |
|---|---|---|
| AnimTagName | 0x0 | Animation names? |
AnimTagName
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x4 | u32 | String Count |
| 0x4 | 0x4 * String Count | u32 | Anim Name String Offset Array |
Texture List (txl1)
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "txl1" |
| 0x8 | 0x2 | u16 | Texture Count |
| 0xa | 0x2 | u16 | Unknown/Reserved |
| 0x4 | 0x4 * Texture Count | u32 | Texture Name Offset Array |
Font List (fnt1)
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "fnt1" |
| 0x8 | 0x2 | u16 | Font Count |
| 0xa | 0x2 | u16 | Unknown/Reserved |
| 0x4 | 0x4 * Font Count | u32 | Font Name Offset Array |
Material List (mat1)
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "mat1" |
| 0x8 | 0x2 | u16 | Material Count |
| 0xa | 0x2 | u16 | Unknown/Reserved |
| 0x4 | 0x4 * Material Count | u32 | Material Data Offset Array |
Material Memory
The layout of material memory is defined by this bitfield.
| Bitfield Size | Description |
|---|---|
| 0x2 | Texture Map Count |
| 0x2 | Texture SRT (Scale Rotation Translation) Count |
| 0x2 | Texture Coordinate Gen Count |
| 0x3 | Tev (Texture Environment) Combiner Count |
| 0x1 | Alpha Compare Count |
| 0x1 | Color Blend Mode Count |
| 0x1 | Unknown/Reserved |
| 0x1 | Color And Alpha Blend Mode Count |
| 0x1 | Unknown/Reserved |
| 0x1 | Rotate Vector Count |
| 0x2 | Projection Texture Gen Count |
| 0x1 | Font Color 2 Count |
| 0x1 | Unknown/Reserved |
| 0x1 | Detailed Combiner Count |
| 0x1 | User Combiner Count |
| 0x1 | Texture Extensions Count |
| 0x2 | Vector Texture Info Count |
| 0x2 | Brick Repeat Shader Info Count |
| 0x6 | Unknown/Reserved |
The order of appearance of Material Data structures are as follows:
| Structure |
|---|
| Material Data |
| Texture Map |
| Texture Extensions |
| Texture SRT |
| Texture Coordinate Gen |
| Tev Combiner |
| Alpha Compare |
| Blend Mode |
| Rotate Vector |
| Projection Texture Gen |
| Font Color 2 |
| DetailedCombiner |
| User Combiner |
| Vector Texture Info |
| Brick Repeat Shader Info |
Material Color Type
| Name | EnumValue | Description |
|---|---|---|
| Color4u8 | 0x0 | Material Color data offsets point to a Color4u8 |
| Color4f | 0x1 | Material Color data offsets point to a Color4f |
Material Color Data
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x1 | u8 | Color Type |
| 0x1 | 0x1 | u8 | Color Count |
| 0x2 | 0x1 * Color Count | u8 | Color Offsets |
| (Color4u8) 0x4 * Color Count
(Color4f) 0xc * Color Count |
Color4u8
Color4f |
Color Array |
Material Data
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x1c | char[0x1c] | Material name |
| 0x1c | 0x4 | Material Memory | Material memory bitfield |
| 0x20 | variable | MaterialColorData | Material color data |
Texture Map
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x2 | u16 | Texture Index |
| 0x2 | 0x1 | Texture UV Options | U Options |
| 0x3 | 0x1 | Texture UV Options | V Options |
Texture UV Options
| Bitfield Size | Description |
|---|---|
| 0x2 | Wrap Mode |
| 0x2 | Filter |
| 0x4 | Unknown/Reserved |
Texture Extensions
| Bitfield Size | Description |
|---|---|
| 0x1 | Is Capture Texture |
| 0x1 | Is Vector Graphics Texture |
| 0x1e | Unknown/Reserved |
Texture SRT
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Vector2f | Translation |
| 0x8 | 0x4 | float | Rotation |
| 0xc | 0x8 | Vector2f | Scale |
Texture Coordinate Gen (TODO)
Tev Combiner (TODO)
Alpha Compare
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x1 | u8 | Alpha Test Function |
| 0x1 | 0x3 | u24 | Unknown/Reserved |
| 0x4 | 0x1 | float | Alpha Compare Reference |
Alpha Test Function
| Name | Enum Value | Description |
|---|---|---|
| Never | 0x0 | |
| LessThan | 0x1 | |
| LessThanEqual | 0x2 | |
| Equal | 0x3 | |
| NotEqual | 0x4 | |
| GreaterEqual | 0x5 | |
| Greater | 0x6 | |
| Always | 0x7 |
Blend Mode
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x1 | u8 | Blend Equation |
| 0x1 | 0x1 | u8 | Blend Function Source |
| 0x2 | 0x1 | u8 | Blend Function Destination |
| 0x3 | 0x1 | u8 | Logic Operation |
Blend Equation
| Name | Enum Value | Description |
|---|---|---|
| Invalid | 0x0 | |
| Add | 0x1 | |
| Sub | 0x2 | |
| ReverseSub | 0x3 | |
| Min | 0x4 | |
| Max | 0x5 |
Blend Function
| Name | Enum Value | Description |
|---|---|---|
| Zero | 0x0 | |
| One | 0x1 | |
| Destination Color | 0x2 | |
| Destination Color Minus One | 0x3 | |
| Source Alpha | 0x4 | |
| Source Alpha Minus One | 0x5 | |
| Destination Alpha | 0x6 | |
| Destination Alpha Minus One | 0x7 | |
| Source Color | 0x8 | |
| Source Color Minus One | 0x9 |
Logic Operation
| Name | Enum Value | Description |
|---|---|---|
| Invalid | 0x0 | |
| NoOp | 0x1 | |
| Clear | 0x2 | |
| Set | 0x3 | |
| Copy | 0x4 | |
| CopyInverted | 0x5 | |
| Invert | 0x6 | |
| And | 0x7 | |
| Nand | 0x8 | |
| Or | 0x9 | |
| Nor | 0xa | |
| Xor | 0xb | |
| Equivalent | 0xc | |
| AndReverse | 0xd | |
| AndInverted | 0xe | |
| OrReverse | 0xf | |
| OrInverted | 0x10 |
Rotate Vector (TODO)
Projection Texture Gen (TODO)
Font Color 2 (TODO)
Detailed Combiner (TODO)
User Combiner (TODO)
Vector Texture Info (TODO)
Brick Repeat Shader Info (TODO)
Capture Texture List (TODO)
Vector Graphics Texture List (TODO)
Pane Start
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "pas1" |
Pane End
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "pae1" |
Pane (pan1)
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "pan1" |
| 0x8 | 0x1 | u8 | Pane Flags |
| 0x9 | 0x1 | u8 | Origin Bitfield |
| 0xa | 0x1 | u8 | Alpha |
| 0xb | 0x1 | u8 | FlagEx |
| 0xc | 0x18 | char[0x18] | Pane name |
| 0x24 | 0x8 | char[0x8] | User name |
| 0x2c | 0xc | Vector3f | Translation |
| 0x28 | 0xc | Vector3f | Rotation |
| 0x44 | 0x8 | Vector2f | Scale |
| 0x4c | 0x8 | Vector2f | Size |
Pane System Data
0x10 onwards is runtime appended user data.
| Name | Enum Value | Description |
|---|---|---|
| QuadScale0 | 0 | |
| QuadScale1 | 1 | |
| AlignmentOptions | 2 | |
| MaskTexture | 3 | |
| DropShadow | 4 | |
| ProceduralShape | 6 | |
| PaneEffect | 0x11 | |
| ProceduralShapeRuntime | 0x12 | |
| StateMachine | 0x13 | |
| Reserve0 | 0x14 | |
| Root | 0x15 |
Picture Pane (pic1)
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x54 | Pane | Magic: "pic1" |
| 0x54 | 0x4 | Color4u8 | Vertex Color Top Left |
| 0x58 | 0x4 | Color4u8 | Vertex Color Top Right |
| 0x5c | 0x4 | Color4u8 | Vertex Color Bottom Left |
| 0x60 | 0x4 | Color4u8 | Vertex Color Bottom Right |
| 0x64 | 0x2 | u16 | Material Index |
| 0x66 | 0x1 | u8 | Texture Count |
| 0x67 | 0x1 | u8 | Is Shape |
| 0x68 | 0x20 | Texture UV | Texture UV Array |
Texture UV
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Vector2f | Top Left |
| 0x8 | 0x8 | Vector2f | Top Right |
| 0x10 | 0x8 | Vector2f | Bottom Left |
| 0x18 | 0x8 | Vector2f | Bottom Right |
TextBox Pane (txt1)
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x54 | Pane | Magic: "pic1" |
| 0x54 | 0x2 | u16 | Text Buffer Size |
| 0x56 | 0x2 | u16 | Text Length |
| 0x58 | 0x2 | u16 | Material Index |
| 0x5a | 0x2 | u16 | Font Index |
| 0x5c | 0x1 | u8 | Text Origin |
| 0x5d | 0x1 | u8 | Line Alignment |
| 0x5e | 0x2 | u16 | Flags |
| 0x60 | 0x4 | float | Italic Tilt |
| 0x64 | 0x4 | u32 | Text Offset |
| 0x68 | 0x4 | Color4u8 | Font Top Color |
| 0x6c | 0x4 | Color4u8 | Font Bottom Color |
| 0x70 | 0x8 | Vector2f | Font Size |
| 0x78 | 0x4 | float | Character Space |
| 0x7c | 0x4 | float | Line Space |
| 0x80 | 0x4 | u32 | Label Offset |
| 0x84 | 0x8 | Vector2f | Shadow Translation |
| 0x8c | 0x8 | Vector2f | Shadow Size |
| 0x94 | 0x4 | Color4u8 | Shadow Top Color |
| 0x98 | 0x4 | Color4u8 | Shadow Bottom Color |
| 0x9c | 0x4 | float | Shadow Italic Tilt |
| 0xa0 | 0x4 | u32 | Line Transform Offset |
| 0xa4 | 0x4 | u32 | Per Character Transform Offset |
Line Transform (TODO)
Per Character Transform (TODO)
Window Pane (TODO)
Parts Pane
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x54 | Pane | Magic: "prt1" |
| 0x54 | 0x4 | u32 | Property Count |
| 0x58 | 0x8 | Vector2f | Magnification |
| 0x60 | 0x28 * Property Count | Parts Property | Property Array |
Parts Property
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x18 | char[0x18] | Property Name |
| 0x18 | 0x1 | u8 | Usage Flag |
| 0x19 | 0x1 | u8 | Basic Usage Flag |
| 0x1a | 0x1 | u8 | Material Usage Flag |
| 0x1b | 0x1 | u8 | Reserved |
| 0x1c | 0x4 | u32 | Pane Offset |
| 0x20 | 0x4 | u32 | User Data Offset |
| 0x24 | 0x4 | u32 | Pane Basic Info Offset |
Parts Pane Basic Info
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | char[0x8] | User Name |
| 0x8 | 0xc | Vector3f | Position |
| 0x14 | 0xc | Vector3f | Rotation |
| 0x20 | 0x8 | Vector2f | Scale |
| 0x28 | 0x8 | Vector2f | Size |
| 0x30 | 0x1 | u8 | Pane Alpha |
Alignment Pane
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x54 | Pane | Magic: "ali1" |
Capture Pane
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x54 | Pane | Magic: "cpt1" |
Bounding Pane
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x54 | Pane | Magic: "bnd1" |
Scissor Pane
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x54 | Pane | Magic: "scr1" |
Group Start
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "grs1" |
Group End
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "gre1" |
Group
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "grp1" |
| 0x8 | 0x21 | char[0x21] | Group Name |
| 0x29 | 0x1 | u8 | Reserved |
| 0x2a | 0x2 | u16 | Pane Count |
| 0x2c | 0x18 * Pane Count | char[ChildCount][0x18] | Pane Name Array |
Control Source
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x0 | 0x8 | Ui2d Section Header | Magic: "cnt1" |
| 0x8 | 0x4 | u32 | Name Offset |
| 0xc | 0x4 | u32 | Name Array Offset |
| 0x10 | 0x2 | u16 | Pane Count |
| 0x12 | 0x2 | u16 | Anim Count |
| 0x14 | 0x4 | u32 | Pane Name Offset Array Offset |
| 0x18 | 0x4 | u32 | Anim Name Offset Array Offset |
| 0x1c | char[] | Control Name |