Anonymous

Changes

From Final Fantasy Inside

FF7/Field/BSX

753 bytes added, 00:56, 20 August 2012
And I confirm for the size of BSX Header
! style="background:rgb(204,204,204)" align="center" | Size
! style="background:rgb(204,204,204)" align="center" | Data
|-
|style="background:rgb(255,255,255)" | offset_vertex
|style="background:rgb(255,255,255)" | 4
|style="background:rgb(255,255,255)" | ''Blank''
|-
|style="background:rgb(255,255,255)" | offset_vertices = offset_vertex + 4
|style="background:rgb(255,255,255)" | size_vertices = num_vertex * 8
|style="background:rgb(255,255,255)" | Vertices
|-
|style="background:rgb(255,255,255)" | offset_texcoords = offset_vertex + offset_texcoord
|style="background:rgb(255,255,255)" | size_texcoords = num_texcoord * 2
|style="background:rgb(255,255,255)" | Textures coord
|-
|style="background:rgb(255,255,255)" | offset_qct = offset_vertex + offset_poly
|style="background:rgb(255,255,255)" | size_qc = num_quad_color * 0x14
|style="background:rgb(255,255,255)" | Quad color
|-
|style="background:rgb(255,255,255)" | offset_texcoords = offset_vertex + offset_texcoord
|style="background:rgb(255,255,255)" | size_texcoords = num_texcoord * 2
|style="background:rgb(255,255,255)" | Textures coord
|-
|style="background:rgb(255,255,255)" | offset_flags = offset_vertex + offset_flags
|style="background:rgb(255,255,255)" | size_flags = unknown * 4
|style="background:rgb(255,255,255)" | Flags
|-
|style="background:rgb(255,255,255)" | offset_control = offset_vertex + offset_control
|style="background:rgb(255,255,255)" | size_control = textureCount * 1
|style="background:rgb(255,255,255)" | Control
|}
Structures:
<cpp>
typedef struct {
s16 x, z, y;
} Vertex;// sizeof = 0x06
</cpp>
<cpp>
typedef struct {
u8 unknown; // alpha? padding?
} Color;// sizeof = 0x04
</cpp><cpp>
typedef struct {
u8 vertexIndex[4];
Color color[4];
u8 texCoordId[4];
} TexturedQuadColorTexturedQuad;// sizeof = 0x18</cpp><cpp>
typedef struct {
u8 vertexIndex[3];
u8 texCoordId[3];
u8 padding2;
} TexturedTriangleColorTexturedTriangle;// sizeof = 0x14</cpp><cpp>
typedef struct {
u8 vertexIndex[4];
u8 texCoordId[4];
} MonochromeTexturedQuad;// sizeof = 0x0C
</cpp><cpp>
typedef struct {
u8 vertexIndex[3];
u8 padding2;
} MonochromeTexturedTriangle;// sizeof = 0x0C
</cpp><cpp>
typedef struct {
u8 vertexIndex[3];
Color color;
} MonochromeTriangle;// sizeof = 0x08
</cpp><cpp>
typedef struct {
u8 vertexIndex[4];
Color color;
} MonochromeQuad;// sizeof = 0x08
</cpp><cpp>
typedef struct {
u8 vertexIndex[3];
Color color[3];
} ColorTriangle;// sizeof = 0x10
</cpp><cpp>
typedef struct {
u8 vertexIndex[4];
Color color[4];
} ColorQuad;// sizeof = 0x14
</cpp>
<cpp>
typedef struct {
u8 x, y;
} TextureCoord;// sizeof = 0x02
</cpp>
== Animation Data Section ==
u16 offset_control; // Relative offset to one byte stream for every packet with texture.
u16 buffer_size; // Relative offset to ?
u32 u16 offset_vertex; // Offset to skeleton data section u16 offset_unknown; // Offset to ?
u32 offset_prec; // Offset to ?
}
Anonymous user