Hack64 Wiki
Other Titles
Hack64 Wiki
Other Titles
This is a format used for 3D models. It has the file extension .rnd
Note: This page contains incomplete information.
The header of the file takes up the first 0x40 bytes of the file.
Offset | #Bytes | Description |
---|---|---|
0x00 | 0x26 | String name of the file |
0x26 | 2 | |
0x28 | 2 | Number of points (Little Endian) |
0x2A | 2 | Number of vertices (LE) |
0x2C | 2 | Number of triangles (LE) |
0x2E | 2 | Number of materials (LE) |
0x30 | 0x10 |
Following the header are the points of the models. Each point is 6 bytes long.
Offset | #Bytes | Description |
---|---|---|
0x00 | 2 | X coordinate (signed short, LE) |
0x02 | 2 | Y coordinate (signed short, LE) |
0x04 | 2 | Z coordinate (signed short, LE) |
Following the points are the vertices. Each vertex is 10 bytes long.
Offset | #Bytes | Description |
---|---|---|
0x00 | 2 | U tex coordinate (0-255, LE) |
0x02 | 2 | V tex coordinate (0-255, LE) |
0x04 | 1 | Red color value (0-255) |
0x05 | 1 | Green color value (0-255) |
0x06 | 1 | Red color value (0-255) |
0x07 | 1 | Alpha? Not used? |
0x08 | 2 | Point ID (signed short, LE) |
Note: The UV coordinates are not in the N64's s10.5 format. To get the proper U/V value, you just simply divide by 255.
Following the vertices are the triangles. Each triangle is 8 bytes long.
Offset | #Bytes | Description |
---|---|---|
0x00 | 2 | Vertex 1 ID (LE) |
0x02 | 2 | Vertex 2 ID (LE) |
0x04 | 2 | Vertex 3 ID (LE) |
0x06 | 2 | Material ID (LE) |
Following the triangles are the materials. Every RND model must have at-least 1 material, even if it has to be a dummy material. Each material is 0x43 bytes long.
Offset | #Bytes | Description |
---|---|---|
0x00 | 0x20 | String name of the material |
0x20 | 4 | 4 character string name of the SHPN texture |
0x24 | 0x1F |
There are many other structures within the RND file that are currently not documented. Please update this page when new information is found.