Enter The Matrix DCX

From XentaxWiki
Jump to: navigation, search

DCX


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

Compatible Programs