OBD:TXMP: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(that's pretty much all about TXMP) |
||
Line 10: | Line 10: | ||
{{OBDtr| 0x00 | res_id |FF0000| 01 1F 00 00 | 31 | 00031-rl_1.TXMP }} | {{OBDtr| 0x00 | res_id |FF0000| 01 1F 00 00 | 31 | 00031-rl_1.TXMP }} | ||
{{OBDtr| 0x04 | lev_id |FFFF00| 01 00 00 06 | 3 | level 3 }} | {{OBDtr| 0x04 | lev_id |FFFF00| 01 00 00 06 | 3 | level 3 }} | ||
{{OBDtr2|0x08 | char[128]|FFC8C8| rl_1 | name of the texture }} | {{OBDtr2|0x08 | char[128]|FFC8C8| rl_1 | name of the texture; appears to be unused }} | ||
{{OBDtr| 0x88 | | {{OBDtr| 0x88 | int32 |FFFFC8| 00 10 00 00 | 0x1000 | options; possible option flags (from left to right): | ||
:0x'''01''' 00 00 00 - has mipmaps | :0x'''01''' 00 00 00 - has mipmaps | ||
:0x'''04''' 00 00 00 - U wrapping disabled | :0x'''04''' 00 00 00 - U wrapping disabled | ||
Line 19: | Line 19: | ||
:0x'''80''' 00 00 00 - animation: play random | :0x'''80''' 00 00 00 - animation: play random | ||
:0x00 '''01''' 00 00 - animation: add local (particle) time | :0x00 '''01''' 00 00 - animation: add local (particle) time | ||
:0x00 '''02''' 00 00 - | :0x00 '''02''' 00 00 - has environment map texture | ||
:0x00 '''04''' 00 00 - additive alpha blending | :0x00 '''04''' 00 00 - additive alpha blending | ||
:0x00 '''10''' 00 00 - texture data endianess | :0x00 '''10''' 00 00 - texture data endianess | ||
:0x00 '''40''' 00 00 - animation: ignore global time | :0x00 '''40''' 00 00 - animation: ignore global time | ||
:0x00 '''80''' 00 00 - | :0x00 '''80''' 00 00 - effect: shield (blue) | ||
:0x00 00 '''01''' 00 - | :0x00 00 '''01''' 00 - effect: invisibility | ||
:0x00 00 '''02''' 00 - | :0x00 00 '''02''' 00 - effect: daodan shield (red) }} | ||
{{OBDtr| 0x8C | int16 |C8FFC8| 80 00 | 128 | width of the image in pixels }} | |||
{{OBDtr| 0x8E | int16 |C8FFC8| 80 00 | 128 | height of the image in pixels }} | |||
{{OBDtr| 0x8C | int16 |C8FFC8| 80 00 | 128 | width of the image in | |||
{{OBDtr| 0x8E | int16 |C8FFC8| 80 00 | 128 | height of the image in | |||
{{OBDtr| 0x90 | int32 |C8FFFF| 01 00 00 00 | 1 | texture format RGB555; used texture formats: | {{OBDtr| 0x90 | int32 |C8FFFF| 01 00 00 00 | 1 | texture format RGB555; used texture formats: | ||
:0 - ARGB4444, 16 bits/pixel, 4 bits per channel, alpha channel present (GL_RGBA4 OpenGL texture format) | :0 - ARGB4444, 16 bits/pixel, 4 bits per channel, alpha channel present (GL_RGBA4 OpenGL texture format) | ||
Line 36: | Line 34: | ||
:8 - RGB888, 32 bits/pixel, 8 bits per color channel, no alpha channel (GL_RGB OpenGL texture format) | :8 - RGB888, 32 bits/pixel, 8 bits per color channel, no alpha channel (GL_RGB OpenGL texture format) | ||
:9 - S3TC/DXT1, compressed 4 times (GL_COMPRESSED_RGB_S3TC_DXT1_EXT OpenGL texture format) }} | :9 - S3TC/DXT1, compressed 4 times (GL_COMPRESSED_RGB_S3TC_DXT1_EXT OpenGL texture format) }} | ||
{{OBDtr| 0x94 | link |FFC8FF| 00 00 00 00 | unused | link to a [[OBD:TXAN|TXAN]] file; | {{OBDtr| 0x94 | link |FFC8FF| 00 00 00 00 | unused | link to a [[OBD:TXAN|TXAN]] file; used if this texture is animated }} | ||
{{OBDtr| 0x98 | link |FFC800| 00 00 00 00 | unused | link to a TXMP file | {{OBDtr| 0x98 | link |FFC800| 00 00 00 00 | unused | link to a TXMP file that contain the environment map }} | ||
{{OBDtr| 0x9C | offset |C800C8| 20 00 00 00 |00 00 00 20| at this position starts the texture part in the raw file (PC only) }} | {{OBDtr| 0x9C | offset |C800C8| 20 00 00 00 |00 00 00 20| at this position starts the texture part in the raw file (PC only) }} | ||
{{OBDtr| 0xA0 | offset |C87C64| 00 00 00 00 | unused | at this position starts the texture part in the sep file (Mac and PC demo only) }} | {{OBDtr| 0xA0 | offset |C87C64| 00 00 00 00 | unused | at this position starts the texture part in the sep file (Mac and PC demo only) }} | ||
Line 44: | Line 42: | ||
;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. | |||
;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. | |||
{|border=0 | {|border=0 |
Revision as of 12:08, 7 February 2008
|
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x00 | res_id | 01 1F 00 00 | 31 | 00031-rl_1.TXMP |
0x04 | lev_id | 01 00 00 06 | 3 | level 3 |
0x08 | char[128] | rl_1 | name of the texture; appears to be 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 (PC only) |
0xA0 | offset | 00 00 00 00 | unused | at this position starts the texture part in the sep file (Mac and PC demo only) |
0xA4 | char[28] | AD DE | dead | unused |
- 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.
- 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 |
Generic file |