pub struct Wdb2Header {Show 14 fields
pub magic: [u8; 4],
pub record_count: u32,
pub field_count: u32,
pub record_size: u32,
pub string_block_size: u32,
pub table_hash: u32,
pub build: u32,
pub timestamp: u32,
pub min_index: i32,
pub max_index: i32,
pub locale: i32,
pub copy_table_size: u32,
pub has_extended_header: bool,
pub index_array_size: u64,
}Expand description
WDB2 header (Cataclysm 4.0+)
The WDB2 format was introduced in Cataclysm and has two variants:
- Basic header (build <= 12880): 28 bytes
- Extended header (build > 12880): 48 bytes + optional index arrays
Reference: https://wowdev.wiki/DB2 Reference: TrinityCore DB2StorageLoader.cpp
Fields§
§magic: [u8; 4]The magic signature, should be “WDB2”
record_count: u32Number of records in the file
field_count: u32Number of fields in each record
record_size: u32Size of each record in bytes
string_block_size: u32Size of the string block in bytes
table_hash: u32Table hash
build: u32Build number
timestamp: u32Timestamp (only present in extended header)
min_index: i32Minimum ID in the file
max_index: i32Maximum ID in the file
locale: i32Locale flags
copy_table_size: u32Copy table size (unused in Cataclysm, always 0)
has_extended_header: boolWhether this header uses the extended format
index_array_size: u64Size of the index array section (to be skipped)
Implementations§
Source§impl Wdb2Header
impl Wdb2Header
Sourcepub const BASIC_SIZE: usize = 28
pub const BASIC_SIZE: usize = 28
The size of a basic WDB2 header in bytes (build <= 12880)
Sourcepub const EXTENDED_SIZE: usize = 48
pub const EXTENDED_SIZE: usize = 48
The size of an extended WDB2 header in bytes (build > 12880)
Sourcepub const EXTENDED_BUILD_THRESHOLD: u32 = 12880
pub const EXTENDED_BUILD_THRESHOLD: u32 = 12880
Build number threshold for extended header format
Sourcepub fn parse<R: Read + Seek>(reader: &mut R) -> Result<Self>
pub fn parse<R: Read + Seek>(reader: &mut R) -> Result<Self>
Parse a WDB2 header from a reader
This handles both the basic (build <= 12880) and extended (build > 12880) formats. For builds > 12880, also skips the index arrays if max_index != 0.
Sourcepub fn to_dbc_header(&self) -> DbcHeader
pub fn to_dbc_header(&self) -> DbcHeader
Convert to a standard DBC header
Sourcepub fn header_size(&self) -> u64
pub fn header_size(&self) -> u64
Calculates the size of the header including any index arrays
Sourcepub fn record_data_offset(&self) -> u64
pub fn record_data_offset(&self) -> u64
Calculates the offset to the record data
Sourcepub fn string_block_offset(&self) -> u64
pub fn string_block_offset(&self) -> u64
Calculates the offset to the string block
Sourcepub fn total_size(&self) -> u64
pub fn total_size(&self) -> u64
Calculates the total size of the WDB2 file
Trait Implementations§
Source§impl Clone for Wdb2Header
impl Clone for Wdb2Header
Source§fn clone(&self) -> Wdb2Header
fn clone(&self) -> Wdb2Header
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more