File Format Reference
This section contains detailed documentation for all World of Warcraft file
formats supported by warcraft-rs.
Categories
Archives
Archive formats for storing and compressing game assets.
- MPQ - Blizzard’s main archive format
World Data
Formats for terrain, maps, and world geometry.
- ADT - Terrain tiles with height, textures, and objects
- WDL - Low-resolution terrain for distant views
- WDT - World definition tables
Graphics & Models
3D models, textures, and visual assets.
- BLP - Texture format with DXT compression
- M2 - Animated 3D models (characters, creatures, props)
- WMO - Large static world objects (buildings, dungeons)
Database
Client-side data storage.
- DBC - Database files with game data tables
Format Overview
| Format | Type | Description | Typical Size |
|---|---|---|---|
| MPQ | Archive | Compressed archive containing other files | 10MB - 4GB |
| ADT | Terrain | Map tile with terrain mesh and textures | 1-5MB |
| WDL | Terrain | Low-detail world map | 100-500KB |
| WDT | Map Info | Map configuration and ADT references | 10-50KB |
| BLP | Texture | 2D images with compression and mipmaps | 10KB - 2MB |
| M2 | Model | 3D models with animations | 50KB - 10MB |
| WMO | Model | Large world objects | 100KB - 50MB |
| DBC | Database | Tabular data storage | 1KB - 10MB |
Version Compatibility
Different WoW versions use different format versions:
- Classic (1.12.x): Original formats
- TBC (2.4.3): Some format updates, new DBC columns
- WotLK (3.3.5): Major M2 updates, new terrain features
- Cataclysm (4.3.4): Terrain streaming, updated formats
- MoP (5.4.8): Latest supported version
Quick Reference
Each crate has its own parsing approach. See Traits & Interfaces for the different patterns used across crates.
Tools & Utilities
warcraft-rs provides CLI subcommands for each format:
# Extract MPQ archive
warcraft-rs mpq extract archive.mpq --output output/
# Convert BLP to PNG
warcraft-rs blp convert texture.blp texture.png
# Export DBC as CSV
warcraft-rs dbc export Spell.dbc --format csv