Enter The Matrix DCX
Contents
DCX
- Game : Enter the Matrix
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
uint32 {4} - null
char {16} - Filename (null)
float {4} - =1.0
byte {4} - Unknown
uint32 {4} - Unknown Count1
byte {4} - Unknown
uint32 {4} - Number Of Bones
byte {4} - Unknown
uint32 {4} - Number Of Textrure Files
byte {4} - Unknown
uint32 {4} - Unknown Count2
byte {4} - Unknown
uint32 {4} - null
uint32 {4} - Number Of Mesh
uint32 {4} - =256
byte {8} - Unknown
uint32 {4} - Number Of SubMeshes In Each Mesh. Often: 1 - LowPoly
2 - MiddlePoly 3 - HighPoly Models
uint32 {4} - null
float {4} - Always = 0 except one file SorenTestAgentSmith.dcx = 90.0
uint32 {4} - null
// for each textrure file
- char {32} - Filename (null)
- uint32 {4} - Texture Width
- uint32 {4} - Texture Height
- uint32 {4} - Compression type ( =5h or =105h - DXT5 else DXT1 )
- uint32 {4} - File Size
- uint32 {4} - File ID or Timestamp?
- byte {8} - null
- uint32 {4} - Unknown. Often 0 or CDCDCDCDh. Transparency ?
byte {X} - Texture File Data. One by one for each file.
// for each bone
- char {32} - Bonename (null)
- uint32 {4} - Child bones count?
- 3 uint32 {4} - Unknown
- 6 float {4} - Unknown
byte {X} - Unknown data 1. Size of that block depends on Count1, Count2, Number of Mesh and Number Of Bones. What is it?
// for each mesh
- char {32} - Meshname (null)
- byte {12} - Unknown
- uint32 {4} - Mesh Data Size
byte {X} - Mesh data
MultiEx BMS Script
Not written yet
Notes and Comments
If a filename is too long to fit in the 32-bytes allocated for it, it is cut off at 32 bytes