Changes

559 bytes added ,  02:25, 31 October 2018
Line 86: Line 86:  
STRG contains the names of the audio files in the BCSAR.
 
STRG contains the names of the audio files in the BCSAR.
   −
Header:
+
==== Header ====
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 101: Line 101:  
|  0x4
 
|  0x4
 
|  Length of STRG partition (also in CSAR header)
 
|  Length of STRG partition (also in CSAR header)
 +
|-
 +
|  0x8
 +
|  0x4
 +
|  Version? (always 0x2400)
 +
|-
 +
|  0xC
 +
|  0x4
 +
|  Offset to root node (always 0x10)
 +
|-
 +
|  0x10
 +
|  0x4
 +
|  Root node type (always 0x2401)
 +
|-
 +
|  0x14
 +
|  0x4
 +
|  This + 8 points to some kind of descriptor table
 
|-
 
|-
 
|  0x18
 
|  0x18
Line 108: Line 124:  
|}
 
|}
   −
Then for each name:
+
==== Node struct ====
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 118: Line 134:  
|  0x0
 
|  0x0
 
|  0x4
 
|  0x4
|  Type of the file...?
+
|  Type of the node?
 
|-
 
|-
 
|  0x4
 
|  0x4
 
|  0x4
 
|  0x4
|  Offset of the filename...?
+
|  Offset to node data?
 
|-
 
|-
 
|  0x8
 
|  0x8
 
|  0x4
 
|  0x4
Size of the filename
+
Length of some data based on node type
 
|-
 
|-
 
|}
 
|}
 +
 +
==== Nodes ====
 +
 +
===== Root node (0x2401) =====
 +
* Offset + 8 points to some unknown data.
 +
* Length specifies how many nodes after this node belong to this node.
 +
 +
===== File node(?) (0x1F01) =====
 +
* Offset + 0x18 points to the file's name
 +
* Length specifies the file name buffer size, including the NUL terminator.
 +
 +
 
Then every filename is rawly setted. You can set up a dictionary that contains, using a simple counter, the size of every filename in order. Then, using the same type of counter, get the values of the size of the filename in a correct order.
 
Then every filename is rawly setted. You can set up a dictionary that contains, using a simple counter, the size of every filename in order. Then, using the same type of counter, get the values of the size of the filename in a correct order.
 +
 
=== INFO ===
 
=== INFO ===
  
Trusted
225

edits