Difference between revisions of "Enter The Matrix DCX"

From XentaxWiki
Jump to: navigation, search
(Format Specifications)
(Compatible Programs)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== DCX ==  
 
== DCX ==  
 
+
* ''' Game ''':    [[Enter the Matrix]] <br>
 
* ''' Format Type ''':    Archive <br>  
 
* ''' Format Type ''':    Archive <br>  
 
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>  
 
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>  
Line 10: Line 10:
 
uint32 {4}&nbsp;&nbsp; - null <br>  
 
uint32 {4}&nbsp;&nbsp; - null <br>  
 
char {16}&nbsp;&nbsp;&nbsp; - Filename <font color="purple">(null)</font> <br>  
 
char {16}&nbsp;&nbsp;&nbsp; - Filename <font color="purple">(null)</font> <br>  
byte {16}&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
+
float {4}&nbsp;&nbsp;&nbsp; - =1.0<br>
 +
byte {4}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>
 +
uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown Count1 '' </font> <br>
 +
byte {4}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
 
uint32 {4}&nbsp;&nbsp; - Number Of Bones <br>  
 
uint32 {4}&nbsp;&nbsp; - Number Of Bones <br>  
 
byte {4}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
 
byte {4}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
 
uint32 {4}&nbsp;&nbsp; - Number Of Textrure Files <br>  
 
uint32 {4}&nbsp;&nbsp; - Number Of Textrure Files <br>  
byte {48}&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
+
byte {4}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>
 +
uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown Count2 '' </font> <br>
 +
byte {4}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>
 +
uint32 {4}&nbsp;&nbsp; - null<br>
 +
uint32 {4}&nbsp;&nbsp; - Number Of Mesh<br>
 +
uint32 {4}&nbsp;&nbsp; - =256<br>
 +
byte {8}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font><br>
 +
uint32 {4}&nbsp;&nbsp; - Number Of SubMeshes In Each Mesh. Often: 1 - LowPoly<br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 - MiddlePoly 3 - HighPoly Models<br>
 +
uint32 {4}&nbsp;&nbsp; - null<br>
 +
float {4}&nbsp;&nbsp;&nbsp; - Always = 0 except one file SorenTestAgentSmith.dcx = 90.0<br>
 +
uint32 {4}&nbsp;&nbsp; - null<br>
 +
<br>  
 
<br>
 
<br>
 +
 
<font color="blue"> ''' // for each textrure file ''' </font> <br>  
 
<font color="blue"> ''' // for each textrure file ''' </font> <br>  
 
: char {32}&nbsp;&nbsp;&nbsp; - Filename <font color="purple">(null)</font> <br>  
 
: char {32}&nbsp;&nbsp;&nbsp; - Filename <font color="purple">(null)</font> <br>  
 
: uint32 {4}&nbsp;&nbsp; - Texture Width <br>  
 
: uint32 {4}&nbsp;&nbsp; - Texture Width <br>  
 
: uint32 {4}&nbsp;&nbsp; - Texture Height <br>  
 
: uint32 {4}&nbsp;&nbsp; - Texture Height <br>  
: uint32 {4}&nbsp;&nbsp; - Compression type ( =5 or =105 - DTX5 else DTX1 )<br>  
+
: uint32 {4}&nbsp;&nbsp; - Compression type ( =5h or =105h - DXT5 else DXT1 )<br>  
 
: uint32 {4}&nbsp;&nbsp; - File Size <br>  
 
: uint32 {4}&nbsp;&nbsp; - File Size <br>  
 
: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' File ID or Timestamp? '' </font> <br>  
 
: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' File ID or Timestamp? '' </font> <br>  
Line 28: Line 44:
 
byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - Texture File Data. One by one for each file.<br>  
 
byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - Texture File Data. One by one for each file.<br>  
 
<br>  
 
<br>  
 +
 
<font color="blue"> ''' // for each bone ''' </font> <br>  
 
<font color="blue"> ''' // for each bone ''' </font> <br>  
 
: char {32}&nbsp;&nbsp;&nbsp; - Bonename <font color="purple">(null)</font> <br>  
 
: char {32}&nbsp;&nbsp;&nbsp; - Bonename <font color="purple">(null)</font> <br>  
 
: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Child bones count? ''</font><br>  
 
: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Child bones count? ''</font><br>  
: byte {38}&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknonw ''</font><br>  
+
: 3 uint32 {4} - <font color="red"> '' Unknown ''</font><br>
 +
: 6 float {4}&nbsp; - <font color="red"> '' Unknown ''</font><br>
 +
<br>
 +
 
 +
byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown data 1. Size of that block depends on Count1, Count2, Number of Mesh and Number Of Bones. What is it?''</font><br>
 +
<br>  
  
 +
<font color="blue"> ''' // for each mesh ''' </font> <br>
 +
: char {32}&nbsp;&nbsp;&nbsp; - Meshname <font color="purple">(null)</font> <br>
 +
:byte {12}&nbsp;&nbsp;&nbsp; - <font color="red"> '' Unknown ''</font><br>
 +
: uint32 {4}&nbsp;&nbsp; - Mesh Data Size <br>
 +
 +
byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - Mesh data<br>
 
</b></tt>
 
</b></tt>
  
Line 46: Line 74:
  
 
* [[Game Extractor|Game Extractor]]<br>
 
* [[Game Extractor|Game Extractor]]<br>
 +
 +
 +
[[Category:Complete WIP|Enter The Matrix DCX]]
 +
[[Category:Platform PC|Enter The Matrix DCX]]
 +
[[Category:CE None|Enter The Matrix DCX]]
 +
[[Category:Format_Archive | Type: Archive]]
 +
[[Category:Extension_dcx | Extension: dcx]]
 +
[[Category:BMS_None | BMS: None]]
 +
[[Category:File Format]]

Latest revision as of 15:20, 22 November 2020

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