WDB: Difference between revisions
Jump to navigation
Jump to search
Barncastle (talk | contribs) mNo edit summary |
Barncastle (talk | contribs) m (→Header) |
||
Line 21: | Line 21: | ||
1 Signature String 4-byte string identifying the file (reversed!) | 1 Signature String 4-byte string identifying the file (reversed!) | ||
2 Client Version Integer 4-byte integer identifying the client version | 2 Client Version Integer 4-byte integer identifying the client version | ||
3 Language String 4-byte string identifying the language (reversed!) {{Template:Sandbox/VersionRange|min_expansionlevel=1}} | 3 Language String 4-byte string identifying the language (reversed!) {{Template:Sandbox/VersionRange|min_expansionlevel=1|min_build=1.6.0}} | ||
4 | 4 Record Size Integer Something to do with row length, there is no consistent way of retrieving it as of yet. | ||
In Alpha this is row length with strings treated as 4 bytes. | In Alpha this is row length with strings treated as 4 bytes. | ||
5 | 5 Record Version Integer A manually updated versioning field - except for WoWCache.wdb which is read from <code>WardenCachedModule::Version</code> | ||
As of 'Cache Version' this is only validated by the client for WoWCache.wdb | |||
6 Cache Version Integer 4-bytes A packet based versioning field set via SMSG_CLIENTCACHE_VERSION {{Template:Sandbox/VersionRange|min_expansionlevel=3|min_build=3.0.8}} | |||
== WDB files == | == WDB files == |
Revision as of 18:22, 20 January 2018
The WDB files are found inside the WDB folder. The client caches data it receives from the server. This is mainly done to reduce network traffic.
Not all WDB caches are saved to disk. This is defined in the client by the DBCache's constructor which contains a persistent parameter.
Header
- WDB files < 1.6: Header length is 16 bytes
- WDB files >=1.6: Header length is 20 bytes (Verified till 1.9.4)
- WDB files >=3.0.8-9506: Header length is 24 bytes
Offset Type Description 0x00 char[4] Identifier, depends on the WDB file, will be explained later 0x04 uint32 Client Version - Version of the client (lo -> hi encoding) 0x08 char[4] Client Local - The Locale of the client 0x0C ???? 4 bytes unknown 0x10 ???? 4 bytes unknown 0x15 ???? 4 bytes unknown (Beginning with version 1.6 and later) 0x18 ???? 4 bytes unknown (Beginning with version 3.0.8-9506 )
Column Field Type Notes
1 Signature String 4-byte string identifying the file (reversed!)
2 Client Version Integer 4-byte integer identifying the client version
3 Language String 4-byte string identifying the language (reversed!) ≥ (1.6.0)
4 Record Size Integer Something to do with row length, there is no consistent way of retrieving it as of yet.
In Alpha this is row length with strings treated as 4 bytes.
5 Record Version Integer A manually updated versioning field - except for WoWCache.wdb which is read from WardenCachedModule::Version
As of 'Cache Version' this is only validated by the client for WoWCache.wdb
6 Cache Version Integer 4-bytes A packet based versioning field set via SMSG_CLIENTCACHE_VERSION ≥ (3.0.8)
WDB files
File Signature ArenaTeamCache.wdb WATM … BattlePetNameCache.wdb WBPN … Not seen > 6.2.4ᵘ CreatureCache.wdb WMOB DanceCache.wdb WDAN … GameObjectCache.wdb WGOB GuildStatsCache.wdb WGLD ItemCache.wdb WIDB ≤ ItemNameCache.wdb WNDB ≤ ItemTextCache.wdb WITX NameCache.wdb WNAM NPCCache.wdb WNPC PageTextCache.wdb WPTX PetitionCache.wdb WPTN PetNameCache.wdb WPNM QuestCache.wdb WQST RealmCache.wdb WRLM … (6.0.1.18179) Not seen ≥ 6.2.3ᵘ WOWCache.wdb WRDN