Changes

Jump to navigation Jump to search

FF8/FileFormat DAT

832 bytes added, 05:24, 23 May 2019
m
18 revisions imported
By Mirex, JWP, random_npc and myst6re.
Edit: We now know the animation and skeleton- see https://github.com/MaKiPL/OpenVIII/blob/4ac151daad7cd1475eb0694dd0715bc35d7a4b39/FF8/debug_battleDat.cs
== Header ==
|-
|style="background:rgb(255,255,204)" | 2
|style="background:rgb(255,255,204)" | 6 bytes|style="background:rgb(255,255,204)" | Unknown|-| 8| s16f (divide by 4096f)| scaleX |-| 10| s16f (divide by 4096f)| scale -Z|-| 12| s16f (divide by 4096f)| scale Y|-|style="background:rgb(255,255,204)" | 14 |style="background:rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204)" | Unknown
|-
|-
| 2
| 2 bytess16f (divide by 4096f)| Bone size(?)|-| 4| s16f (divide by 4096f)| unknown, multiplied by 360f|-| 6| s16f (divide by 4096f)| unknown, multiplied by 360f|-| 8| s16f (divide by 4096f)| unknown, multiplied by 360f|-| 10| s16f (divide by 4096f)| unknown|-| 12| s16f (divide by 4096f)| unknown|-| 14| s16f (divide by 4096f)| unknown
|-
|style="background:rgb(255,255,204)" | 416|style="background:rgb(255,255,204)" | 44 28 bytes
|style="background:rgb(255,255,204)" | Unknown (often empty)
|}
| nbObjects * 4 bytes
| Object Positions
|-
| 4 + nbObjects * 4
| Varies
| Object Data (see below)
|-
| Varies
| 4 bytes
| Total count of vertices
|}
| 2
| Varies * NbVerticesData
| Vertices Data(see below)
|-
| Varies
| 4 - (absolutePosition % 4)
| Padding (0x00)
|-
| Varies
| 8 bytes
| Padding (0x00)Always empty
|-
| Varies
| numQuads * 20 bytes
| Quads
|-
| Varies
| 4 bytes
| Total number of vertices (may be not visible)
|}
==== Useful structures ====
typedef struct vertice {
sint16 x, y, z;
} vertice;
(sizeof = 6)
typedef struct triangle { uint16 vertex_indexes[3];// vertex_indexes[0] &= 0x7FFF0xFFF, other bits are unknown
uint8 texCoords1[2];
uint8 texCoords2[2];
uint8 texCoords3[2];
uint16 u; // textureID_related2
} triangle;
(sizeof = 16)
typedef struct quad { uint16 vertex_indexes[4];// vertex_indexes[0] &= 0x7FFF0xFFF, other bits are unknown
uint8 texCoords1[2];
uint16 textureID_related;
uint8 texCoords3[2];
uint8 texCoords4[2];
} quad;
(sizeof = 20)
| 32
| 4 bytes
| Mag Vit values
|-
| 36
| 4 bytes
| Vit Mag values
|-
| 40

Navigation menu