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

The WDL entity (namespace wowlib::formats::wdl): a map's low-resolution heightmap — the background mountain silhouettes and the minimap fallback. More...

Include dependency graph for wdl.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wowlib::formats::wdl::WDLBase
 The version-agnostic base of every WDL<V> (welded as "WDL"). More...
struct  wowlib::formats::wdl::detail::WdlPreLegion
 The pre-Legion per-tile occlusion mesh. More...
struct  wowlib::formats::wdl::detail::WdlTbc
 The TBC+ per-tile hole masks. More...
struct  wowlib::formats::wdl::detail::WdlLegion
 The Legion object swap (low-resolution placements) and ocean masks. More...
struct  wowlib::formats::wdl::detail::WdlBfA
 The BfA fade distances and WMO-map byte. More...
struct  wowlib::formats::wdl::detail::WdlSL
 The Shadowlands sky scenes and undocumented blobs. More...
struct  wowlib::formats::wdl::detail::WdlTww
 The War Within scene-living schedule. More...
struct  wowlib::formats::wdl::detail::WDL< V >
 A WDL low-resolution heightmap file for one client version. More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::wdl
namespace  wowlib::formats::wdl::detail

Typedefs

template<ClientVersion V>
using wowlib::formats::wdl::WDL = detail::WDL<canonicalVersion(V, WdlPivots, WdlVersions)>
 A WDL low-resolution heightmap — the canonicalizing face of detail::WDL: every client version maps to its range's first grid version (WdlPivots), so five instantiations serve all eleven releases.

Detailed Description

The WDL entity (namespace wowlib::formats::wdl): a map's low-resolution heightmap — the background mountain silhouettes and the minimap fallback.

A WDL is one chunked file, but its tail is offset-driven: MAOF holds 64x64 absolute file offsets, one per map tile, each pointing at that tile's MARE heightmap chunk, which its MAHO hole mask (and, per era, an MAOC/MAOE record) follows. The per-tile chunks are repeating members — the i-th heightmap belongs to the i-th nonzero MAOF slot in row-major order — and two serializer hooks keep the offset machinery honest: resequencedJournal() rebuilds the emission order (interleaving each tile's chunks) once tiles were added or removed, and patchFile() stamps the MAOF offsets into the finished image, so they are always derived, never stale. An entity read from a client and left unmodified rewrites byte-for-byte.

Definition in file wdl.hpp.