---------------------------------------------
PROGRESS
.solid:
- Basic format of non-animated .solids is done
- First working converter is done: .x to .solid (works for specific meshes)
## RELEASE 0.2 ##
- Texture mapping works. Read this post for detailed instructions: http://wolfire.com/forum/viewtopic.php?p=54293#54293
- Weapons work perfectly fine! To find out how to make one, read this post
Dialogues:
Done, see here, search the forums
Campaigns:
Done, see here, search the forums
TODO
.solid:
- Format of animated .solids
All other assets (animations, skeletons, maps)
We'll start with the .solid format, simply because it is the simplest and most requested format.
A .solid file contains the description of a 3D model through its coordinates in 3D space, as one would expect.
I've analyzed the Box.solid, which contains the description for, what do you know, hold your breath, the box.
Turns out somebody from these forums actually got the format right:
I can show you that it is the correct format by posting a simple screenshot:zip wrote:Viking is still here, as am I :p
The format is:Code: Select all
short vertexNum; short TriangleNum; float vertex[i].x, vertex[i].y, vertex[i].z; //where i is 0 to vertexNum-1 int Triangles[i].vertex[0], Triangles[i].vertex[1], Triangles[i].vertex[2]; //where i is 0 to TriangleNum-1, and vertex[0] is the first vertex in the triangle, vertex[1] the second, and so on float Triangles[i].gx[0], Triangles[i].gx[1], Triangles[i].gx[2]; //where i is 0 to TriangleNum-1, and gx is the horizontal texture uv float Triangles[i].gy[0], Triangles[i].gy[1], Triangles[i].gy[2]; //where i is 0 to TriangleNum-1, and gy is the vertical texture uv
That is the hexadecimal representation of the bytes in the file.
The datatypes zip mentioned are spot-on, but whether or not it is the correct interpretation remains to be seen.
So writing a .solid converter is NOT magic, it's just tedious! I am in the process of doing this, but if somebody is faster than me (I have a life), go ahead and use this information. It should be enough data to write a simple parser / converter.
To get to a format that a lot of 3D apps understand and that is still similar, it's of course important to choose wisely.
My choice is Microsoft's X format (for Direct3D models). It is very similar and extremely well-known; practically every 3D modeling suite supports it.[/size]