Anonymous

Changes

From Final Fantasy Inside

FF9/File/0x02

5,668 bytes added, 13:09, 16 November 2008
no edit summary
4: Objects count.
 
 
| style="background:rgb(255,255,255);" | Pointer to the end of object, counting from first byte of model
| style="background:rgb(255,255,255);" | 4
|}
 
 
'''Vertex table'''
 
In this table there is information about count of vertex connected to every bone. Every record is 2-byte. If count of bones is odd, there is 2-byte padding.
 
 
'''Vertices'''
 
Here there is information about all vertices of selected object. Vertex record is 3-byte and is of next structure:
 
{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"
! style="background:rgb(204,204,204);" align="center" | Data
! style="background:rgb(204,204,204);" align="center" | Length (bytes)
|-
| style="background:rgb(255,255,255);" | X
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Y
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Z
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Bone number
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | UnkNown
| style="background:rgb(255,255,255);" | 1
|}
 
Point coordinates are in local coordinate system of given bones. Vertex count begins from 0. For every model object it counts from 0.
 
 
'''Quad and Triangle block'''
 
First there is block of quads, next there is triangles. Count of quads and triangles is in object table.
 
'''''Quad record:'''''
{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"
! style="background:rgb(204,204,204);" align="center" | Data
! style="background:rgb(204,204,204);" align="center" | Length (bytes)
|-
| style="background:rgb(255,255,255);" | 1-st vertex index
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | 2-nd vertex index
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | 3-rd vertex index
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | 4-th vertex index
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Coordinate index from block of coordinates of texturation for first vertex.
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Coordinate index from block of coordinates of texturation for second vertex.
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Coordinate index from block of coordinates of texturation for third vertex.
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Coordinate index from block of coordinates of texturation for fourth vertex.
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Color R (I think)
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | Color G (I think)
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | Color B (I think)
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | (Texture information?)
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | (Texture information?)
| style="background:rgb(255,255,255);" | 4
|}
 
 
'''''Triangle record:'''''
 
{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"
! style="background:rgb(204,204,204);" align="center" | Data
! style="background:rgb(204,204,204);" align="center" | Length (bytes)
|-
| style="background:rgb(255,255,255);" | 1-st vertex index
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | 2-nd vertex index
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | 3-rd vertex index
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | (Texture information?)
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Color R (I think)
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | Color G (I think)
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | Color B (I think)
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | (Texture information?)
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | Coordinate index from block of coordinates of texturation for first vertex.
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Coordinate index from block of coordinates of texturation for second vertex.
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | Coordinate index from block of coordinates of texturation for third vertex.
| style="background:rgb(255,255,255);" | 2
|-
| style="background:rgb(255,255,255);" | (Texture information?)
| style="background:rgb(255,255,255);" | 2
|}
 
 
'''Texture coordinates'''
 
In this block there is texture coordinate of selected object. Values of given table used for applying texture to quads and triangles of object. To elements of given table points «Coordinate index from block of coordinates of texturation for <N> vertex.» from triangle and quad records.
 
 
Records counting from 0.
 
Texture coordinate record:
 
{| border="0" cellspacing="1" cellpadding="3" style="background: rgb(0,0,0)" align="center"
! style="background:rgb(204,204,204);" align="center" | Data
! style="background:rgb(204,204,204);" align="center" | Length (bytes)
|-
| style="background:rgb(255,255,255);" | Texture coordinate U
| style="background:rgb(255,255,255);" | 1
|-
| style="background:rgb(255,255,255);" | Texture coordinate V
| style="background:rgb(255,255,255);" | 1
|}
Anonymous user