This is the specifications for the model file which is handled by the
Game Extractor plugin
Viewer_ZIP_PK_SCM_MODL.
Endian Order: | Little Endian |
Compression: | none |
Encryption: | None |
This format is used by the following Games:
Supreme Commander 2 | *.scm |
This is the format specification information:
| // HEADER
4 - Header (MODL)
4 - Unknown (5)
4 - Skeleton Offset [-4]
4 - Number of Skeletons
4 - Vertex List Offset [-4]
4 - null
4 - Number of Vertices
4 - Triangles Offset [-4]
4 - Number of Face Indexes (Number Of Triangles = value / 3)
4 - Information Block Offset [-4]
4 - Information Block Length [+4]
4 - Unknown (2)
12 - Padding to a multiple of 16 bytes, then remove 4 (all (byte) 197)
// NAME BLOCK
4 - Header (NAME)
X - Name Details
X - Padding to a multiple of 16 bytes, then remove 4 (all (byte) 197)
// SKELETON
4 - Header (SKEL)
// for each skeleton
108 - Unknown
X - Padding to a multiple of 16 bytes, then remove 4 (all (byte) 197)
// VERTEX LIST
4 - Header (VTXL)
// for each vertex (68 bytes per entry)
4 - X Position (float)
4 - Y Position (float)
4 - Z Position (float)
4 - X Normal (float)
4 - Y Normal (float)
4 - Z Normal (float)
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
4 - Texture U (float)
4 - Texture V (float)
4 - Unknown Float
4 - Unknown Float
4 - Unknown Float
X - Padding to a multiple of 16 bytes, then remove 4 (all (byte) 197)
// TRIANGLES
4 - Header (TRIS)
// for each triangle
2 - Face Index 1
2 - Face Index 2
2 - Face Index 3
X - Padding to a multiple of 16 bytes, then remove 4 (all (byte) 197)
// INFORMATION BLOCK
4 - Header (INFO)
X - File Information (author, timestamp, source filename, etc) |
Game Extractor is able to read files of this type, as well as files from thousands of other games. To give it a try, download
Game Extractor (Basic Version) for
free, and see what it can do.
For further information on this format, refer to the source code on our
GitHub repository.