wow-adt
Parser for World of Warcraft ADT (terrain) files.
Status
Production Ready - Full parsing and validation support for ADT terrain files.
Overview
ADT files contain terrain and object information for WoW map tiles. Each map in World of Warcraft is divided into 64x64 tiles, with each tile stored as an ADT file.
Features
- Full ADT Parsing - Read and parse all chunk types
- Version Support - Classic through Cataclysm+
- Validation - Multiple strictness levels
- Version Conversion - Convert between different WoW versions
- Split File Support - Handle Cataclysm+ split ADT files (_tex0,_obj0, etc.)
- Tree Visualization - Visualize ADT structure hierarchically
- Extract Support (optional) - Extract heightmaps, textures, and model references
- Parallel Processing (optional) - Batch process multiple ADT files
Supported Versions
- Classic (1.12.1)
- The Burning Crusade (2.4.3)
- Wrath of the Lich King (3.3.5a)
- Cataclysm (4.3.4)
- Mists of Pandaria (5.4.8) - Basic support, may need updates
Installation
Add to your Cargo.toml:
[]
= "0.6"
Or use cargo add:
Usage
Basic Parsing
use ;
use File;
use BufReader;
// Parse an ADT file
let file = open?;
let mut reader = new;
let parsed = parse_adt?;
// ParsedAdt is an enum - check what type was parsed
match &parsed
Version Conversion
use ;
use BuiltAdt;
use File;
use BufReader;
let file = open?;
let mut reader = new;
let parsed = parse_adt?;
if let Root = parsed
CLI Usage
The ADT functionality is integrated into the warcraft-rs CLI:
# Show ADT file information
# Validate an ADT file
# Convert between versions
# Visualize ADT structure
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.