Difference between revisions of "FF8/FileFormat MCH"
< FF8
Jump to navigation
Jump to search
my_wiki>Koral |
(No difference)
|
Revision as of 01:21, 25 May 2009
Last Update: Koral 18:21, 24 May 2009 (EDT)
Contents
MCH Field Character Models
Each MCH file contains a skinned-animated model representing a character on the field or world Maps. There appear to be multiple files of the same character representing differnt Level of Details.
They usually contain multiple TIM textures (standard PSX textures), mesh geometry, bones, skeleton heirarchy information and skinning information. The whereabouts of the Bone Animation data is currently unknown.
Accessing MCH Files
todo
MCH File Structure
Header
0x100 bytes [256 bytes] DWORD: Offsets to multiple Texture-Data Start: 0x00 Parse DWORDS until read value: 0xFFFFFFFF DWORD: Offset to Model Data
Texture-Data
(for each Texture) Standard [TIM] format textures
Model-Data
Header: 0x40 bytes (64) DWORD: number of Skeleton Bones DWORD: number of Vertices DWORD: (unknown) DWORD: number of Faces DWORD: (unknown) DWORD: number of Skin objects DWORD * 10: (unknown)
Skeleton Data: 0x40 bytes per bone, recurse through number of bones dictated in Header (for each bone) SHORT: parent bone (1-based) SHORT: (unknown) DWORD: (unknown) SHORT: bone length DWORD * 15: (unknown)
Vertex Data: (for each vertex) SHORT * 3: Vertex XYZ Position SHORT: (unknown) DWORD * 4: (unknown)
Face Data: (for each face) DWORD: (unknown) BYTE * 3: (unknown) BYTE: Polygon Type [0x2d = Quad, 0x25 = Triangle] DWORD * 2: (unknown) SHORT * 4: Indices per Face-Vertex SHORT * 4: (unknown) BYTE * 4 * 4: Vertex Colour (RGBA) per Face-Vertex BYTE * 2 * 4: Vertex UV, (1st byte U, 2nd byte V) per Face-Vertex DWORD * 12: (unknown)
Skin-Object Data: (for each skin-object) SHORT: Bone ID (1-based) SHORT: (unknown) SHORT: index of first vertex SHORT: number of vertices
todo: notes on skinning, animation data
MCH Model File List
todo