Resident Evil 3 DAT: Difference between revisions
Jump to navigation
Jump to search
imported>PmData (File data) |
imported>PmData m (Decryption + decompression must be applied per blocks) |
||
| Line 28: | Line 28: | ||
{{BlockDescription|// File data}} | {{BlockDescription|// File data}} | ||
: uint16 {1} - Relative offset to file content | : uint16 {1} - Relative offset to file content | ||
: uint16 {1} - Number of | : uint16 {1} - Number of blocks | ||
: uint32 {1} - Length in bytes of file content {{InlineComment|(length of decompressed file if compression is set)}} | : uint32 {1} - Length in bytes of file content {{InlineComment|(length of decompressed file if compression is set)}} | ||
: char {8} - XOR encrypted string {{InlineComment|Null padded string. The latest byte is the value to use to 'decrypt' the other bytes of this string using XOR. The string is either "NotComp\0" (non compressed file) or "Hi_Comp\0" (compressed file).}} | : char {8} - XOR encrypted string {{InlineComment|Null padded string. The latest byte is the value to use to 'decrypt' the other bytes of this string using XOR. The string is either "NotComp\0" (non compressed file) or "Hi_Comp\0" (compressed file).}} | ||
:{{BlockDescription|// Decryption data}} | :{{BlockDescription|// Decryption data}} | ||
::uint32 {number of | ::uint32 {number of blocks} - Start value for decryption | ||
::uint32 {number of | ::uint32 {number of blocks} - Length in bytes of a file block | ||
: byte {x} - Crypted and compressed file content {{InlineComment|To read the file content, decryption must be performed first | : byte {x} - Crypted and compressed file content {{InlineComment|To read the file content: for each block, decryption must be performed first, then optional decompression.}} | ||
}} | }} | ||
Revision as of 20:57, 25 May 2007
Back to index | Edit this page
DAT
- Format type: Archive
- Endianness: Little-endian
Format Specifications
// Header data
- uint32 {5} - Unknown1
- char {1} - Unknown2
- byte {x} - Top level directory filename (null padded)
- uint32 {1} - Absolute offset to subdirectory data (value read here must be multiplied by 8)
- uint32 {1} - Length in bytes of subdirectory data
- byte {x} - Subdirectory filename (null padded)
// Subdirectory data
- uint32 {5} - Number of files
- // For each file
- uint32 {1} - Absolute offset to file data (value read here must be multiplied by 8)
- uint32 {1} - Length in bytes of file data
- byte {x} - Filename (null padded)
// File data
- uint16 {1} - Relative offset to file content
- uint16 {1} - Number of blocks
- uint32 {1} - Length in bytes of file content (length of decompressed file if compression is set)
- char {8} - XOR encrypted string Null padded string. The latest byte is the value to use to 'decrypt' the other bytes of this string using XOR. The string is either "NotComp\0" (non compressed file) or "Hi_Comp\0" (compressed file).
- // Decryption data
- uint32 {number of blocks} - Start value for decryption
- uint32 {number of blocks} - Length in bytes of a file block
- byte {x} - Crypted and compressed file content To read the file content: for each block, decryption must be performed first, then optional decompression.
Notes and Comments
None
MultiEx BMS Script
Not written yet
Supported by Programs
None
Links
Decryption and decompression routines are available on the associated REwiki page.
Games
Resident Evil 3 (PC)
See Also
None