GEO Files - Galaxy1036/AL-Assets-RE GitHub Wiki
.geo files are files who contains all information about the geometry of 3d models such as vertices & indices
<form tag="ROOT">
<form tag="GEOM">
<form tag="0000">
<form tag="PRIM">
<form tag="0002">
<chunk tag="SHDR"/>
<form tag="VBF ">
<chunk tag="0003"/>
</form>
<chunk tag="VRTX"/>
<chunk tag="INDX"/>
<chunk tag="BOX "/>
</form>
</form>
</form>
</form>
</form>
Note: The 0000 form can contains multiple PRIM forms, they all represents a 3d object.
VRTX chunk contains all informations about the vertices & probably more.
Data type | Purpose |
---|---|
UINT32 | Vertices block count |
Veritces block format:
Data type | Length | Purpose |
---|---|---|
binary16 | 2 | vertice x position |
binary16 | 2 | vertice y position |
binary16 | 2 | vertice z position |
binary16 | 2 | unknown, maybe normal x coord |
binary16 | 2 | unknown, maybe normal y coord |
binary16 | 2 | unknown, maybe normal z coord |
UINT32 | 4 | unknown, maybe RGBA8888 encoded vertice color, usually 0xFFFFFFFF |
binary16 | 2 | unknown, maybe texcoord s |
binary16 | 2 | unknown, maybe texcoord t |
INDX chunk contains all indices used to create the object mesh
Data type | Length | Purpose |
---|---|---|
UINT32 | 4 | Indices count |
List of binary16 | Indices count | Object indices |
SHDR chunk contains info about the shader file used for the 3d object
Data type | Purpose |
---|---|
STRING | Shader file path |
Probably describe a bounding box for the 3d object Note: Following uint32 are probably using big endian instead of little endian
Data type | Purpose |
---|---|
UINT32 | unknown, maybe upper left back x coordinate |
UINT32 | unknown, maybe upper left back y coordinate |
UINT32 | unknown, maybe upper left back z coordinate |
UINT32 | unknown, maybe box depth size |
UINT32 | unknown, maybe box length size |
UINT32 | unknown, maybe box height size |