Line 18: |
Line 18: |
| |0x0C||0x4||UInt32||File Size | | |0x0C||0x4||UInt32||File Size |
| |- | | |- |
− | |0x10||0x4||UInt32||Nr Sections | + | |0x10||0x2||UInt16||Nr Sections |
| + | |- |
| + | |0x12||0x2||UInt16||Padding |
| |} | | |} |
| | | |
Line 132: |
Line 134: |
| |- | | |- |
| |11||Use Texture Only | | |11||Use Texture Only |
− | |-
| |
− | |12||Separate Blend Mode
| |
− | |-
| |
− | |14||Has Indirect Parameter
| |
− | |-
| |
− | |15-16||Nr projectionTexGenParameter
| |
− | |-
| |
− | |17||Has Font Shadow Parameter
| |
| |} | | |} |
| |} | | |} |
Line 190: |
Line 184: |
| |} | | |} |
| | | |
− | TODO: texCoordGen, tevStage, alphaCompare, blendMode, etc... | + | === Texture Coordinate Generation Entry === |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Type |
| + | ! Description |
| + | |- |
| + | |0x00||0x1||UInt8||Type |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Value |
| + | ! Meaning |
| + | |- |
| + | |0||2x4 matrix |
| + | |} |
| + | |- |
| + | |0x08||0x1||UInt8||Source (N = Tex N, max 2) |
| + | |- |
| + | |0x0C||0x2||UInt8[]||Padding |
| + | |} |
| + | |
| + | TODO: tevStage, alphaCompare, blendMode, etc... |
| | | |
| == pan1 (Pane 1) == | | == pan1 (Pane 1) == |
Line 221: |
Line 237: |
| |0x0A||0x1||UInt8||Alpha | | |0x0A||0x1||UInt8||Alpha |
| |- | | |- |
− | |0x0B||0x1||UInt8||Pane magnification flags | + | |0x0B||0x1||UInt8||Padding |
− | {| class="wikitable" border="1"
| |
| |- | | |- |
− | ! Bit
| + | |0x0C||0x10||String||Pane name |
− | ! Flag
| |
− | |- | |
− | |0||IgnorePartsMagnify | |
| |- | | |- |
− | |1||AdjustToPartsBounds | + | |0x1C||0x8||String||Data |
− | |}
| |
− | |-
| |
− | |0x0C||0x18||String||Pane name
| |
| |- | | |- |
| |0x24||0xC||Vector3||Translation | | |0x24||0xC||Vector3||Translation |
Line 244: |
Line 253: |
| | | |
| == pic1 (Picture 1) == | | == pic1 (Picture 1) == |
− | '''pic1''' represents a picture that can be displayed in a layout. The previous 0x4C bytes are all defined by '''pan1'''. | + | '''pic1''' 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]]. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 267: |
Line 276: |
| ! colspan="4"|Texture coordinates entry | | ! colspan="4"|Texture coordinates entry |
| |- | | |- |
− | |0x60 + N*0x20||0x8||Vector2||Top left vertex texture coordinate | + | |0x60 + (N-1) * 0x20||0x8||Vector2||Top left vertex texture coordinate |
| |- | | |- |
− | |0x60 + N*0x20||0x8||Vector2||Top right vertex texture coordinate | + | |0x60 + (N-1) * 0x20||0x8||Vector2||Top right vertex texture coordinate |
| |- | | |- |
− | |0x60 + N*0x20||0x8||Vector2||Bottom left vertex texture coordinate | + | |0x60 + (N-1) * 0x20||0x8||Vector2||Bottom left vertex texture coordinate |
| |- | | |- |
− | |0x60 + N*0x20||0x8||Vector2||Bottom right vertex texture coordinate | + | |0x60 + (N-1) * 0x20||0x8||Vector2||Bottom right vertex texture coordinate |
| |} | | |} |
| | | |
| == txt1 (Text 1) == | | == txt1 (Text 1) == |
− | == wnd1 (Window 1) ==
| + | A textbox used in layouts. |
− | | + | The first 0x4C bytes are defined the same as [[CLYT_format#pan1_(Pane_1)|pan1]] with minor differences. |
− | == bnd1 (Bounding 1) ==
| |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 287: |
Line 295: |
| ! Description | | ! Description |
| |- | | |- |
− | |0x00||0x4||String||Signature (bnd1) | + | |0x00||0x4||String||Signature (txt1) |
| + | |- |
| + | |0x04||0x4||UInt32||Section size (including the textbox string) |
| + | |- |
| + | ! colspan="4"|Duplicate of pan1 from 0x8 to 0x4c |
| + | |- |
| + | |0x4C||0x2||Unknown||Flags (H Direction?) |
| |- | | |- |
− | |0x04||0x4||UInt32||Section Size | + | |0x4E||0x2||Unknown||Flags (V Direction?) |
| + | |- |
| + | |0x50||0x4||UInt32||Material ID |
| + | |- |
| + | |0x54||0x2||Unknown||Flags (Line alignment?) |
| + | |- |
| + | |0x56||0x2||Unknown||Padding |
| + | |- |
| + | |0x58||0x4||UInt32||Offset from signature to beginning of the string |
| |- | | |- |
− | |0x08||0x2||UInt16?||? | + | |0x5C||0x4||RGBA8||Font top color |
| |- | | |- |
− | |0x0A||0x2||UInt16?||? | + | |0x60||0x4||RGBA8||Font bottom color |
| |- | | |- |
− | |0x0C||? (0x10 up to 0x30)||String||Bounding name | + | |0x64||0x8||Vector2||Font scale |
| |- | | |- |
− | |0x3C||0x8||Vector2||? | + | |0x6C||0x4||Float||Horizontal font spacing |
| |- | | |- |
− | |0x44||0x4||Vector2||? | + | |0x70||0x4||Float||Vertical font spacing |
| |- | | |- |
− | |⋮||⋮||⋮||⋮ | + | |0x74||User defined||String||Textbox text (must be multiple of 4), can be usd1 |
| + | |
| |} | | |} |
| | | |
− | == pts1 (Parts 1) == | + | == wnd1 (Window 1) == |
| + | |
| + | == bnd1 (Bounding 1) == |
| + | Same data structure as [[#pan1 (Pane 1)|Panes]]. |
| + | |
| == pas1 (Pane Start 1) == | | == pas1 (Pane Start 1) == |
| Starts a pane. | | Starts a pane. |
Line 375: |
Line 402: |
| |0x04||0x4||UInt32||Section Size | | |0x04||0x4||UInt32||Section Size |
| |} | | |} |
| + | |
| + | == usd1 (User Data 1) == |
| + | Contains a map with strings as keys and variable values |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Type |
| + | ! Description |
| + | |- |
| + | | 0x00 || 0x4 || String || Signature (usd1) |
| + | |- |
| + | | 0x04 || 0x4 || UInt32 || Section Size |
| + | |- |
| + | | 0x08 || 0x4 || UInt32 || Number of entries (= N) |
| + | |- |
| + | | 0x12 || 0x12 * N || Entries[] || Entries |
| + | |- |
| + | | 0x12 + 0x12 * N || ? || Variable || Values referred to by the entries |
| + | |} |
| + | |
| + | Where an entry is as follows: |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Type |
| + | ! Description |
| + | |- |
| + | | 0x0 || 0x4 || UInt32 || Key: offset (from start of this entry) to null-terminated ascii string |
| + | |- |
| + | | 0x4 || 0x4 || UInt32 || Value: offset (from start of this entry) to a value (type decided by last field) |
| + | |- |
| + | | 0x8 || 0x2 || UInt16 || Amount or, if a string, the length of the value(s) |
| + | |- |
| + | | 0xA || 0x2 || UInt16 || Value type |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Value |
| + | ! Type |
| + | |- |
| + | | 0x0 || String |
| + | |- |
| + | | 0x1 || Int |
| + | |- |
| + | | 0x2 || Float |
| + | |} |
| + | |} |
| + | |
| | | |
| ==Tools== | | ==Tools== |
− | * Every File Explorer has limited support for viewing these | + | * [https://github.com/mariohackandglitch/EveryFileExplorer/releases/latest Every File Explorer] has limited support for viewing these. |
| + | * [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. |
| | | |
| = See also = | | = See also = |