Difference between revisions of "DARC"

From 3dbrew
Jump to navigation Jump to search
(→‎File table: not true)
m
Line 18: Line 18:
 
|  0x006 || 2 || uint16 || Header's length
 
|  0x006 || 2 || uint16 || Header's length
 
|-
 
|-
|  0x008 || 4 || uint32 || Unknown (= 0x01000000 ?)
+
|  0x008 || 4 || uint32 || Version
 
|-
 
|-
 
|  0x00C || 4 || uint32 || File's length
 
|  0x00C || 4 || uint32 || File's length

Revision as of 15:19, 23 January 2015

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
0x00C 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 the file count.