|0x00||res_id||01 1F 00 00||31||00031-rl_1.TXMP|
|0x04||lev_id||01 00 00 06||3||level 3|
|0x08||char||rl_1||name of the texture; unused|
|0x88||int32||00 10 00 00||0x1000|| options; possible option flags (from left to right):
|0x8C||int16||80 00||128||width of the image in pixels|
|0x8E||int16||80 00||128||height of the image in pixels|
|0x90||int32||01 00 00 00||1|| texture format RGB555; used texture formats:
|0x94||link||00 00 00 00||unused||link to a TXAN file; used if this texture is animated|
|0x98||link||00 00 00 00||unused||link to a TXMP file that contain the environment map|
|0x9C||offset||20 00 00 00||00 00 00 20||at this position starts the texture part in the raw file (Windows only)|
|0xA0||offset||00 00 00 00||unused||at this position starts the texture part in the separate file (Mac retail/demo and Windows demo only)|
- Effect options
- "Shield", "Invisibility" and "Daodan shield" options do not affect the texture reading/drawing in any way. The texture data is still RGB555 or whatever format the texture format field says it is. The effect of these flags is that the engine uses vertex shading with a colour that varies with time.
- Animation time
When using animated textures the image to display is selected using the game time and animation speed. For textures that are used by particles the local (particle) time can be used either to replace or offset the game time.
- Pixel storage order
- Below you can see the pictures for this example. The first picture shows how it's stored in Oni, the second how you see it in the game.
|how it's stored||how you'll see it|
|ONI BINARY DATA|
|TXMB << Other file types >> TxtC|
|TXMP : Texture Map|