Cyberpunk 2077:Archive File Format: Difference between revisions
From Modding Wiki
Jump to navigationJump to search
Created page with "==File Structure== {| class="wikitable" width="100%" ! width="20%" | Name ! width="20%" | Type/Size ! width="60%" | Info |- | Header || Header || See specification of Header below. |} ===Header=== {| class="wikitable" style="width:100%" ! width="20%" | Name ! width="20%" | Type/Size ! width="60%" | Info |- | fileId || char[4] || Constant: "RDAR" |- | version || uint32 || Currently 12 (0x0C) |- | indexOffset || uint64 || Offset of beginning of fil..." |
mNo edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 28: | Line 28: | ||
| fileSize || uint64 || Size of file (excluding fileSize) | | fileSize || uint64 || Size of file (excluding fileSize) | ||
|- | |- | ||
| customDataLength || uint32 || WolvenKit only | | customDataLength || uint32 || When > 0: WolvenKit only. See [[#Extended Header|Extended Header]] | ||
|} | |||
===Extended Header=== | |||
{| class="wikitable" style="width:100%" | |||
! width="20%" | Name | |||
! width="20%" | Type/Size | |||
! width="60%" | Info | |||
|- | |||
| fileId || char[4] || Constant: "LXRS" | |||
|- | |||
| version || uint32 || Currently 1 (0x01) | |||
|- | |||
| size || int32 || Size of data | |||
|- | |||
| zSize || int32 || Size of compressed data | |||
|- | |||
| count || int32 || Number of entries in data | |||
|- | |||
| customData || buffer || Oodle compressed buffer of NullTerminated file paths | |||
|} | |||
===File Index List=== | |||
{| class="wikitable" style="width:100%" | |||
! width="20%" | Name | |||
! width="20%" | Type/Size | |||
! width="60%" | Info | |||
|- | |||
| fileTableOffset || uint32 || TODO | |||
|- | |||
| fileTableSize || uint32 || TODO | |||
|- | |||
| crc || uint64 || TODO | |||
|- | |||
| fileEntryCount || uint32 || TODO | |||
|- | |||
| fileSegmentCount || uint32 || TODO | |||
|- | |||
| resourceDependencyCount || uint32 || TODO | |||
|- | |||
| files || [[#File Entry|File Entry]][fileEntryCount] || TODO | |||
|- | |||
| fileSegments || [[#File Segment|File Segment]][fileSegmentCount] || TODO | |||
|- | |||
| resourceDependencies || uint64[resourceDependencyCount] || TODO | |||
|} | |||
===File Entry=== | |||
{| class="wikitable" style="width:100%" | |||
! width="20%" | Name | |||
! width="20%" | Type/Size | |||
! width="60%" | Info | |||
|- | |||
| nameHash || uint64 || FNV1A64 hash of the filename | |||
|- | |||
| timestamp || int64 || TODO | |||
|- | |||
| numInlineBufferSegments || uint32 || TODO | |||
|- | |||
| segmentStart || uint32 || TODO | |||
|- | |||
| segmentEnd || uint32 || TODO | |||
|- | |||
| resourceDependencyStart || uint32 || TODO | |||
|- | |||
| resourceDependencyEnd || uint32 || TODO | |||
|- | |||
| checksum || uint8[20] || SHA1 hash | |||
|} | |||
===File Segment=== | |||
{| class="wikitable" style="width:100%" | |||
! width="20%" | Name | |||
! width="20%" | Type/Size | |||
! width="60%" | Info | |||
|- | |||
| offset || uint64 || TODO | |||
|- | |||
| zSize || uint32 || Size of compressed data | |||
|- | |||
| size || uint32 || Size of data | |||
|} | |} | ||
Latest revision as of 08:30, 7 October 2024
File Structure
| Name | Type/Size | Info |
|---|---|---|
| Header | Header | See specification of Header below. |
Header
| Name | Type/Size | Info |
|---|---|---|
| fileId | char[4] | Constant: "RDAR" |
| version | uint32 | Currently 12 (0x0C) |
| indexOffset | uint64 | Offset of beginning of file list |
| indexSize | uint32 | Size of the file list |
| debugOffset | uint64 | Always 0 |
| debugSize | uint32 | Always 0 |
| fileSize | uint64 | Size of file (excluding fileSize) |
| customDataLength | uint32 | When > 0: WolvenKit only. See Extended Header |
Extended Header
| Name | Type/Size | Info |
|---|---|---|
| fileId | char[4] | Constant: "LXRS" |
| version | uint32 | Currently 1 (0x01) |
| size | int32 | Size of data |
| zSize | int32 | Size of compressed data |
| count | int32 | Number of entries in data |
| customData | buffer | Oodle compressed buffer of NullTerminated file paths |
File Index List
| Name | Type/Size | Info |
|---|---|---|
| fileTableOffset | uint32 | TODO |
| fileTableSize | uint32 | TODO |
| crc | uint64 | TODO |
| fileEntryCount | uint32 | TODO |
| fileSegmentCount | uint32 | TODO |
| resourceDependencyCount | uint32 | TODO |
| files | File Entry[fileEntryCount] | TODO |
| fileSegments | File Segment[fileSegmentCount] | TODO |
| resourceDependencies | uint64[resourceDependencyCount] | TODO |
File Entry
| Name | Type/Size | Info |
|---|---|---|
| nameHash | uint64 | FNV1A64 hash of the filename |
| timestamp | int64 | TODO |
| numInlineBufferSegments | uint32 | TODO |
| segmentStart | uint32 | TODO |
| segmentEnd | uint32 | TODO |
| resourceDependencyStart | uint32 | TODO |
| resourceDependencyEnd | uint32 | TODO |
| checksum | uint8[20] | SHA1 hash |
File Segment
| Name | Type/Size | Info |
|---|---|---|
| offset | uint64 | TODO |
| zSize | uint32 | Size of compressed data |
| size | uint32 | Size of data |