After some hacking I managed to rip static objects directly from the model files. But I'm struggling with the animated model files: The index buffer and texture coordinate data is stored separately from the vertex data. The vertex data itself is stored directly in a hierarchical bone structure, which is too complicated for me to analyze at the moment.
The attached Edna model was ripped using NinjaRipper, but what I'm after is the bone animatable raw vertex data.
Here is what I got so far:
- Extract the "TLFILE.TLDAT" and "FILEHEADER.TOFHDB" containers using quickbms with the "tales_of_xillia.bms" profile.
- Texture descriptions are then exported in "TOTEXB_D\*.dpd" and the textures itself in "TOTEXP_P\*.dat".
- Model animations are stored in "TOMDLB_D\*.dpd" and static model data is stored in "TOMDLP_P\*.dc5".
- Run the attached code to extract DirectX DDS textures from the TOTEXP_P folder. Example: "CHR_EDN_TEN_100_CHEST0_C.dds", "CHR_EDN_TEN_100_HAIRBAND0_C.dds" and so on.
- Run the attached code to extract OBJ model files from static models in the TOMDLP_P folder. Example: "ATT_106_FLO_00.obj"
- Animation data is stored in ".toanmb"-files.

