WDB: Difference between revisions

From wowdev
Jump to navigation Jump to search
(New page: = WDB files = 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. == Header == WDB file...)
 
mNo edit summary
Line 1: Line 1:
= WDB files =
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.
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.


== Header ==
== 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 < 1.6: Header length is 16 bytes
WDB files >=1.6: Header length is 20 bytes (Verified till 1.9.4)
  '''Offset Type Description'''
  '''Offset Type Description'''
  0x00 char[4] Identifier, depends on the WDB file, will be explained later
  0x00 char[4] Identifier, depends on the WDB file, will be explained later
Line 20: Line 14:
  0x15 ???? 4 bytes unknown (Beginning with version 1.6 and later)
  0x15 ???? 4 bytes unknown (Beginning with version 1.6 and later)


'''Column Field Type Notes'''
1 Signature String 4-byte string identifying the file (reversed!)
2 Version Integer 4-byte integer identifying the client version
3 Language String 4-byte string identifying the language (reversed!)
4 Row Length Integer Something to do with row length, there is no consistent way of retrieving it as of yet.
5 Unknown Integer 4-bytes


== Known WDB files ==
== WDB files ==
 
 
Depending on the client/server version, the WDB folder contains the following files:
 
    * creaturecache.wdb
    * gameobjectcache.wdb
    * itemcache.wdb
    * itemnamecache.wdb
    * itemtextcaxhe.wdb
    * npccache.wdb
    * pagetextcache.wdb
    * questcache.wdb
    * wowcache.wdb (Since 1.8.x)
 
 
Header explained
 
 
== Identifier ==
 
 
Every WDB file contains a unique identifier (first 4 bytes):
 
* "BOGW" (42 4F 47 57) - gameobjectcache.wdb
* "BOMW" (42 4F 4D 57) - creaturecache.wdb
* "BDIW" (42 44 49 57) - itemcache.wdb
* "BDNW" (42 44 4E 57) - itemnamecache.wdb
* "XTIW" (58 54 49 57) - itemtextcaxhe.wdb
* "CPNW" (43 50 4E 57) - npccache.wdb
* "XTPW" (58 54 50 57) - pagetextcache.wdb
* "TSQW" (54 53 51 57) - questcache.wdb
* "NDRW" (4E 44 52 57) - wowcache.wdb
 
 
 
== Version number ==
 
 
Next four bytes identify the version of the WoW client: (To verify your wow.exe do a right mouse click and select "Properties")
'''Official version build number hex string (format inside WDB: low -> high)'''
1.2.3 4211 1073
1.2.4 4222 107E
1.3.0 4284 10BC
1.3.1 4297 10C9
1.4.0 4341 10F5
1.4.1 ????
1.4.2 4375 1117
1.4.3 4413 113D
1.5.0 ????
1.5.1 4449 1161
1.6.0 4500 1194
1.6.1 4544 11C0
1.7.0 4671 123F
1.7.1 4695 1257
1.8.0 4735 127F
1.8.1 4769 12A1
1.8.2 4784 12B0
1.8.3 4807 12C7
1.8.4 4878 130E
1.9.0 4937 1349
1.9.1 ????
1.9.2 4996 1384
1.9.3 5059 13C3
1.9.4 5086 13DE
1.10.0 5195 144B
1.10.1 5230 146E
1.10.2 5302 14B6
 
 
== Client Locale ==
 


Next four bytes identify the Locale of the WoW client:
File Signature
[[CreatureCache.wdb]] WMOB
[[GameObjectCache.wdb]] WGOB
[[QuestCache.wdb]] WQST
[[ItemCache.wdb]] WIDB
[[ItemNameCache.wdb]] WNDB
[[ItemTextCache.wdb]] WITX
[[NPCCache.wdb]] WNPC
[[PageTextCache.wdb]] WPTX
[[WOWCache.wdb]] WRDN

Revision as of 14:19, 3 August 2007

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.

Header

  • WDB files < 1.6: Header length is 16 bytes
  • WDB files >=1.6: Header length is 20 bytes (Verified till 1.9.4)
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)
Column	Field 		Type 		Notes 
1 	Signature 	String 		4-byte string identifying the file (reversed!) 
2 	Version 	Integer 	4-byte integer identifying the client version 
3 	Language 	String 		4-byte string identifying the language (reversed!) 
4 	Row Length 	Integer 	Something to do with row length, there is no consistent way of retrieving it as of yet. 
5 	Unknown 	Integer 	4-bytes

WDB files

File 	Signature 
CreatureCache.wdb 	WMOB 
GameObjectCache.wdb	WGOB 
QuestCache.wdb 	WQST 
ItemCache.wdb 	WIDB 
ItemNameCache.wdb 	WNDB 
ItemTextCache.wdb 	WITX 
NPCCache.wdb 	WNPC 
PageTextCache.wdb 	WPTX 
WOWCache.wdb 	WRDN