Difference between revisions of "DARC"

From 3dbrew
Jump to navigation Jump to search
(resolved...)
 
(→‎File table: not true)
Line 37: Line 37:
 
!  Offset !!  Size !! Type !!  Description
 
!  Offset !!  Size !! Type !!  Description
 
|-
 
|-
|  0x00C || 4 || uint32 || File name offset (from the end of the table, padded to 0x10)  
+
|  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' & '.')
 
if (offset & 0x01000000) then this is a folder (i.e. first two nodes 'null' & '.')

Revision as of 13:44, 30 November 2012

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 Unknown (= 0x01000000 ?)
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.