blob: 134977dea451dac7140dc0d39084cfc6b8b6c6c6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
@page otr_texture Texture Resource
# Texture Resource (OTEX)
If the Resource Type is `OTEX` (`0x4F544558`), the header is immediately followed by the texture definition.
## Texture Header
| Offset | Size | Type | Description |
| :--- | :--- | :--- | :--- |
| 0x40 | 4 | u32 | Texture Type ID |
| 0x44 | 4 | u32 | Width |
| 0x48 | 4 | u32 | Height |
| 0x4C | 4 | u32 | Data Size |
| 0x50 | ... | [u8] | Raw Texture Data |
## Texture Types
| ID | Name | Bits Per Pixel | Description |
| :--- | :--- | :--- | :--- |
| 0 | Error | - | Invalid / Error |
| 1 | RGBA32bpp | 32 | Red, Green, Blue, Alpha (8 bits each) |
| 2 | RGBA16bpp | 16 | RGBA 5-5-5-1 |
| 3 | Palette4bpp | 4 | 4-bit Color Index (CI4) |
| 4 | Palette8bpp | 8 | 8-bit Color Index (CI8) |
| 5 | Grayscale4bpp | 4 | 4-bit Intensity (I4) |
| 6 | Grayscale8bpp | 8 | 8-bit Intensity (I8) |
| 7 | GrayscaleAlpha4bpp | 4 | 4-bit Intensity with Alpha (IA4) |
| 8 | GrayscaleAlpha8bpp | 8 | 8-bit Intensity with Alpha (IA8) |
| 9 | GrayscaleAlpha16bpp | 16 | 16-bit Intensity with Alpha (IA16) |
| 10 | GrayscaleAlpha1bpp | 1 | 1-bit Black/White (I1) |
| 11 | TLUT | - | Texture Look-Up Table (Palette) |
**Note:** When a `TLUT` is exported to an OTR file, its type is converted to `RGBA16bpp` (ID 2).
## YAML Configuration
When defining textures in the asset configuration, the following format strings are supported:
| Format String | Texture Type | Bit Depth |
| :--- | :--- | :--- |
| `rgba16` | RGBA16bpp | 16 |
| `rgba32` | RGBA32bpp | 32 |
| `ci4` | Palette4bpp | 4 |
| `ci8` | Palette8bpp | 8 |
| `i4` | Grayscale4bpp | 4 |
| `i8` | Grayscale8bpp | 8 |
| `ia1` | GrayscaleAlpha1bpp | 1 |
| `ia4` | GrayscaleAlpha4bpp | 4 |
| `ia8` | GrayscaleAlpha8bpp | 8 |
| `ia16` | GrayscaleAlpha16bpp | 16 |
| `tlut` | TLUT | 16 |
### Paletted Textures (CI4 / CI8)
For paletted textures (`ci4` or `ci8`), you can optionally define the accompanying TLUT within the same entry. If `tlut` (offset) and `colors` (count) are provided, Torch will automatically generate a separate TLUT asset.
You can also specify `tlut_symbol` to explicitly name the generated TLUT asset. If omitted, it defaults to the texture symbol with `_tlut` appended.
Example:
```yaml
- type: TEXTURE
format: ci8
width: 32
height: 32
offset: 0x12345
tlut: 0x12545
colors: 256
tlut_symbol: my_custom_tlut_name # Optional
```
This will create the texture asset and a separate TLUT asset.
|