PTCL: Difference between revisions

16 bytes removed ,  2 years ago
no edit summary
No edit summary
No edit summary
 
Line 1: Line 1:
<onlyinclude>
<onlyinclude>
<code>PTCL</code>(a.k.a <code>EFTB</code>/<code>VFXB</code>) files define certain graphical effects of objects such as emissions, particles, and shaders. They use the <code>.esetlist</code> extension, but differ between platforms in what structures it uses for different types of data, aside for <code>ESTA</code> and <code>PRMA</code>, which arr the same{{check}} on both.
<code>PTCL</code>(a.k.a <code>EFTB</code>/<code>VFXB</code>) files define certain graphical effects of objects such as emissions, particles, and shaders. They use the <code>.esetlist</code> extension, but differ between platforms in what structures it uses for different types of data, aside for <code>ESTA</code> and <code>PRMA</code>, which are the same{{check}} on both.
</onlyinclude>
</onlyinclude>


Line 8: Line 8:
* Texture Array / Cafe Resource
* Texture Array / Cafe Resource
* PRM{{check}} Array
* PRM{{check}} Array
* Shader Array / Binary Shader
* Shader Array / Binary Shader{{check}}


Each array serves as a root node in a tree structure.
Each array serves as a root node in a tree structure.
Line 230: Line 230:
| 0x78 | 0x38 || Byte[56]|| Padding  
| 0x78 | 0x38 || Byte[56]|| Padding  
|-
|-
| 0xB0 || 0x30 || UInt32 or Float[12] || Unknown
| 0xB0  
| 0x30  
| UInt32{{check}} * 12
| Unknown
|-
|-
| 0xE0 || 0x4 || Float || Blink Intensity 1
| 0xE0 || 0x4 || Float || Blink Intensity 1
Line 240: Line 243:
| 0xEC || 0x4 || Float || Blink Duration 2
| 0xEC || 0x4 || Float || Blink Duration 2
|-
|-
| 0xF0 || 0x2C0 || UInt32 or Float[176] || Unknown
| 0xF0  
| 0x2C0  
| UInt32{{check}} * 176
| Unknown
|-
|-
| 0x3B0 || 0x4 || UInt32 or Float || Radius
| 0x3B0 || 0x4 || Float || Radius
|-
|-
| 0x3B4 || 0x4 || UInt32 or Float || Unknown
| 0x3B4 || 0x4 || Float || Unknown
|-
|-
| 0x3B8 || 0x8 || Byte[8] || Padding
| 0x3B8 || 0x8 || Byte[8] || Padding
Line 256: Line 262:
| 0x540 || 0x80 || Float[4] * 8 || Alpha 1 array (eight sets of four 32-bit floats describing Red, Green, Blue, and Time)
| 0x540 || 0x80 || Float[4] * 8 || Alpha 1 array (eight sets of four 32-bit floats describing Red, Green, Blue, and Time)
|-
|-
| 0x5C0 || 0x40 || UInt32 or Float[16] || Unknown array{{check}}
| 0x5C0  
| 0x40  
| UInt32{{check}} * 16
| Unknown array
|-
|-
| 0x600 || 0x80 || Float[4] * 8 || Scale{{check}} array (eight sets of four 32-bit floats)
| 0x600 || 0x80 || Float[4] * 8 || Scale{{check}} array (eight sets of four 32-bit floats)
|-
|-
| 0x680 || 0xD0 || UInt32 or Float[52] || Unknown
| 0x680  
| 0xD0  
| UInt32{{check}} * 52
| Unknown
|-
|-
| 0x750 || 0x10 || Byte[16] || Unknown
| 0x750 || 0x10 || Byte[16] || Unknown
|-
|-
| 0x760 || 0x90 || UInt32 or Float[36] || Unknown
| 0x760  
| 0x90  
| UInt32{{check}} * 36
| Unknown
|-
|-
| 0x7F0 || 0x8 || Byte[8] || Unknown
| 0x7F0 || 0x8 || Byte[8] || Unknown
|-
|-
| 0x7F8 || 0x40 || UInt32 or Float[16] || Unknown
| 0x7F8  
| 0x40  
| UInt32{{check}} * 16
| Unknown
|-
|-
| 0x838 || 0x8 || Byte[8] || Unknown
| 0x838 || 0x8 || Byte[8] || Unknown
|-
|-
| 0x840 || 0x58 || UInt32 or Float[22] || Unknown
| 0x840  
| 0x58  
| UInt32{{check}} * 22
| Unknown
|-
|-
| 0x898 || 0x8 || Byte[8] || Unknown
| 0x898 || 0x8 || Byte[8] || Unknown
|-
|-
| 0x8A0 || 0x8 || UInt32 or Float[2] || Unknown
| 0x8A0  
| 0x8  
| Float{{check}} * 2
| Unknown
|-
|-
| 0x8A8 || 0x10 || Byte[16] || Unknown
| 0x8A8 || 0x10 || Byte[16] || Unknown
|-
|-
| 0x8B8 || 0x18 || UInt32 or Float[6] || Unknown
| 0x8B8  
| 0x18  
| UInt32{{check}} * 6
| Unknown
|-
|-
| 0x8D0 || 0x10 || Byte[16] || Unknown
| 0x8D0 || 0x10 || Byte[16] || Unknown
|-
|-
| 0x8E0 || 0x18 || UInt32 or Float[6] || Unknown
| 0x8E0  
| 0x18  
| UInt32{{check}} * 6
| Unknown
|-
|-
| 0x8F8 || 0x18 || Byte[24] || Unknown
| 0x8F8 || 0x18 || Byte[24] || Unknown
|-
|-
| 0x910 || 0x8 || UInt32 or Float[2] || Unknown
| 0x910  
| 0x8  
| UInt32{{check}} * 2
| Unknown
|-
|-
| 0x918 || 0x4 || Byte[4] || Padding? Sometimes <code>FF FF FF FF</code>
| 0x918 || 0x4 || Byte[4] || Padding? Sometimes <code>FF FF FF FF</code>
Line 296: Line 329:
| 0x924 || 0x4 || Byte[4] || Padding? Sometimes <code>FF FF FF FF</code>
| 0x924 || 0x4 || Byte[4] || Padding? Sometimes <code>FF FF FF FF</code>
|-
|-
| 0x928 || 0x8 || UInt32 or Float[2] || Unknown
| 0x928  
| 0x8  
| UInt32{{check}} * 2
| Unknown
|-
|-
| 0x930 || 0x8 || UInt64 || Unknown
| 0x930 || 0x8 || UInt64 || Unknown
|-
|-
| 0x938 || 0x10 || UInt32 or Float[4] || Unknown
| 0x938  
| 0x10  
| UInt32{{check}} * 4
| Unknown
|-
|-
| 0x948 || 0xA || String || Usually is <code>ATEST_ONLY</code> when used. Can be null.
| 0x948 || 0xA || String || Usually is <code>ATEST_ONLY</code> when used. Can be null.
Line 306: Line 345:
| 0x952 || 0x2 || Byte[2] || Padding
| 0x952 || 0x2 || Byte[2] || Padding
|-
|-
| 0x954 || 0x48 || UInt32 or Float[48] || Unknown
| 0x954  
| 0x48  
| UInt32{{check}} * 48
| Unknown
|-
|-
| 0x99C || 0xC || Byte[12] || Unknown
| 0x99C || 0xC || Byte[12] || Unknown
Line 314: Line 356:
| 0x9B8 || 0x10 || Float[4] || Constant Color 1 if Color 1 array is empty
| 0x9B8 || 0x10 || Float[4] || Constant Color 1 if Color 1 array is empty
|-
|-
| 0x9C8 || 0x30 || UInt32[12] || Unknown
| 0x9C8  
| 0x30  
| UInt32{{check}} * 12
| Unknown
|-
|-
| 0x9F8  
| 0x9F8  
Line 332: Line 377:
* 0x17 - Byte - 7th flag - Can be either 0 or 1
* 0x17 - Byte - 7th flag - Can be either 0 or 1
* 0x18 - Byte - 8th flag - Can be either 0 or 1
* 0x18 - Byte - 8th flag - Can be either 0 or 1
* 0x19 - Byte[7] - Padding</p>
* 0x19 - Byte[7] - Padding
|-
|-
| 0xA58 || 0x30 || Byte[48] || Unknown
| 0xA58 || 0x30 || Byte[48] || Unknown
15

edits