15
edits
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 | <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 | | 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 | | 0xF0 | ||
| 0x2C0 | |||
| UInt32{{check}} * 176 | |||
| Unknown | |||
|- | |- | ||
| 0x3B0 || 0x4 || | | 0x3B0 || 0x4 || Float || Radius | ||
|- | |- | ||
| 0x3B4 || 0x4 || | | 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 | | 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 | | 0x680 | ||
| 0xD0 | |||
| UInt32{{check}} * 52 | |||
| Unknown | |||
|- | |- | ||
| 0x750 || 0x10 || Byte[16] || Unknown | | 0x750 || 0x10 || Byte[16] || Unknown | ||
|- | |- | ||
| 0x760 | | 0x760 | ||
| 0x90 | |||
| UInt32{{check}} * 36 | |||
| Unknown | |||
|- | |- | ||
| 0x7F0 || 0x8 || Byte[8] || Unknown | | 0x7F0 || 0x8 || Byte[8] || Unknown | ||
|- | |- | ||
| 0x7F8 | | 0x7F8 | ||
| 0x40 | |||
| UInt32{{check}} * 16 | |||
| Unknown | |||
|- | |- | ||
| 0x838 || 0x8 || Byte[8] || Unknown | | 0x838 || 0x8 || Byte[8] || Unknown | ||
|- | |- | ||
| 0x840 | | 0x840 | ||
| 0x58 | |||
| UInt32{{check}} * 22 | |||
| Unknown | |||
|- | |- | ||
| 0x898 || 0x8 || Byte[8] || Unknown | | 0x898 || 0x8 || Byte[8] || Unknown | ||
|- | |- | ||
| 0x8A0 | | 0x8A0 | ||
| 0x8 | |||
| Float{{check}} * 2 | |||
| Unknown | |||
|- | |- | ||
| 0x8A8 || 0x10 || Byte[16] || Unknown | | 0x8A8 || 0x10 || Byte[16] || Unknown | ||
|- | |- | ||
| 0x8B8 | | 0x8B8 | ||
| 0x18 | |||
| UInt32{{check}} * 6 | |||
| Unknown | |||
|- | |- | ||
| 0x8D0 || 0x10 || Byte[16] || Unknown | | 0x8D0 || 0x10 || Byte[16] || Unknown | ||
|- | |- | ||
| 0x8E0 | | 0x8E0 | ||
| 0x18 | |||
| UInt32{{check}} * 6 | |||
| Unknown | |||
|- | |- | ||
| 0x8F8 || 0x18 || Byte[24] || Unknown | | 0x8F8 || 0x18 || Byte[24] || Unknown | ||
|- | |- | ||
| 0x910 | | 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 | | 0x928 | ||
| 0x8 | |||
| UInt32{{check}} * 2 | |||
| Unknown | |||
|- | |- | ||
| 0x930 || 0x8 || UInt64 || Unknown | | 0x930 || 0x8 || UInt64 || Unknown | ||
|- | |- | ||
| 0x938 | | 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 | | 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 | | 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 | * 0x19 - Byte[7] - Padding | ||
|- | |- | ||
| 0xA58 || 0x30 || Byte[48] || Unknown | | 0xA58 || 0x30 || Byte[48] || Unknown |
edits