wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
wowlib::formats::wdt::root::chunks Namespace Reference

WDT main-file chunk binary structs (the MPHD map header, MAIN tile table, MAID FileDataIDs) and their flag enums. More...

Namespaces

namespace  detail
 The 32-byte MPHD map header.

Classes

struct  WDTHeaderBase
 The version-agnostic base of every SMMapHeader<V>, welded as "WDTHeader". More...
struct  SMAreaInfo
struct  MapFileDataIDs

Typedefs

template<ClientVersion V>
using SMMapHeader = detail::SMMapHeader<canonicalVersion(V, WdtHeaderPivots, WdtVersions)>
 The MPHD header — the canonicalizing face of detail::SMMapHeader (WdtHeaderPivots: the FileDataID relayout at 8.1.0.28294), so two instantiations cover all eleven releases.

Enumerations

enum class  MapHeaderFlags : std::uint32_t {
  UsesGlobalMapObj = 0x1 , AdtHasMccv = 0x2 , AdtHasBigAlpha = 0x4 , AdtHasDoodadrefsSortedBySizeCat = 0x8 ,
  AdtHasMclv = 0x10 , AdtHasUpsideDownGround = 0x20 , unk_0x40 , AdtHasHeightTexturing = 0x80 ,
  LoadLodAdt = 0x100 , HasMaid = 0x200 , unk_0x400 = 0x400 , unk_0x800 = 0x800 ,
  unk_0x1000 = 0x1000 , unk_0x2000 = 0x2000 , unk_0x4000 = 0x4000 , unk_0x8000 = 0x8000
}
 Map header flag bits (SMMapHeader.flags). More...
enum class  AreaInfoFlags : std::uint32_t { HasAdt = 0x1 , AllWater = 0x2 , Loaded = 0x4 }
 Tile table flag bits (SMAreaInfo.flags). More...

Detailed Description

WDT main-file chunk binary structs (the MPHD map header, MAIN tile table, MAID FileDataIDs) and their flag enums.

Typedef Documentation

◆ SMMapHeader

The MPHD header — the canonicalizing face of detail::SMMapHeader (WdtHeaderPivots: the FileDataID relayout at 8.1.0.28294), so two instantiations cover all eleven releases.

Definition at line 119 of file header.hpp.

Enumeration Type Documentation

◆ AreaInfoFlags

enum class wowlib::formats::wdt::root::chunks::AreaInfoFlags : std::uint32_t
strong

Tile table flag bits (SMAreaInfo.flags).

Enumerator
HasAdt 

The tile has an ADT.

AllWater 

The whole tile is "fake water" (Cataclysm+; pre-Cata clients read this bit as their loaded flag).

Loaded 

Runtime-only loaded marker; zero in files.

Definition at line 127 of file header.hpp.

◆ MapHeaderFlags

enum class wowlib::formats::wdt::root::chunks::MapHeaderFlags : std::uint32_t
strong

Map header flag bits (SMMapHeader.flags).

Enumerator
UsesGlobalMapObj 

A WMO-only map: one global map object (MWMO/MODF), no terrain tiles.

AdtHasMccv 

ADTs carry MCCV vertex colors (WotLK+); with this set every ADT of the map must have MCCV.

AdtHasBigAlpha 

Terrain shader 2 (_env): 4096-byte uncompressed MCAL alpha maps instead of 2048.

AdtHasDoodadrefsSortedBySizeCat 

ADT MCRF/MCRD doodad references are sorted by size category.

AdtHasMclv 

ADTs carry the second MCLV color layer (Cata+; deprecated and forbidden in 8.x).

AdtHasUpsideDownGround 

Flip the ground upside down to create a ceiling (Cata+).

unk_0x40 

Unknown (MoP+); seen on Firelands2.wdt before Legion.

AdtHasHeightTexturing 

Terrain shader 6: alpha maps are influenced by the _h textures and MTXP (MoP+); also 4096-byte uncompressed MCAL entries.

LoadLodAdt 

Load _lod.adt (Legion+); implicitly sets 0x8000.

HasMaid 

The WDT carries MAID: ADTs load by FileDataID instead of path (8.1.0.28294+).

unk_0x400 

Unknown.

unk_0x800 

Unknown.

unk_0x1000 

Unknown.

unk_0x2000 

Unknown.

unk_0x4000 

Unknown.

unk_0x8000 

Affects _lod.adt rendering; implicitly set for the continent maps (Legion+).

Without it (or 0x100) distant map textures and LOD do not render.

Definition at line 24 of file header.hpp.