Skip to content

MT7 Files

philyeahz edited this page Oct 10, 2018 · 23 revisions

The MT7 models are similar to the HRC Softimage|3D format with the 4 Byte identifier thingy.

Diagram [WIP]

Tokens

Identifier Value Value (Endianess Flip) Description
MDCX 0x4D444358 0x5843444D Character Model (+sub_004CD570)
MDC7 0x4D444337 0x3743444D Character Model (+sub_004CD570)
MDLX 0x4D444C58 0x584C444D Map "Skybox" Geometry
MDL7 0x4D444C37 0x374C444D Map "Skybox" Geometry
MDOX 0x4D444F58 0x584F444D Map Geometry
MDO7 0x4D444F37 0x374F444D Map Geometry
MDPX 0x4D445058 0x5850444D Static Models (Props)
MDP7 0x4D445037 0x3750444D Static Models (Props)
MDHX 0x4D444858 0x5848444D MDCX SubNode for Hands
MDH7 0x4D444837 0x3748444D MDC7 SubNode for Hands
TXT7 0x54585437 0x37545854 Texture
XB01 0x58423031 0x31304258 Mesh Data
WBTR 0x57425452 0x52544257 Skin Weight ?
WVTX 0x57565458 0x58545657 Skin Weight Vertex
WEVL 0x5745564C 0x4C564557 Skin Weight ?
WIDX 0x57494458 0x58444957 Skin Weight ?
FACE 0x46414345 0x45434146 -
CLSG 0x434C5347 0x47534C43 -
FACX 0x46414358 0x58434146 -
CLSX 0x434C5358 0x58534C43 -
LIGT 0x4C494754 0x5447494C -
MAI 0x4D414920 0x2049414D -
SVMD 0x53564D44 0x444D5653 -
SHDS 0x53484453 0x53444853 -
USE 0x55534520 0x20455355 -
fREe 0x66524565 0x65455266 -
VMPL 0x564D504C 0x4C504D56 -
SHDM 0x5348444D 0x4D444853 -

MDCX

Header

Position Length Value Description
0x00 0x04 0x4D444358 (MDCX) MDCX Identifier
0x04 0x04 - TEX7 Offset
0x08 0x04 - Offset to first MDCX Entry
0x0C 0x04 - Count of TXT7 entries

MDCX Entry (64 Bytes + MDCX Bytes)

This offset is used by the sub_004C84E0 routine and this routine jumps all over the place, even over other MDCX identifier.

Position Length Description
0x00 0x04 Some Flags?
0x04 0x0C Translate (X,Y,Z)
0x10 0x0C Rotation (X,Y,Z)
0x1C 0x0C Scale (X,Y,Z)
0x28 0x04 XB01 Offset
0x2C 0x04 Child Entry?
0x30 0x04 Sibling Entry?
0x34 0x04 Previous Entry?
0x38 0x08 Reserved
0x40 0x04 MDCX Identifier
0x44 0x40 4x4 Matrix
0x84 0x04 Count of some Entries
0x88 0x08 * Count Entries
0x?? 0x?? Optional other tokens

TXT7 entries

Position Length Description
0x00 0x04 Unknown
0x04 0x04 Unknown
0x08 0x04 Unknown
0x0C 0x04 Entry Index

Each entry is 16 byte long. If entries are present than after the entries there is an 8 byte thingy for each entry. These entries correspond to the TXT7 Entry Texture Name's.

XB01 Location Dictionary

After the unknown entries (if present, else they come right after the header) there is an dictionary with all the XB01 locations which hold the faces infos. The sub_004CD570 routine modifies these location entries, which is called BEFORE the sub_004C84E0 routine.

TXT7

Position Length Value Description
0x00 0x04 0x54585437 (TXT7) TXT7 Identifier
0x04 0x04 - TXT7 Size
0x04 0x04 - TXT7 Entry Count

TXT7 Entry

Each entry has 4 Bytes for the Offset and 8 Bytes for the texture name. Again the texture names come after the entries (offsets).

XB01

Position Length Value Description
0x00 0x04 0x58423031 (XB01) XB01 Identifier
0x18 0x04 - Count + 0x6 * 4?
0x1C 0x04 - Unknown
0x28 0x04 - Unknown * 4 + 0x20

Clone this wiki locally