V
Vehek
Guest
This is what I've learned about the FF8 MCH format, to add on to the information already collected.
Model header
Undescribed data between vertices and faces
This appears to be texture-animations e.g. eye blinks. Its entry in the first part of the model header appears to be the length of the section, rather than the count.
Guess at structure. My names are rather rough.
Code: [Select]
Face data
Undescribed data between faces and skin-objects
Seems to split up the skin-objects, triangles, and quads.
(A guess)
Code: [Select]
Some models (d049, d053, d075, and p019) have two of this data type.
Animations
The first 6 bytes of each animation frame are the coordinates shift (3 signed 16-bit numbers). I am only sure of the last one being the Z-shift.
Player models actually do have animation data after all, just in a different form than the one I documented in the field chara.one files. They use a simple six bytes per bone.
--
Edit: updated texture animation info
Model header
Code:
Offset Length Description0x1C 0x02 Triangle count0x1E 0x02 Quad count
Undescribed data between vertices and faces
This appears to be texture-animations e.g. eye blinks. Its entry in the first part of the model header appears to be the length of the section, rather than the count.
Guess at structure. My names are rather rough.
Code: [Select]
Code:
struct{ byte unknown byte total_textures? byte unknown byte uSize byte vSize byte replacement_section_count UV_pair original_area_coords byte unknown[2] UV_pair replacement_coords[replacement_section_count]}
Code:
Offset Length Description0x08 0x02 When bit 0x04 set, face has semi-transparency0x36 0x02 Texture index
Undescribed data between faces and skin-objects
Seems to split up the skin-objects, triangles, and quads.
(A guess)
Code: [Select]
Code:
struct{ uint16 start_skinobject_index uint16 skinobject_count byte unknown[12] uint16 start_triangle_index uint16 triangle_count uint16 start_quad_index uint16 quad_count byte unknown2[8]}
Animations
The first 6 bytes of each animation frame are the coordinates shift (3 signed 16-bit numbers). I am only sure of the last one being the Z-shift.
Player models actually do have animation data after all, just in a different form than the one I documented in the field chara.one files. They use a simple six bytes per bone.
--
Edit: updated texture animation info
Last edited: