Jump to content
⚠ Known Issue: Media on User Profiles ×

TBBle

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by TBBle

  1. Thanks for this guide. I had a quick play with a hex editor, and the offset is actually in the file. That said, it matches the dimensions anyway: 256x256 is 0x100, 512x512 is 0x108, 1024x1024 is 0x110. Or at least for the ones I looked at, which were all square. I assume 2048x2048 would be 0x118. It's basically adding 8 bytes to the offset for each MIP level. You can see the 2nd MIP level in RawTex by adding 0x8000 for BC1 or 0x10000 for BC5U, and then halving the dimensions, and hitting 'Try and Convert'. i.e. given a 1024x1024 BC1 file, with offset 0x110, you can also see a 512x512 version of the texture at offset 0x80110. You can see a 256x256 version of the texture at offset 0xa0110. Or as a handy list: offset <== size (dimensions) 0x00110 <== 0x80000 (1024x1024)0x80110 <== 0x20000 (512x512)0xa0110 <== 0x08000 (256x256)0xa8110 <== 0x02000 (128x128)0xaa110 <== 0x00800 (64x64)0xaa910 <== 0x00200 (32x32)0xaab10 <== 0x00080 (16x16)0xaab90 <== 0x00020 (8x8)0xaabb0 <== 0x00008 (4x4)0xaabb8 <== 0x00008 (4x4)0xaabc0 <== 0x00008 (4x4) For normal maps, they use BC5U, which is twice as many bits per pixel. RawTex misdetects this as being twice as wide as it is tall, but if you switch to BC5U and halve the width, you get the right image. The same offset table for a 1024x1024 NM file: 0x000110 <== 0x100000 (1024x1024)0x100110 <== 0x040000 (512x512)0x140110 <== 0x010000 (256x256)0x150110 <== 0x004000 (128x128)0x154110 <== 0x001000 (64x64)0x155110 <== 0x000400 (32x32)0x155510 <== 0x000100 (16x16)0x155610 <== 0x000040 (8x8)0x155650 <== 0x000010 (4x4)0x155660 <== 0x000010 (4x4)0x155670 <== 0x000010 (4x4)
×
×
  • Create New...