XenobladeX mtxt texture format
Page 1 of 1

Author:  PredatorCZ [ Mon Jul 18, 2016 6:26 pm ]
Post subject:  XenobladeX mtxt texture format

So recently i got my hands on XenobladeX (or Xenoblade Chronicles X if you want).
I almost figured out model format, but textures are not my cup of tea, they have different pixel formats and different extensions but in the core they are all same. I'm curious now about standard format used for models.

See? The color is here, but segments are placed randomly in raster.
This is supposed to be DXT1(BC1) format.
Right texture is dumped from CEMU.

Textures have MTXT header (I believe Castlevania used those too), the funny thing is, the header is backwards and at the end of file.

Thanks for any info. Samples below.

Author:  PredatorCZ [ Sat Jul 23, 2016 2:08 pm ]
Post subject:  Re: XenobladeX mtxt texture format

Im not sure, but can this be stored in Morton (aka Z) order?
ATM I don't know what texture format WiiU adopted, so it looks like blind shot.

EDIT: After some more research I found this little program called texconv2, it may be answer to my question, the file seem to be gtx format, now I just need to find header for gtx and it should work.

Author:  PredatorCZ [ Sat Jul 23, 2016 6:51 pm ]
Post subject:  Re: XenobladeX mtxt texture format

MTXT Header

endianess: big
header offset: EOF-122
names according to GTX Header Decription
struct MTXTHeader {
   uint swizzle;
   uint dimension;
   uint width;
   uint height;
   uint depth;
   uint nomips;
   uint type;
   uint size;
   uint aamode;
   uint tiling;
   uint unk;
   uint alignment;
   uint pitch;

Common formats: DXT1,DXT5,ATI2(normal maps)

Author:  AceWell [ Fri Sep 29, 2017 7:25 am ]
Post subject:  Re: XenobladeX mtxt texture format

ok so if Xenoblade is a WiiU game then the texture is likely gx2 (or gtx?) format, your samples are probably gx2 image data with a custom header, or footer in this case.
texconv2 can supposedly convert gtx to dds as posted here
there is a Noesis python script by Zaramot that calls texconv2 to convert gtx image data here

looks like there is some pretty good python 3.4 source code here for unswizzling etc
someday i would like to be able to use this in a script to eliminate having to use any tool called by the script :D

PredatorCZ wrote:
header offset: EOF-122

you meant 112 instead of 122 right? :?

Author:  PredatorCZ [ Sat Oct 14, 2017 2:44 pm ]
Post subject:  Re: XenobladeX mtxt texture format

Thanks for post Ace, I have finished converter months ago, so its fine.
Since Xenoblade 2 will use same engine I will test my tool and probably release it to public.

Author:  AceWell [ Mon May 14, 2018 7:20 am ]
Post subject:  Re: XenobladeX mtxt texture format

i put together a Noesis python script for fun to open your mtxt sample :D

i used your findings along with info from previous links i posted.

to make this work
extract tex_XenobladeChroniclesX_WiiU_mtxt.py to Noesis\plugins\python folder
extract TexConv2.exe, TexConv2.bat, texUtils.dll and gfd.dll to Noesis\scenes folder

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group