Talk:FTEX (File Format)

From MK8
Revision as of 21:41, 14 April 2017 by TheKoopaKingdom (talk | contribs) (→‎FTEX)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


I think there is N - 1 mipmap offsets at 0x44 (relative to the start of them mipmap data) where N is the number of mipmaps. The values are always less than the mipmap size and if they are 00 if no mipmaps exist it would make sense. If that would be true, then it would mean that an image can't have more than 15 mipmaps. Most unknown things in the middle should be mipmap data. Also, at 0xA8 there is a self-referring offset to the texture filename and at 0xAC there is a self-referring offset to the end of the string table. At 0xB8 there is a self-referring offset to an index group which points to user data entries and at 0xBC the number of user data entries are stored (UInt16!).
Is there anywhere there is explained how swizzling works? I don't find anything about it.
--Wexos (Talk | Contribs) 11:41, 8 April 2017 (UTC)

As far as I know, no documentation about the swizzling exists. However, there are a few tools whose source code interprets this swizzling. One is the GTX Extractor, a port of Cemu's C texture code to Python. Another is AddrLib, a fork of an AMD graphics-related library for the Wii U's GPU, which has code for reading textures. Finally, there's my own WIP tool. This is probably the closest thing you'll get to documentation, there, I'm currently trying to figure out what everything does. In the future, when this is done, I plan on making a write-up on all of it.
My Discord tag is Koopa#6981 if it's more convenient to talk there.
TheKoopaKingdom (talk) 21:41, 14 April 2017 (UTC)