Difference between revisions of "DARC"

(resolved...)
 
 
(4 intermediate revisions by 3 users not shown)
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
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)  
+
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' & '.')
 
if (offset & 0x01000000) then this is a folder (i.e. first two nodes 'null' & '.')
Line 46: Line 46:
 
|}
 
|}
  
  * Folder's length is the file count.
+
* Folder's length is end-index of the folder in the table.
 +
 
 +
=Tools=
 +
* [https://github.com/yellows8/darctool]

Latest revision as of 22:51, 21 November 2015

This page documents the format of DARC.

OverviewEdit

DARC files are archives. Containers of files.

This is very similiar to NARC (the DS archives).

ARC headerEdit

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 tableEdit

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.

ToolsEdit