Page 1 of 1

Shaiya SMOD, 3DO formats

Posted: Fri Jun 24, 2011 4:41 pm
by finale00
fatduck posted up shaiya's 3DC format, but I couldn't find anything about the SMOD of 3DO format although they are already supported by various programs.

It doesn't look too complicated so I thought I would take a shot at it and try to figure out the format on my own.

Comparing a couple SMOD's, seems like

-starts with 40 bytes of ???
-followed by the number of meshes (4 bytes)
-followed by the struct for each mesh

For each mesh, we have
-the length of the texture name, null-terminated
-the texture name itself
-the number of vertices
-[a bunch of floats] with some padding I think, don't know the format
-the number of faces, followed by a list of face vertices

And then another 28 bytes after all meshes are done.

I don't know how to figure out the format for the floats, but I'm guessing there's padding here and there.

Here's a sample "door.SMOD"

Image

Any techniques that would be useful? Tried looking for patterns, and found that

-it starts with 12 bytes before running into "00 00 80 3F"
-after "00 00 80 3F", there are 8 bytes (2 floats?)
-after "FF FF FF FF", there are 20 bytes (so 5 floats?)

This is consistent until we see the last FF FF FF FF, which is followed by 8 bytes before we get the number of faces.

But don't know if that can mean anything.

Re: Shaiya SMOD, 3DO formats

Posted: Sat Jun 25, 2011 11:13 am
by Karpati
float_3 CoordXYZ
float_3 NormalXYZ
float unknown
float_2 TexCoordUV

I note the V=1-Read_float

Re: Shaiya SMOD, 3DO formats

Posted: Sat Jun 25, 2011 3:51 pm
by finale00
ah, got it thanks.