EvilEngine/GRSM
GRSM | |
---|---|
Grass Mesh | |
Type | Base |
Base Type | 0xCD |
Games used | The Incredibles |
Format
Grass Meshes are base assets, so they start with their 0x8 byte header, then are followed by:
zGrassMeshAsset
class zGrassMeshAsset : public xBaseAsset
{
public:
signed int numVertices;
signed int numFaces;
xVec3 min;
xVec3 max;
};
Offset | Type | Variable | Description |
---|---|---|---|
0x08 | s32 | numVertices | Amount of zGrassMeshVertex |
0x0C | s32 | numFaces | Amount of zGrassMeshFace |
0x10 | Vector3 | min | |
0x1C | Vector3 | max |
zGrassMeshVertex
class zGrassMeshVertex
{
public:
xVec3 position;
float height;
xVec3 normal;
unsigned char r;
unsigned char g;
unsigned char b;
unsigned char a;
};
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | Vector3 | position | |
0x0C | f32 | height | |
0x10 | Vector3 | normal | |
0x1C | Color | rgba |
zGrassMeshFace
class zGrassMeshFace
{
public:
unsigned short a;
unsigned short b;
unsigned short c;
};
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | u16 | a | |
0x02 | u16 | b | |
0x04 | u16 | c |