Материал из ConsolWiki
TXTR является контейнером для одной текстуры. Файл состоит из заголовка и растровых данных, следующих сразу за заголовком. Растровые данные каждого mipmap-уровня следуют непрерывно за предыдущими.
Заголовок
| Смещение | Размер | Описание
|
| 0x00 | 4 байта | Тип растровых данных
|
| 0x04 | 2 байта | Ширина текстуры
|
| 0x06 | 2 байта | Высота текстуры
|
| 0x08 | 4 байта | Количество mipmap-уровней
|
Показать код на языке: C++, Delphi
struct TextureHeader
{
uint32 tex_type;
uint16 width;
uint16 height;
uint32 mipmap_count;
};
TextureHeader = packed record
begin
tex_type: LongWord;
width: Word;
height: Word;
mipmap_count: LongWord;
end;
Типы растровых данных
В игре используется некоторое количество (возможно около 10) типов растровых данных, вот некоторые из них:
| Идентификатор | Тип | Описание
|
| 0x04 | Индексированные цвета | Растровые данные с CLUT, содержат дополнительный заголовок, структурированы как тайлы 8x8 пикселей
|
| 0x0A | S3TC (DXT1) | Сжатые DXT1 (модифицированным для Wii) растровые данные
|
Заголовок растровых данных с индексированными цветами
| Смещение | Размер | Описание
|
| 0x00 | 4 байта | Неизвестно (цветность?)
|
| 0x04 | 2 байта | Неизвестно (формат цвета в палитре?)
|
| 0x06 | 2 байта | Количество цветов в CLUT
|
| 0x08 | Количество цветов × размер цвета | CLUT (таблица цветов, палитра)
|