Skyfaller wrote:The meaning of byte 4 to 16 in this file type is unclear at this time. Adding one to one byte and subtracting one from the next byte in this part of the header apparently leave the file intact. All other changes I made make the WTB invisible.
Well, you can cross 8 more bytes from the mystery list: bytes from offset 8 to 15 are the name of the WTB file, without the extension, and with each character *NEGATED* (so, for example -65 represents the letter "A", instead of +65)

The same format is used to store names in the TBL files in the TABL directory of the project file. The purpose of storing the name this way escapes me, but the important thing is that we have 8 less bytes of the WTB header to decode
It should be noted that in the ATI version of the WTB format, the name is stored as plain ASCII - no negation (which was how I stumbled across the answer in the first place).
I remember Skyfaller mentioning in another post somewhere that he thought the header might contain some sort of checksum (which is why the geometry vanishes when you try to change vertex/poly data) - I suspect that this checksum is bytes 4 & 5 in the header but can't quite figure out how the checksum is calculated (although adding together the 16-bit words that make up the vertex and poly data and masking it with 0xFFFF gives a value very close to that stored at bytes 4-5 of the header - in smaller files these values aren't off by much, so I'm hoping that means I'm close

)
Will post more if/when I find it.