Anonymous

Changes

From Final Fantasy Inside

FF8/FileFormat MCH

1,348 bytes added, 18:00, 1 July 2012
no edit summary
<small>Last UpdateAuthors: [[User:Koral|Koral]] 18, [http:21, 24 May 2009 (EDT)//forums.qhimm.com/index.php?topic=13261.msg184344#msg184344 Vehek]</small>
= MCH Field Character Models =
== Header ==
 
<pre>
0x100 bytes [256 bytes]
== Texture-Data ==
[http://wiki.qhimm.com/PSX/TIM_format TIM format]
 
<pre>
(for each Texture)
== Model-Data ==
<pre>
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{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Length! style="background:rgb(204,204,204)" | Description|-| 0x00| 4 bytes| Number of Skeleton Bones|-| 0x04| 4 bytes| Number of Vertices|-| 0x08| 4 bytes| Number of texture animations|-| 0x0C| 4 bytes| Number of Faces|-| 0x10| 4 bytes| Number of Unknown data|-| 0x14| 4 bytes| Number of Skin objects|-|style="background:rgb(255,255,204)" | 0x18|style="background:rgb(255,255,204)" | 4 bytes|style="background:rgb(255,255,204)" | Unknown|-| 0x1C| 2 bytes| Triangle count|-| 0x1E| 2 bytes| Quad count|-|style="background:rgb(255,255,204)" | 0x20|style="background:rgb(unknown255,255,204)" | 32 bytes |style="background:rgb(255,255,204)" | Unknown</pre>|}
<pre>
<pre>
Vertex Data:
(for each vertex)
<pre>
Texture-animations Data: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]}</pre> <pre> Face Data:
(for each face)
BYTE * 3: (unknown)
BYTE: Polygon Type [0x2d = Quad, 0x25 = Triangle]
SHORT: When bit 0x04 set, face has semi-transparency SHORT: (unknown) DWORD * 2: (unknown)
SHORT * 4: Indices per Face-Vertex
SHORT * 4: (unknown)
DWORD * 12: (unknown)
</pre>
 
<pre>
Unknown Data, Seems to split up the skin-objects, triangles, and quads:
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]
}
</pre>
Anonymous user