Skip to content

ELU format

Asunaya edited this page Jan 2, 2017 · 1 revision

Header

Size Content
4 byte integer Signature1
4 byte integer Version
4 byte integer Material count
4 byte integer Mesh count

1: Must be 0x0107f060.

0x5012

Contains the ELU header and then an array of meshes, the number of which is stored in the header.

Mesh

In the following, "array of X" means a 4 byte integer that describes the size, and then size instances of X. Thus, the total size is 4 + size * sizeof(X).

Size Content
Array of chars Name
Array of chars ???
12 bytes ???
4x4 float matrix World transform
8 bytes ???
Array of float3 Vertex positions
Array of float3 Vertex normals
Array of float4 Vertex tangents
4 bytes ???
Array of float3 Vertex texture coordinates
Array of float3 ???
4 byte integer ???1
4 bytes ???2
Array of arrays of 12 bytes + 2 bytes ???2
floatx3 array ???
4 bytes ???
Array of 6x2 bytes Subindices3
Array of arrays of 8 bytes ???
Array of 2 bytes Vertex indices
Array of 12 bytes DrawProp data4
Array of 2*float3 bytes ???

1: If this value is below or equal to 0, the values marked 2 are not present.

3: Describes the order of the vertex data. Example: If the subindices are {1, 0}, and the vertex positions are {{0, 0, 0}, {1, 1, 1}}, the indices expect the vertex positions to be {{1, 1, 1}, {0, 0, 0}}.

4: Describes a single drawable unit of the mesh. It contains: A 4-byte material index, a 2-byte index base, a 2-byte triangle count, and 4 unknown bytes. If the material index is below 0, it should not be drawn.

Clone this wiki locally