Difference between revisions of "WDB"

From wowdev
Jump to navigation Jump to search
(Reconciled differences in repeated tables to result in a single, better table.)
 
Line 13: Line 13:
 
  0x04 uint32 Client Version - Version of the client (lo -> hi encoding)
 
  0x04 uint32 Client Version - Version of the client (lo -> hi encoding)
 
  0x08 char[4] Client Locale - The Locale of the client (reversed!) {{Template:Sandbox/VersionRange|min_expansionlevel=1|min_build=1.6.0}}
 
  0x08 char[4] Client Locale - The Locale of the client (reversed!) {{Template:Sandbox/VersionRange|min_expansionlevel=1|min_build=1.6.0}}
  0x0C uint32 Record Size - 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.
+
  0x0C uint32 Record Size - Size of the internal structure not of the file contents
 
  0x10 uint32 Record Version - A manually updated versioning field - except for WoWCache.wdb which is read from <code>WardenCachedModule::Version</code>
 
  0x10 uint32 Record Version - A manually updated versioning field - except for WoWCache.wdb which is read from <code>WardenCachedModule::Version</code>
 
  0x14 uint32 Cache Version - A packet based versioning field set via SMSG_CLIENTCACHE_VERSION {{Template:Sandbox/VersionRange|min_expansionlevel=3|min_build=3.0.8}}
 
  0x14 uint32 Cache Version - A packet based versioning field set via SMSG_CLIENTCACHE_VERSION {{Template:Sandbox/VersionRange|min_expansionlevel=3|min_build=3.0.8}}

Latest revision as of 14:42, 23 November 2020

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 (reversed!)
0x04 	uint32 		Client Version - Version of the client (lo -> hi encoding)
0x08 	char[4] 	Client Locale - The Locale of the client (reversed!) ≥ Vanilla (1.6.0)
0x0C 	uint32 		Record Size - Size of the internal structure not of the file contents
0x10 	uint32 		Record Version - A manually updated versioning field - except for WoWCache.wdb which is read from WardenCachedModule::Version
0x14 	uint32 		Cache Version - A packet based versioning field set via SMSG_CLIENTCACHE_VERSION ≥ Wrath (3.0.8)

WDB files

File 			Signature 
ArenaTeamCache.wdb         WATM       Wrath … Cata
BattlePetNameCache.wdb     WBPN       Mists … WoD Not seen > 6.2.4
CreatureCache.wdb          WMOB 
DanceCache.wdb             WDAN       Wrath … Cata
GameObjectCache.wdb        WGOB 
GuildStatsCache.wdb        WGLD
ItemCache.wdb              WIDB       ≤ Wrath
ItemNameCache.wdb          WNDB       ≤ Wrath
ItemTextCache.wdb          WITX 
NameCache.wdb              WNAM
NPCCache.wdb               WNPC 
PageTextCache.wdb          WPTX 
PetitionCache.wdb          WPTN
PetNameCache.wdb           WPNM
QuestCache.wdb             WQST 
RealmCache.wdb             WRLM       Mists … WoD (6.0.1.18179) Not seen ≥ 6.2.3
WOWCache.wdb               WRDN