>Aruki |
>Aruki |
Line 1: |
Line 1: |
| ''See [[TXTR (File Format)]] for the other revisions of this format.''
| | The '''PART format''' controls particles. The format is nearly entirely unknown. |
| | |
| '''TXTR''' is, as the name suggests, the Retro Studios texture format. The format remains completely unchanged from Metroid Prime all the way up to Donkey Kong Country Returns.
| |
| | |
| {{todo|Could possibly use some more information on how the formats work and how to decode them, but then again the Custom Mario Kart Wiiki has this covered pretty nicely already.}}
| |
| | |
| __TOC__
| |
| | |
| == Format ==
| |
| | |
| TXTR files contain a very short 12-byte header, followed by the image data.
| |
| | |
| === Header ===
| |
| | |
| {| class="wikitable"
| |
| ! Offset
| |
| ! Size
| |
| ! Description
| |
| |-
| |
| | 0x0
| |
| | 4
| |
| | '''Image format'''. Possible values range from 0x0 to 0xA; see below for more details.
| |
| |-
| |
| | 0x4
| |
| | 2
| |
| | '''Width'''
| |
| |-
| |
| | 0x6
| |
| | 2
| |
| | '''Height'''
| |
| |-
| |
| | 0x8
| |
| | 4
| |
| | '''Mipmap count'''
| |
| |-
| |
| | 0xC
| |
| | colspan=2 {{unknown|End of header}}
| |
| |}
| |
| | |
| === Palettes ===
| |
| | |
| The C4 and C8 image formats contain a palette table after the header, before the image data begins. | |
| | |
| {| class="wikitable"
| |
| ! Offset
| |
| ! Size
| |
| ! Description
| |
| |-
| |
| | 0x0
| |
| | 4
| |
| | '''Palette format'''. Possible values range from 0 to 2.
| |
| |-
| |
| | 0x4
| |
| | 2
| |
| | '''Width'''. always 1 in C4, 256 in C8
| |
| |-
| |
| | 0x6
| |
| | 2
| |
| | '''Height'''. always 16 in C4, 1 in C8
| |
| |-
| |
| | 0x8
| |
| | Varies
| |
| | '''Palette colors'''. 16-bit color values; 16 colors in C4, 256 in C8.
| |
| |-
| |
| | colspan=3 {{unknown|End of palette table; image data begins immediately after}}
| |
| |}
| |
| | |
| == Image Formats ==
| |
| | |
| There are 11 different image formats supported by the hardware. Rather than storing pixels in a linear left-to-right order, GameCube textures are swizzled in blocks. Blocks are 32 bytes large (except for RGBA8), with their dimensions varying depending on the BPP of the image format.
| |
| | |
| For example, suppose you have a format that stores 4x4 blocks. Pixels 1-4 of the image will make up the first row of the first block; pixels 5-8 will make up the second row; 9-12 will make up the third row; 13-16 will make up the fourth row, completing the block; and then 17-20 will begin the first row of the second block, appearing directly to the right of the first row of the first block.
| |
| | |
| {| class="wikitable"
| |
| ! ID
| |
| ! Name
| |
| ! Bits per pixel
| |
| ! Block size
| |
| ! Description
| |
| |-
| |
| | 0x0
| |
| | I4
| |
| | 4
| |
| | 8x8
| |
| | 4-bit greyscale intensity values. Two pixels per byte.
| |
| |-
| |
| | 0x1
| |
| | I8
| |
| | 8
| |
| | 8x4
| |
| | 8-bit greyscale intensity values.
| |
| |-
| |
| | 0x2
| |
| | IA4
| |
| | 8
| |
| | 8x4
| |
| | 4-bit greyscale intensity values with an additional 4-bit alpha channel.
| |
| |-
| |
| | 0x3
| |
| | IA8
| |
| | 16
| |
| | 4x4
| |
| | 8-bit greyscale intensity values with an additional 8-bit alpha channel.
| |
| |-
| |
| | 0x4
| |
| | C4
| |
| | 4
| |
| | 8x8
| |
| | 4-bit palette indices.
| |
| |-
| |
| | 0x5
| |
| | C8
| |
| | 8
| |
| | 8x4
| |
| | 8-bit palette indices.
| |
| |-
| |
| | 0x6
| |
| | C14x2
| |
| | 16
| |
| | 4x4
| |
| | Another palette format. Not used by any official textures.
| |
| |-
| |
| | 0x7
| |
| | RGB565
| |
| | 16
| |
| | 4x4
| |
| | 16-bit colors without alpha.
| |
| |-
| |
| | 0x8
| |
| | RGB5A3
| |
| | 16
| |
| | 4x4
| |
| | 16-bit colors with alpha.
| |
| |-
| |
| | 0x9
| |
| | RGBA8
| |
| | 32
| |
| | 4x4
| |
| | Uncompressed 32-bit colors with alpha.
| |
| |-
| |
| | 0xA
| |
| | CMPR
| |
| | 4
| |
| | 8x8
| |
| | Compressed textures (almost the same as DXT1, but with a couple small differences)
| |
| |}
| |
| | |
| == External links ==
| |
| | |
| * [http://wiki.tockdom.com/wiki/Image_Formats Custom Mario Kart Wiki]: More detailed information on each format, and how to decode them.
| |
| | |
|
| |
|
| [[Category:File Formats]] | | [[Category:File Formats]] |