TXTR (Tropical Freeze): Difference between revisions
no edit summary
>Aruki No edit summary |
>Aruki No edit summary |
||
Line 14: | Line 14: | ||
! Offset | ! Offset | ||
! Type | ! Type | ||
! | ! Count | ||
! | ! Name | ||
! Notes | ! Notes | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | | [[Chunk Descriptor (Tropical Freeze)|Chunk Descriptor]] | ||
| | | 1 | ||
| '''HEAD Chunk Descriptor''' | | '''HEAD Chunk Descriptor''' | ||
| | | | ||
Line 26: | Line 26: | ||
| 0x18 | | 0x18 | ||
| u32 | | u32 | ||
| | | 1 | ||
| | | [[#Texture Type|'''Texture Type''']] | ||
| | | | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
| u32 | | u32 | ||
| | | 1 | ||
| ''' | | [[#Texture Format|'''Texture Format''']] | ||
| | | | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
| u32 | | u32 | ||
| | | 1 | ||
| '''Width''' | | '''Width''' | ||
| | | | ||
Line 44: | Line 44: | ||
| 0x24 | | 0x24 | ||
| u32 | | u32 | ||
| | | 1 | ||
| '''Height''' | | '''Height''' | ||
| | | | ||
Line 50: | Line 50: | ||
| 0x28 | | 0x28 | ||
| u32 | | u32 | ||
| | | 1 | ||
| '''Depth''' | | '''Depth''' | ||
| | | | ||
Line 56: | Line 56: | ||
| 0x2C | | 0x2C | ||
| u32 | | u32 | ||
| | | 1 | ||
| {{unknown|Unknown}} | | {{unknown|Unknown}} | ||
| | | | ||
Line 62: | Line 62: | ||
| 0x30 | | 0x30 | ||
| u32 | | u32 | ||
| | | 1 | ||
| '''Swizzle''' | | '''Swizzle''' | ||
| | | | ||
Line 68: | Line 68: | ||
| 0x34 | | 0x34 | ||
| u32 | | u32 | ||
| | | 1 | ||
| | | '''Mipmap Count''' | ||
| | | | ||
|- | |- | ||
| 0x38 | | 0x38 | ||
| u32 | | u32 | ||
| | | ''Mipmap Count'' | ||
| {{unknown|Unknown array}} | | {{unknown|Unknown array}} | ||
| Appears to be mipmap sizes, but it doesn't match the size of the image data (unless there's 1)... | | Appears to be mipmap sizes, but it doesn't match the size of the image data (unless there's 1)... | ||
|- | |- | ||
| | | {{none}} | ||
| u32 | | u32 | ||
| | | 1 | ||
| {{unknown|Unknown}} | | {{unknown|Unknown}} | ||
| | | This parameter is part of NTextureFormat::STextureSamplerData (along with the next 4 parameters) | ||
|- | |- | ||
| | | {{none}} | ||
| u8 | | u8 | ||
| 1 | | 1 | ||
| | | [[#Texture Filter|'''Texture Filter''']] | ||
| | | | ||
|- | |- | ||
| | | {{none}} | ||
| u8 | | u8 | ||
| 1 | | 1 | ||
| | | [[#Texture Wrap|'''Texture Wraps X''']] | ||
| | | | ||
|- | |- | ||
| | | {{none}} | ||
| u8 | | u8 | ||
| 1 | | 1 | ||
| | | [[#Texture Wrap|'''Texture Wrap Y''']] | ||
| | | | ||
|- | |- | ||
| | | {{none}} | ||
| u8 | | u8 | ||
| 1 | | 1 | ||
| | | [[#Texture Wrap|'''Texture Wrap Z''']] | ||
| | | | ||
|} | |} | ||
== | === Texture Type === | ||
This enum basically maps directly to a GX2SurfaceDim enum. | |||
{| class="wikitable" | {| class="wikitable" | ||
! ID | ! ID | ||
! | ! GX2SurfaceType | ||
|- | |||
| 0 | |||
| GX2_SURFACE_DIM_1D | |||
|- | |||
| 1 | |||
| GX2_SURFACE_DIM_2D | |||
|- | |||
| 2 | |||
| GX2_SURFACE_DIM_3D | |||
|- | |||
| 3 | |||
| GX2_SURFACE_DIM_CUBE | |||
|- | |||
| 4 | |||
| GX2_SURFACE_DIM_1D_ARRAY | |||
|- | |||
| 5 | |||
| GX2_SURFACE_DIM_2D_ARRAY | |||
|- | |||
| 6 | |||
| GX2_SURFACE_DIM_2D_MSAA | |||
|- | |||
| 7 | |||
| GX2_SURFACE_DIM_2D_MSAA_ARRAY | |||
|} | |||
=== Texture Format === | |||
{| class="wikitable" | |||
! ID | |||
! GX2SurfaceFormat | |||
|- | |||
| 0x00 | |||
| GX2_SURFACE_FORMAT_TC_R8_UNORM | |||
|- | |||
| 0x01 | |||
| GX2_SURFACE_FORMAT_TC_R8_SNORM | |||
|- | |||
| 0x02 | |||
| GX2_SURFACE_FORMAT_TC_R8_UINT | |||
|- | |||
| 0x03 | |||
| GX2_SURFACE_FORMAT_TC_R8_SINT | |||
|- | |||
| 0x04 | |||
| GX2_SURFACE_FORMAT_TCD_R16_UNORM | |||
|- | |||
| 0x05 | |||
| GX2_SURFACE_FORMAT_TC_R16_SNORM | |||
|- | |||
| 0x06 | |||
| GX2_SURFACE_FORMAT_TC_R16_UINT | |||
|- | |||
| 0x07 | |||
| GX2_SURFACE_FORMAT_TC_R16_SINT | |||
|- | |||
| 0x08 | |||
| GX2_SURFACE_FORMAT_TC_R16_FLOAT | |||
|- | |||
| 0x09 | |||
| GX2_SURFACE_FORMAT_TC_R32_UINT | |||
|- | |||
| 0x0A | |||
| GX2_SURFACE_FORMAT_TC_R32_SINT | |||
|- | |||
| 0x0B | |||
| GX2_SURFACE_FORMAT_INVALID | |||
|- | |||
| 0x0C | |||
| GX2_SURFACE_FORMAT_TCS_R8_G8_B8_A8_UNORM | |||
|- | |||
| 0x0D | |||
| GX2_SURFACE_FORMAT_TCS_R8_G8_B8_A8_SRGB | |||
|- | |||
| 0x0E | |||
| GX2_SURFACE_FORMAT_TC_R16_G16_B16_A16_FLOAT | |||
|- | |||
| 0x0F | |||
| GX2_SURFACE_FORMAT_TC_R32_G32_B32_A32_FLOAT | |||
|- | |||
| 0x10 | |||
| GX2_SURFACE_FORMAT_TCD_R16_UNORM | |||
|- | |||
| 0x11 | |||
| GX2_SURFACE_FORMAT_TCD_R16_UNORM | |||
|- | |||
| 0x12 | |||
| GX2_SURFACE_FORMAT_D_D24_S8_UNORM | |||
|- | |- | ||
| | | 0x13 | ||
| | | GX2_SURFACE_FORMAT_TCD_R32_FLOAT | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| | | GX2_SURFACE_FORMAT_T_BC1_UNORM | ||
|- | |||
| 0x15 | |||
| GX2_SURFACE_FORMAT_T_BC1_SRGB | |||
|- | |||
| 0x16 | |||
| GX2_SURFACE_FORMAT_T_BC2_UNORM | |||
|- | |||
| 0x17 | |||
| GX2_SURFACE_FORMAT_T_BC2_SRGB | |||
|- | |- | ||
| 0x18 | | 0x18 | ||
| | | GX2_SURFACE_FORMAT_T_BC3_UNORM | ||
|- | |||
| 0x19 | |||
| GX2_SURFACE_FORMAT_T_BC3_SRGB | |||
|- | |||
| 0x1A | |||
| GX2_SURFACE_FORMAT_T_BC4_UNORM | |||
|- | |||
| 0x1B | |||
| GX2_SURFACE_FORMAT_T_BC4_SNORM | |||
|- | |- | ||
| 0x1C | | 0x1C | ||
| | | GX2_SURFACE_FORMAT_T_BC5_UNORM | ||
|- | |||
| 0x1D | |||
| GX2_SURFACE_FORMAT_T_BC5_SNORM | |||
|- | |||
| 0x1E | |||
| GX2_SURFACE_FORMAT_TC_R11_G11_B10_FLOAT | |||
|- | |||
| 0x1F | |||
| GX2_SURFACE_FORMAT_TCD_R32_FLOAT | |||
|- | |||
| 0x20 | |||
| GX2_SURFACE_FORMAT_TC_R16_G16_FLOAT | |||
|- | |||
| 0x21 | |||
| GX2_SURFACE_FORMAT_TC_R8_G8_UNORM | |||
|} | |||
=== Texture Filter === | |||
Invalid values default to 1 (linear). | |||
{| class="wikitable" | |||
! ID | |||
! GX2TexMipFilterType | |||
|- | |||
| 0 | |||
| GX2_TEX_MIP_FILTER_POINT | |||
|- | |||
| 1 | |||
| GX2_TEX_MIP_FILTER_LINEAR | |||
|} | |||
=== Texture Wrap === | |||
Invalid values default to 0 (clamp). | |||
{| class="wikitable" | |||
! ID | |||
! GX2TexClamp | |||
|- | |||
| 0 | |||
| GX2_TEX_CLAMP_CLAMP | |||
|- | |||
| 1 | |||
| GX2_TEX_CLAMP_WRAP | |||
|- | |||
| 2 | |||
| GX2_TEX_CLAMP_MIRROR | |||
|- | |||
| 3 | |||
| GX2_TEX_CLAMP_MIRROR_ONCE | |||
|} | |} | ||
Line 135: | Line 294: | ||
! Offset | ! Offset | ||
! Type | ! Type | ||
! | ! Count | ||
! | ! Name | ||
! Notes | ! Notes | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| u32 | | u32 | ||
| | | 1 | ||
| {{unknown|Unknown}} | | {{unknown|Unknown}} | ||
| | | | ||
Line 147: | Line 306: | ||
| 0x4 | | 0x4 | ||
| u32 | | u32 | ||
| | | 1 | ||
| {{unknown|Unknown}} | | {{unknown|Unknown}} | ||
| | | | ||
Line 153: | Line 312: | ||
| 0x8 | | 0x8 | ||
| u32 | | u32 | ||
| | | 1 | ||
| '''GPU | | '''GPU Section Offset''' | ||
| Relative to the start of the file | | Relative to the start of the file | ||
|- | |- | ||
| 0xC | | 0xC | ||
| u32 | | u32 | ||
| | | 1 | ||
| {{unknown|Unknown}} | | {{unknown|Unknown}} | ||
| | | | ||
Line 165: | Line 324: | ||
| 0x10 | | 0x10 | ||
| u32 | | u32 | ||
| | | 1 | ||
| '''GPU | | '''GPU Data Start''' | ||
| This is the offset to the start of the GPU data, immediately after the GPU section header. | | This is the offset to the start of the GPU data, immediately after the GPU section header. | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| u32 | | u32 | ||
| | | 1 | ||
| '''GPU | | '''GPU Section Size''' | ||
| Matches the size from the GPU section header. | | Matches the size from the GPU section header. | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| u32 | | u32 | ||
| | | 1 | ||
| '''Compressed | | '''Compressed Buffer Count''' | ||
| | | | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
| [[#Compressed Buffer|Compressed Buffer] | | [[#Compressed Buffer|Compressed Buffer]] | ||
| | | ''Compressed Buffer Count'' | ||
| '''Compressed | | '''Compressed Buffer Array''' | ||
| | | | ||
|} | |} | ||
Line 195: | Line 354: | ||
! Offset | ! Offset | ||
! Type | ! Type | ||
! | ! Name | ||
! Notes | ! Notes | ||
|- | |- |