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

Namespaces

namespace  detail
namespace  fogs
 The _fogs.wdt volumetric-fog satellite entity (Legion 7.2.5+).
namespace  lights
 The _lgt.wdt lights satellite entity (WoD+).
namespace  mpv
 The _mpv.wdt particulate-volume satellite entity (BfA+).
namespace  occlusion
 The _occ.wdt occlusion satellite entity (WoD+).
namespace  root
 The WDT main-file entity: WDTRoot and its per-version classes.

Classes

struct  WDTBase
 The version-agnostic base of every WDT<V> (welded as "WDT"). More...

Typedefs

template<ClientVersion V>
using WDT = detail::WDT<canonicalVersion(V, WdtAssemblyPivots, WdtVersions)>
 A whole WDT — the canonicalizing face of detail::WDT: every client version maps to its range's first grid version (WdtAssemblyPivots), so e.g.
template<ClientVersion V>
using WDTRoot
 A WDT main file — the canonicalizing face of detail::WDTRoot: every client version maps to its range's first grid version (WdtRootPivots), so e.g.

Variables

constexpr std::uint32_t WdtVersion18 = 18
 The WDT format version every supported client uses (the .wdt and _occ.wdt MVER payload; _lgt/_fogs/_mpv carry their own numbering).
constexpr std::size_t WdtTileSlots = 64 * 64
 The tile-table slot count of a map: the 64x64 grid MAIN (and, since 8.1, MAID) covers, row-major with y outer — the client indexes it positionally, so the size is part of the format.
constexpr ClientVersion WdtMapFdids = builds::BfA_TidesOfVengeance_28294
 8.1.0.28294: the MPHD unused tail becomes the satellite FileDataIDs and MAID arrives — the namehash-removal preparation.
constexpr std::array WdtVersions
 The versions WDT is instantiated (and welded) for: every targeted last-minor-of-major release, in release order.
constexpr std::array WdtSatelliteVersions
 The _occ/_lgt satellites exist since WoD: their era-subset grid.
constexpr std::array WdtFogsVersions
 The _fogs satellite exists since Legion 7.2.5: its era-subset grid.
constexpr std::array WdtMpvVersions
 The _mpv satellite exists since BfA 8.0.1: its era-subset grid.
constexpr std::array WdtHeaderPivots {WdtMapFdids}
 SMMapHeader: the MPHD FileDataID relayout.
constexpr std::array WdtRootPivots {WdtMapFdids, builds::SL_Alpha_33978}
 WDTRoot: the MPHD/MAID pivot plus MANM (the Shadowlands map anima).
constexpr std::array< ClientVersion, 0 > WdtOcclusionPivots {}
 WDTOcclusion: stable since its WoD introduction (no pivots).
constexpr std::array WdtLightsPivots {builds::Legion, builds::Legion_Alpha_20914, builds::SL_Beta_34490}
 WDTLights: the Legion light-set replacement (MPLT out; MPL2/MSLT/MTEX/ MLTA in; the MVER payload bumps to 20) and the Shadowlands MPL3.
constexpr std::array WdtFogsPivots {builds::BfA_Beta_25902, builds::TWW_Alpha_54935}
 WDTFogs: the first VFOG content builds and the version-2 VFEX records.
constexpr std::array< ClientVersion, 0 > WdtMpvPivots {}
 WDTParticulates: stable since its BfA introduction — the PVMI record size is keyed on the file's OWN version payload, not the client (kept opaque), so no client-version pivot exists.
constexpr std::array WdtAssemblyPivots
 The WDT assembly: the union of the root and satellite pivots plus each satellite file's introduction build.

Typedef Documentation

◆ WDT

A whole WDT — the canonicalizing face of detail::WDT: every client version maps to its range's first grid version (WdtAssemblyPivots), so e.g.

one instantiation serves Vanilla through MoP.

Definition at line 147 of file wdt.hpp.

◆ WDTRoot

A WDT main file — the canonicalizing face of detail::WDTRoot: every client version maps to its range's first grid version (WdtRootPivots), so e.g.

one instantiation serves Vanilla through Legion. (Qualified root::detail — a bare detail:: is ambiguous against chunks::detail via the using-directive.)

Definition at line 145 of file root.hpp.

Variable Documentation

◆ WdtAssemblyPivots

std::array wowlib::formats::wdt::WdtAssemblyPivots
inlineconstexpr
Initial value:
{
}
constexpr ClientVersion TWW_Alpha_54935
The War Within alpha, 11.0.0 build 54935 (_fogs.wdt version 2 and its VFEX extension records).
constexpr ClientVersion BfA_Beta_26287
Battle for Azeroth beta, 8.0.1 build 26287 (the client starts loading the _mpv.wdt particulate-volume...
constexpr ClientVersion Legion
legion (any 7.x client).
constexpr ClientVersion Legion_TombOfSargeras
legion, Tomb of Sargeras, 7.2.5 build 24076 (the _fogs.wdt satellite appears, initially empty).
constexpr ClientVersion Legion_Alpha_20914
legion alpha, 7.0.1 build 20914 (the _lgt.wdt MVER payload bumps 18 -> 20).
constexpr ClientVersion SL_Beta_34490
shadowlands beta, 9.0.1 build 34490 (_lgt.wdt MPL3 point lights).
constexpr ClientVersion SL_Alpha_33978
shadowlands alpha, 9.0.1 build 33978 (WFV3/EDGF/NERF/DBOC; PFDC is dated here by wowdev but reached l...
constexpr ClientVersion BfA_Beta_25902
Battle for Azeroth beta, 8.0.1 build 25902 (the first _fogs.wdt files with VFOG content).
constexpr ClientVersion WoD
Warlords of Draenor (any 6.x client).
constexpr ClientVersion WdtMapFdids
8.1.0.28294: the MPHD unused tail becomes the satellite FileDataIDs and MAID arrives — the namehash-r...

The WDT assembly: the union of the root and satellite pivots plus each satellite file's introduction build.

Definition at line 106 of file boundaries.hpp.

◆ WdtFogsPivots

std::array wowlib::formats::wdt::WdtFogsPivots {builds::BfA_Beta_25902, builds::TWW_Alpha_54935}
inlineconstexpr

WDTFogs: the first VFOG content builds and the version-2 VFEX records.

Definition at line 97 of file boundaries.hpp.

◆ WdtFogsVersions

std::array wowlib::formats::wdt::WdtFogsVersions
inlineconstexpr
Initial value:
{
}
constexpr ClientVersion Shadowlands
constexpr ClientVersion Tww
constexpr ClientVersion Bfa
constexpr ClientVersion Legion
constexpr ClientVersion Dragonflight

The _fogs satellite exists since Legion 7.2.5: its era-subset grid.

Definition at line 65 of file boundaries.hpp.

◆ WdtHeaderPivots

std::array wowlib::formats::wdt::WdtHeaderPivots {WdtMapFdids}
inlineconstexpr

SMMapHeader: the MPHD FileDataID relayout.

Definition at line 84 of file boundaries.hpp.

◆ WdtLightsPivots

std::array wowlib::formats::wdt::WdtLightsPivots {builds::Legion, builds::Legion_Alpha_20914, builds::SL_Beta_34490}
inlineconstexpr

WDTLights: the Legion light-set replacement (MPLT out; MPL2/MSLT/MTEX/ MLTA in; the MVER payload bumps to 20) and the Shadowlands MPL3.

Definition at line 94 of file boundaries.hpp.

◆ WdtMapFdids

ClientVersion wowlib::formats::wdt::WdtMapFdids = builds::BfA_TidesOfVengeance_28294
inlineconstexpr

8.1.0.28294: the MPHD unused tail becomes the satellite FileDataIDs and MAID arrives — the namehash-removal preparation.

A layout pivot for SMMapHeader.

Definition at line 34 of file boundaries.hpp.

◆ WdtMpvPivots

std::array<ClientVersion, 0> wowlib::formats::wdt::WdtMpvPivots {}
inlineconstexpr

WDTParticulates: stable since its BfA introduction — the PVMI record size is keyed on the file's OWN version payload, not the client (kept opaque), so no client-version pivot exists.

Definition at line 102 of file boundaries.hpp.

◆ WdtMpvVersions

std::array wowlib::formats::wdt::WdtMpvVersions
inlineconstexpr
Initial value:

The _mpv satellite exists since BfA 8.0.1: its era-subset grid.

Definition at line 74 of file boundaries.hpp.

◆ WdtOcclusionPivots

std::array<ClientVersion, 0> wowlib::formats::wdt::WdtOcclusionPivots {}
inlineconstexpr

WDTOcclusion: stable since its WoD introduction (no pivots).

Definition at line 90 of file boundaries.hpp.

◆ WdtRootPivots

std::array wowlib::formats::wdt::WdtRootPivots {WdtMapFdids, builds::SL_Alpha_33978}
inlineconstexpr

WDTRoot: the MPHD/MAID pivot plus MANM (the Shadowlands map anima).

Definition at line 87 of file boundaries.hpp.

◆ WdtSatelliteVersions

std::array wowlib::formats::wdt::WdtSatelliteVersions
inlineconstexpr
Initial value:

The _occ/_lgt satellites exist since WoD: their era-subset grid.

Definition at line 55 of file boundaries.hpp.

◆ WdtTileSlots

std::size_t wowlib::formats::wdt::WdtTileSlots = 64 * 64
inlineconstexpr

The tile-table slot count of a map: the 64x64 grid MAIN (and, since 8.1, MAID) covers, row-major with y outer — the client indexes it positionally, so the size is part of the format.

Definition at line 29 of file boundaries.hpp.

Referenced by wowlib::formats::wdt::root::detail::WDTRoot< canonicalVersion(V, WdtRootPivots, WdtVersions)>::validateExtra().

◆ WdtVersion18

std::uint32_t wowlib::formats::wdt::WdtVersion18 = 18
inlineconstexpr

The WDT format version every supported client uses (the .wdt and _occ.wdt MVER payload; _lgt/_fogs/_mpv carry their own numbering).

Definition at line 24 of file boundaries.hpp.

Referenced by wowlib::formats::wdt::detail::WDT< V >::read().

◆ WdtVersions

std::array wowlib::formats::wdt::WdtVersions
inlineconstexpr
Initial value:

The versions WDT is instantiated (and welded) for: every targeted last-minor-of-major release, in release order.

Definition at line 40 of file boundaries.hpp.

Referenced by wowlib::audit::detail::FormatDrivers::wdt().