Juiced DAT: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
 
(23 intermediate revisions by 2 users 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 40: Line 40:
=== Notes and Comments ===  
=== Notes and Comments ===  


* Files are ZLib compressed?
* 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 48: Line 50:


* [[Game Extractor|Game Extractor]]
* [[Game Extractor|Game Extractor]]
* Offzip
* [https://github.com/Ekey/JCED.DAT.Tool JCED.DAT.Tool / JCED.Unpacker (+ source code)]
* [http://www.nfsunlimited.net/forum/download/file.php?id=15182&sid=285bb9d37ef4d4bc42c922bd3e000853 Juiced Archive Ripper (JAR)]
* [https://drive.google.com/file/d/1vH2PiGGvRKZ3ubqVnREoWDZcAEK0x_ak/view?usp=sharing Juiced UnDAT]
* [https://aluigi.altervista.org/mytoolz.htm#offzip Offzip]
<br>
<br>


=== See Also ===


* [https://discord.gg/pu2jdxR Juiced Modding Discord]
* [https://github.com/Ekey/JCED.DAT.Tool/blob/main/JCED.Unpacker/JCED.Unpacker/Projects/FileNames.list Filenames for Juiced DAT archives]
* [https://github.com/Ekey/JCED.DAT.Tool/blob/main/JCED.Unpacker/JCED.Unpacker/FileSystem/Package/DatHash.cs Juiced hash function implementation]
==Gallery==
<gallery bordercolor="transparent" spacing="small" orientation="landscape">
juiced_archive_ripper1.png
</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]]

Latest revision as of 21:12, 3 December 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