DARC
This page documents the format of DARC.
Overview
DARC files are archives. Containers of files.
This is very similiar to NARC (the DS archives).
ARC header
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x000 | 4 | char[4] | Magic Number 'darc' |
| 0x004 | 2 | uint16 | Endianess (=0xFFFE: Little) |
| 0x006 | 2 | uint16 | Header's length |
| 0x008 | 4 | uint32 | Version |
| 0x00C | 4 | uint32 | File's length |
| 0x010 | 4 | uint32 | File table offset (from the beginning of the file) |
| 0x014 | 4 | uint32 | File table length |
| 0x018 | 4 | uint32 | Files data offset |
File table
The file table starts at 0x01C.
Each file struct consists of 3 uint32:
| Offset | Size | Type | Description |
|---|---|---|---|
| 0x000 | 4 | uint32 | File name offset (from the end of the table)
if (offset & 0x01000000) then this is a folder (i.e. first two nodes 'null' & '.') |
| 0x004 | 4 | uint32 | File offset |
| 0x008 | 4 | uint32 | File length |
- Folder's length is end-index of the folder in the table.