Line 3:
Line 3:
Here is what is known of the structure for the header:
Here is what is known of the structure for the header:
<pre>
<pre>
−
typedef struct {
+
typedef struct{
−
// All offsets are from 0x20
+
−
u32 head;
+
// all offsets are from 0x20
−
u32 version;
+
u32 head;
−
u32 file_size;
+
u32 version;
−
u8 unk[0x14];
+
u32 file_size;
−
u8 unk2[0x10];
+
u8 unk[0x14];
−
u32 unk3;
+
u32 unk10;
−
u32 unk4;
+
u32 unk20;
−
u32 unk5;
+
u32 unk30;
−
u32 unk6;
+
// first data section size
−
// Table 1 is made up of 8 byte chunks
+
u32 fds_size;
−
u32 table1_count;
+
// first data section offset from start of file
−
u32 table1_offset;
+
u32 fds_offset;
−
// Table 2 is the method name list
+
u32 table4_count;
−
u32 table2_count;
+
u32 unk5;
−
u32 table2_offset;
+
u32 unk6;
−
// Table 3 is a string literal table
+
//table 1 is made up of 8 byte chunks
−
// Each string is in utf-16 and ends with 0x00240020 (.$. )
+
u32 table1_count;
−
u32 table3_count;
+
u32 table1_offset;
−
u32 table3_offset;
+
//table2 is the method name list
−
// Possibly unused table?
+
u32 table2_count;
−
u32 unk7;
+
u32 table2_offset;
−
u32 unk8;
+
//table3 is a string literal table, each string is in utf-8 and ended with 0x00240020 (.$. )
−
+
u32 table3_count;
−
u32 unknown_count_mybe;
+
u32 table3_offset;
−
u32 unknown_offset;
+
//possibly unused table
+
u32 unk7;
+
u32 unk8;
+
+
u32 table4_offset;
+
u32 unk9_offset;
+
+
} bacs_header;
} bacs_header;
−
typedef struct {
typedef struct {
u8 length;
u8 length;