WoW:WDB file

From AddOn Studio
Jump to navigation Jump to search

WDB files (Warcraft DataBase files, or .wdb) are files created by World of Warcraft to cache data retrieved from its game servers.

WDB files regroup data downloaded in chunks. The data inside is ordered from first to last downloaded.

Header

The header is of 16 bytes for pre-1.6 files, and 20 bytes for post-BC files:

  • Signature : 4-bytes char signature
  • Build: 4 bytes int identifying the build
  • Locale: 4 bytes char identifying the locale, inversed (ie: SUne)
  • Unknown: Unknown 4 bytes int, added in 1.6 (maybe first compatible client build for this db version. to be veryfied)
  • Unknown: Unknown 4 bytes int, added in 1.6 (region code, to be veryfied)
  • Unknown: Unknown 4 bytes, added in 3.0.8.9464, always null

Signatures

Signatures, just like locales, are reversed in the header.

Signature File Stands for
BDIW Itemcache.wdb Warcraft Item Database
BDNW Itemnamecache.wdb Warcraft Item Name Database
BOGW Gameobjectcache.wdb Warcraft Game Object Database
BOMW Creaturecache.wdb Warcraft MOB Database
CPNW Npccache.wdb Warcraft NPC Database
NDRW Wowcache.wdb Warden Cache
TSQW Questcache.wdb Warcraft Quest Database
XTIW Itemtextcache.wdb Warcraft Item Text Database
XTPW Pagetextcache.wdb Warcraft Page Text Database

EntryLength

The EntryLength is the length in bytes of the cached row. It is always found in the second column and helps the game determinate corrupted cache entries as well as optimizing the reading process. Rows with an incorrect EntryLength are cleared on log in.

EOF

All WDB files end with 8 times \x00.