-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathdb6_shitty.bt
37 lines (36 loc) · 2 KB
/
db6_shitty.bt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//------------------------------------------------
//--- 010 Editor v7.0.2 Binary Template
//
// File:
// Authors:
// Version:
// Purpose:
// Category:
// File Mask:
// ID Bytes:
// History:
//------------------------------------------------
typedef uint uint32_t;
typedef unsigned short uint16_t;
uint32_t magic; // 'WDB6' for .db2 (database)
uint32_t record_count;
uint32_t field_count; // for the first time, this counts arrays as '1'; in the past, only the WCH* variants have counted arrays as 1 field
uint32_t record_size;
uint32_t string_table_size; // if flags & 0x01 != 0, this field takes on a new meaning - it becomes an absolute offset to the beginning of the offset_map
uint32_t table_hash;
uint32_t layout_hash; // used to be 'build', but after build 21737, this is a new hash field that changes only when the structure of the data changes
uint32_t min_id;
uint32_t max_id;
uint32_t locale; // as seen in TextWowEnum
uint32_t copy_table_size;
uint16_t flags; // in WDB3/WCH4, this field was in the WoW executable's DBCMeta; possible values are listed in Known Flag Meanings
uint16_t id_index; // new in WDB5 (and only after build 21737), this is the index of the field containing ID values; this is ignored if flags & 0x04 != 0
uint32_t total_field_count; // new in WDB6, includes columns only expressed in the 'common_data_table', unlike field_count
uint32_t common_data_table_size; // new in WDB6, size of new block called 'common_data_table'
uint32_t field_struct[field_count];
struct record{
uint32_t spell[10];
char unk[0x30-40];
} records[record_count];
char strings[string_table_size];
uint32_t ids[record_count];