Difference between revisions of "BCSV"

From Deep Sea Knowledge
Jump to navigation Jump to search
(Offsets)
(Updated header offset info)
Line 1: Line 1:
Information on BCSV files found in ACNH
+
Information on BCSV files
 +
 
 +
All information is from Animal Crossing: New Horizons
  
 
== General ==
 
== General ==
Line 28: Line 30:
 
== Offsets ==
 
== Offsets ==
  
Offsets in the header seem to be made up of two fields
+
Offsets in the header are made up of two fields
  
 
{|class="wikitable"
 
{|class="wikitable"
Line 34: Line 36:
 
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x00 || 0x4 || Unknown data
+
| 0x00 || 0x4 || Data identifier
 
|-
 
|-
 
| 0x04 || 0x4 || Offset relative to content block
 
| 0x04 || 0x4 || Offset relative to content block
 
|}
 
|}
  
The unknown data seems to tell the parser what type of data is stored at what offset. The only common identifier currently known is '''0x54607054''', which seems to always point to a uint16 that increments per content block
+
The data identifier determines what type of data the offset is pointing to. The meaning behind each identifier seems to rely on the context of the files content, generally, with only a small number of identifiers being reused in multiple files. In AC:NH there is a total 2048 unique identifiers, with only 191 being reused in multiple files. For a list of all identifiers in AC:NH and the files they are used in, see here https://pastebin.com/KnbnD1r8
  
 
== Content Block ==
 
== Content Block ==

Revision as of 04:23, 29 March 2020

Information on BCSV files

All information is from Animal Crossing: New Horizons

General

BCSV files contain a list of content blocks. The header contains metadata for each content block

Header

Offset Size Description
0x00 0x4 Number of content blocks
0x04 0x4 Content block size
0x08 0x2 Number of offsets
0x0A 0x2 Always 0x0101
0x0C 0x4 VSCB Magic
0x10 0xC Unknown
0x1C 0x8*Number of offsets Offset list

Offsets

Offsets in the header are made up of two fields

Offset Size Description
0x00 0x4 Data identifier
0x04 0x4 Offset relative to content block

The data identifier determines what type of data the offset is pointing to. The meaning behind each identifier seems to rely on the context of the files content, generally, with only a small number of identifiers being reused in multiple files. In AC:NH there is a total 2048 unique identifiers, with only 191 being reused in multiple files. For a list of all identifiers in AC:NH and the files they are used in, see here https://pastebin.com/KnbnD1r8

Content Block

Content blocks always begin with their offset relative to the file start, and then contain the blocks data

Offset Size Description
0x00 0x4 Offset relative to file start
0x04 Content block data