Users browsing this thread: 4 Guest(s)
Tropical Freeze Textures: the TXTR format. RTB and Parax pretty much figured it out.
#35
https://dl.dropboxusercontent.com/u/2787...RtoGTX.bms

Preliminary script time! This QuickBMS script should convert the pre-decompressed TXTR files into GTX, which can then be converted to DDS with TexConv2. I've only tested it with the files in PreLoadPak so far, looks like all of the textures there were either DXT1, DXT5 or ATI2 so I didn't need to write too much for those currently. Most textures there convert fine, but some of the itty-bitty ones are a bit garbled (but I think that's actually the fault of the TexConv2 program).

0x08 past "HEAD" is the size of the information chunk. That plus 0x18 for the default header length will bring you to the "GPU" section.
0x1C is the format, so far I've seen these -- (0x14 = 0x31/DXT1), (0x18 = 0x33/DXT5) and (0x1C = 0x35/ATI2). ATI2 textures need to be converted with the "lossless" method + the lack-of-a-better-name "DDS Fix script" to fix the colours/transparency afterwards because TexConv2 doesn't convert it properly otherwise.
0x28, listed as "Depth", seems to be used for the amount of animation frames which my script currently detects and splits accordingly.
0x30 is the "swizzle" value.
0x38 is indeed the texture size without taking any mipmaps into mind.

Not sure about most of the other header bytes that weren't already mentioned in your notes, but they aren't necessary for texture conversion from what I can see. There's probably some more texture formats, but I'm kinda sleepy right now so I'll leave it at that currently.

(EDIT: "Depth" doesn't seem to be just for animation frames, some textures have 6 which is used for a cubemap.)
Reply
Thanked by: Kold-Virus


Messages In This Thread
RE: Tropical Freeze Textures: the TXTR format. Might ALMOST be cracked! - by Random Talking Bush - 12-24-2015, 05:30 AM

Forum Jump: