wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
boundaries.hpp File Reference

WDT version grids and per-family canonicalization pivots. More...

#include <array>
#include <cstdint>
#include <wowlib/core/client_builds.hpp>
#include <wowlib/core/client_version.hpp>
#include <wowlib/formats/common/version_range.hpp>
Include dependency graph for boundaries.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::wdt

Variables

constexpr std::uint32_t wowlib::formats::wdt::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 wowlib::formats::wdt::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 wowlib::formats::wdt::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 wowlib::formats::wdt::WdtVersions
 The versions WDT is instantiated (and welded) for: every targeted last-minor-of-major release, in release order.
constexpr std::array wowlib::formats::wdt::WdtSatelliteVersions
 The _occ/_lgt satellites exist since WoD: their era-subset grid.
constexpr std::array wowlib::formats::wdt::WdtFogsVersions
 The _fogs satellite exists since Legion 7.2.5: its era-subset grid.
constexpr std::array wowlib::formats::wdt::WdtMpvVersions
 The _mpv satellite exists since BfA 8.0.1: its era-subset grid.
constexpr std::array wowlib::formats::wdt::WdtHeaderPivots {WdtMapFdids}
 SMMapHeader: the MPHD FileDataID relayout.
constexpr std::array wowlib::formats::wdt::WdtRootPivots {WdtMapFdids, builds::SL_Alpha_33978}
 WDTRoot: the MPHD/MAID pivot plus MANM (the Shadowlands map anima).
constexpr std::array< ClientVersion, 0 > wowlib::formats::wdt::WdtOcclusionPivots {}
 WDTOcclusion: stable since its WoD introduction (no pivots).
constexpr std::array wowlib::formats::wdt::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 wowlib::formats::wdt::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 > wowlib::formats::wdt::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 wowlib::formats::wdt::WdtAssemblyPivots
 The WDT assembly: the union of the root and satellite pivots plus each satellite file's introduction build.

Detailed Description

WDT version grids and per-family canonicalization pivots.

The main file's only layout pivot is 8.1.0.28294, where the MPHD header repurposes its unused tail into the satellite FileDataIDs; everything else is chunk presence, carried inline by the members' since()/until() annotations.

The satellite files (_occ/_lgt/_fogs/_mpv) appeared mid-timeline, so each declares an era-subset GRID starting at its first release alongside its pivots; the assembly's pivot list is the union of every boundary that changes what a WDT<V> carries.

Definition in file boundaries.hpp.