Difference between revisions of "Juiced DAT"

From XentaxWiki
Jump to: navigation, search
(Notes and Comments)
(2 intermediate revisions by one other user not shown)
Line 26: Line 26:
 
<font color="blue"> ''' // Directory ''' </font> <br>  
 
<font color="blue"> ''' // Directory ''' </font> <br>  
 
: <font color="blue"> ''' // for each file ''' </font> <br>  
 
: <font color="blue"> ''' // for each file ''' </font> <br>  
:: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>  
+
:: uint32 {4}&nbsp;&nbsp; - File Hash<br>  
 
:: uint32 {4}&nbsp;&nbsp; - File Offset <br>  
 
:: uint32 {4}&nbsp;&nbsp; - File Offset <br>  
 
:: uint32 {4}&nbsp;&nbsp; - Number of File Parts <br>  
 
:: uint32 {4}&nbsp;&nbsp; - Number of File Parts <br>  
Line 42: Line 42:
 
* Files are compressed with ZLIB.
 
* Files are compressed with ZLIB.
 
* The files in the archive are in a different order to the files in the directory. eg File 1 in the directory may be File 523 in the archive.
 
* The files in the archive are in a different order to the files in the directory. eg File 1 in the directory may be File 523 in the archive.
 +
* Files are stored in sorted order of their original filenames, then in the directory entries are listed sorted by their file hash.
 
* Each file can have multiple compressed parts. Each part is described at each file offset. To determine how many parts there are in a file, go to the file offset and read the first field (firstPartOffset). Then do (firstPartOffset-fileOffset)/8 and you have the number of parts. (or you can just read the field in the directory!)
 
* Each file can have multiple compressed parts. Each part is described at each file offset. To determine how many parts there are in a file, go to the file offset and read the first field (firstPartOffset). Then do (firstPartOffset-fileOffset)/8 and you have the number of parts. (or you can just read the field in the directory!)
 +
* Directory Entries which have NULLs after File Offset appear to be folders.
 
<br><br>
 
<br><br>
  
Line 61: Line 63:
 
juiced_archive_ripper1.png
 
juiced_archive_ripper1.png
 
</gallery>
 
</gallery>
 +
<br><br>
  
  
 +
[[Category:Complete Complete|Juiced DAT]]
 +
[[Category:Platform PC|Juiced DAT]]
 +
[[Category:CE Compressed|Juiced DAT]]
 +
[[Category:Format_Archive | Type: Archive]]
 +
[[Category:Extension_dat | Extension: dat]]
 +
[[Category:BMS_None | BMS: None]]
 +
[[Category:ZLIB compression]]
 
[[Category:File Format]]
 
[[Category:File Format]]

Revision as of 02:11, 6 June 2021

Choose archive extension:

DAT


Format Specifications

uint32 {4}   - Number Of Files
uint32 {4}   - Directory Offset

// File Data

// for each file
// for each file part
uint32 {4}   - File Part Offset
uint32 {4}   - File Part Length


// for each file part
byte {X}     - File Part Data


// Directory

// for each file
uint32 {4}   - File Hash
uint32 {4}   - File Offset
uint32 {4}   - Number of File Parts
uint32 {4}   - Compressed File Size
uint32 {4}   - Decompressed File Size


MultiEx BMS Script

Not written yet

Notes and Comments

  • Files are compressed with ZLIB.
  • The files in the archive are in a different order to the files in the directory. eg File 1 in the directory may be File 523 in the archive.
  • Files are stored in sorted order of their original filenames, then in the directory entries are listed sorted by their file hash.
  • Each file can have multiple compressed parts. Each part is described at each file offset. To determine how many parts there are in a file, go to the file offset and read the first field (firstPartOffset). Then do (firstPartOffset-fileOffset)/8 and you have the number of parts. (or you can just read the field in the directory!)
  • Directory Entries which have NULLs after File Offset appear to be folders.



Compatible Programs


See Also

Gallery