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

WDL version grid and 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::wdl

Variables

constexpr std::uint32_t wowlib::formats::wdl::WdlVersion18 = 18
 The WDL format version every supported client uses (MVER payload).
constexpr std::size_t wowlib::formats::wdl::WdlTileSlots = 64 * 64
 The MAOF tile table's slot count: one per map tile of the 64x64 grid, row-major, a zero offset meaning the tile has no heightmap.
constexpr std::array wowlib::formats::wdl::WdlVersions
 The versions WDL is instantiated (and welded) for: every targeted last-minor-of-major release, in release order.
constexpr std::array wowlib::formats::wdl::WdlPivots {builds::TBC, builds::Legion, builds::BfA, builds::SL, builds::TWW}
 WDL: every chunk-set change point (see the file comment).

Detailed Description

WDL version grid and canonicalization pivots.

Everything is chunk presence (carried inline by the members' since()/until() annotations) — the WDL never changed a binary-struct layout:

  • TBC adds the per-tile MAHO hole masks (verified: vanilla 1.12 WDLs carry MARE heightmaps with zero MAHO, every 2.4.3 WDL pairs one MAHO per MARE — wowdev.wiki dates MAHO to WotLK, which our client scan disproves);
  • legion swaps the object set (MWMO/MWID/MODF give way to the MLDD/MLDX/MLMD/MLMX low-resolution placements — though WMO-only maps keep shipping the old three, so they carry no until()), drops MAOC and adds MAOE;
  • BfA adds the per-placement MLDF fade distances and the MLMB byte (both undocumented on wowdev, which had them misdated to Shadowlands — the 8.3.7 fleet survey carries 33 MLDF and 4 MLMB files);
  • shadowlands adds the sky-scene chunks (MSSN/MSSC/MSSO/MSSF) and a few undocumented blobs (MLDL/MLDB);
  • The War Within adds MSLD/MSLI.

Definition in file boundaries.hpp.