OBD talk:TXMP: Difference between revisions

m
→‎0x88: @ alloc: besser so?
m (→‎0x88: no green bit?)
m (→‎0x88: @ alloc: besser so?)
Line 161: Line 161:
Woohoo, nice clean list for accurate knowledge! Over here!!!
Woohoo, nice clean list for accurate knowledge! Over here!!!
===0x88===
===0x88===
Bitset (rather large: 18 bits at least)
Bitset (rather large: 18 bits at least) bytes are listed in Little Endian
;0x01000000
;0x 01 00 00 00
:MIP mapping enabled (generations stored in RAW/SEP, used at runtime)
:MIP mapping enabled (generations stored in RAW/SEP, used at runtime)
:Q: Anything special about MIP mapping of DXT1-compressed pixels?
:Q: Anything special about MIP mapping of DXT1-compressed pixels?
;0x02000000
;0x 02 00 00 00
:Q: (sorry) ever used? effect? ^^ [[User:Geyser|geyser]]
:Q: (sorry) ever used? effect? ^^ [[User:Geyser|geyser]]
;0x04000000
;0x 04 00 00 00
:U wrapping disabled
:U wrapping disabled
;0x08000000
;0x 08 00 00 00
:V wrapping disabled
:V wrapping disabled
;0x10000000
;0x 10 00 00 00
:Enabled for env-mapped textures and env maps themselves.
:Enabled for env-mapped textures and env maps themselves.
:Q: Also enabled for skyboxes? Exact effect? [[User:Geyser|geyser]]
:Q: Also enabled for skyboxes? Exact effect? [[User:Geyser|geyser]]
;0x20000000
;0x 20 00 00 00
:used a runtime (marks if a texture name has been allocated for this TXMP or not) [[User:Neo|Neo]]
:used a runtime (marks if a texture name has been allocated for this TXMP or not) [[User:Neo|Neo]]
:Q: same question as below for 0x00200000: does the whole bitset get copied "elsewhere" at runtime? [[User:Geyser|geyser]]
:Q: same question as below for 0x00200000: does the whole bitset get copied "elsewhere" at runtime? [[User:Geyser|geyser]]
;0x40000000
;0x 40 00 00 00
:unknown - animation related [[User:Neo|Neo]]
:unknown - animation related [[User:Neo|Neo]]
:Q: (sorry) exact effect? ^^ [[User:Geyser|geyser]]
:Q: (sorry) exact effect? ^^ [[User:Geyser|geyser]]
;0x80000000
;0x 80 00 00 00
:unknown - animation related, only used by an "electric arc" texture, could mean to play frames of the animation in random order [[User:Neo|Neo]]
:unknown - animation related, only used by an "electric arc" texture, could mean to play frames of the animation in random order [[User:Neo|Neo]]
;0x00010000
;0x 00 01 00 00
:Q: Ever used? Effect? ^^ [[User:Geyser|geyser]]
:Q: Ever used? Effect? ^^ [[User:Geyser|geyser]]
;0x00020000
;0x 00 02 00 00
:Reads the high byte as env map (0x00 is "little", 0xFF is "much")
:Reads the high byte as env map (0x00 is "little", 0xFF is "much")
:Q: Sometimes used in conjunction with store type 1 or 2. 5x5x5 color, 1 bit extra, i.e., if it ''really'' reads the whole high byte, the 3 lower bits are ''garbage'' then?
:Q: Sometimes used in conjunction with store type 1 or 2. 5x5x5 color, 1 bit extra, i.e., if it ''really'' reads the whole high byte, the 3 lower bits are ''garbage'' then?
;0x00040000
;0x 00 04 00 00
:Reads the high byte as alpha (0x00 is transparent, 0xFF is opaque)
:Reads the high byte as alpha (0x00 is transparent, 0xFF is opaque)
:Q: Same as above: what if the store type is 1 or 2?
:Q: Same as above: what if the store type is 1 or 2?
;0x00080000
;0x 00 08 00 00
:Q: Ever used? Effect? ^^ [[User:Geyser|geyser]]
:Q: Ever used? Effect? ^^ [[User:Geyser|geyser]]
;0x00100000
;0x 00 10 00 00
:On if there are 16 bits per uncompressed pixel (color depth etc may vary) ==> no changes ==> Oni reads it directly from the raw file [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:On if there are 16 bits per uncompressed pixel (color depth etc may vary) ==> no changes ==> Oni reads it directly from the raw file [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:It appears to me that this bit means that the byte order of texture raw data must be swapped, it does not have anything to do with the number of bits which is encoded in the texture format anyway. [[User:Neo|Neo]]
:It appears to me that this bit means that the byte order of texture raw data must be swapped, it does not have anything to do with the number of bits which is encoded in the texture format anyway. [[User:Neo|Neo]]
:Q: Whom is the swapped data relevant to, then? "Texture format" = "store type"? "Number of bits" = RGB color depth = "store type"? [[User:Geyser|geyser]]
:Q: Whom is the swapped data relevant to, then? "Texture format" = "store type"? "Number of bits" = RGB color depth = "store type"? [[User:Geyser|geyser]]
;0x00200000
;0x 00 20 00 00
:IIRC, that bit is never used in Oni. If you use it, Oni chrashes. [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:IIRC, that bit is never used in Oni. If you use it, Oni chrashes. [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:This one appears to be used only at runtime to mark if the texture has been loaded or not (loading basically means to convert the offset to texture data in the raw file to a memory address, that's why Oni crashes if you set this bit, it thinks that the texture is already loaded and it uses the file offset as a memory pointer which is not valid) [[User:Neo|Neo]]
:This one appears to be used only at runtime to mark if the texture has been loaded or not (loading basically means to convert the offset to texture data in the raw file to a memory address, that's why Oni crashes if you set this bit, it thinks that the texture is already loaded and it uses the file offset as a memory pointer which is not valid) [[User:Neo|Neo]]
:Q: Neo, are you saying Oni ''writes to the memory-mapped DAT-part'' of every loaded TXMP? Or is that particular bitset copied "elsewhere"? [[User:Geyser|geyser]]
:Q: Neo, are you saying Oni ''writes to the memory-mapped DAT-part'' of every loaded TXMP? Or is that particular bitset copied "elsewhere"? [[User:Geyser|geyser]]
;0x00400000
;0x 00 40 00 00
:Looks like TXAN looping ON/OFF. Somebody please check somehow ^^ [[User:Geyser|geyser]]
:Looks like TXAN looping ON/OFF. Somebody please check somehow ^^ [[User:Geyser|geyser]]
:Q: (sorry) did anybody "please check somehow"? ^^ [[User:Geyser|geyser]]
:Q: (sorry) did anybody "please check somehow"? ^^ [[User:Geyser|geyser]]
;0x00800000
;0x 00 80 00 00
:16 bit blue (?) - only SHIELD uses it [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:16 bit blue (?) - only SHIELD uses it [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:Q: ??? [[User:Geyser|geyser]]
:Q: ??? [[User:Geyser|geyser]]
;0x00001000
;0x 00 00 01 00
:16 bit alpha (?) - only INVIS uses it [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:16 bit alpha (?) - only INVIS uses it [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:Q: ??? [[User:Geyser|geyser]]
:Q: ??? [[User:Geyser|geyser]]
;0x00002000
;0x 00 00 02 00
:16 bit red (?) - only DAODAN_SHIELD uses it [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:16 bit red (?) - only DAODAN_SHIELD uses it [[User:Ssg|Ssg]] 11:06, 13 February 2007 (CET)
:Q: ??? [[User:Geyser|geyser]]
:Q: ??? [[User:Geyser|geyser]]