|
wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
|
The WDL entity (namespace wowlib::formats::wdl): a map's low-resolution heightmap — the background mountain silhouettes and the minimap fallback. More...
#include <algorithm>#include <cstdint>#include <cstring>#include <format>#include <optional>#include <span>#include <string>#include <vector>#include <wowlib/core/client_builds.hpp>#include <wowlib/core/client_version.hpp>#include <wowlib/core/error.hpp>#include <wowlib/core/file_key.hpp>#include <wowlib/core/lang.hpp>#include <wowlib/formats/common/file_entity.hpp>#include <wowlib/formats/common/chunked_file.hpp>#include <wowlib/formats/common/fourcc.hpp>#include <wowlib/formats/common/map_placements.hpp>#include <wowlib/formats/common/string_block.hpp>#include <wowlib/formats/common/version_slot.hpp>#include <wowlib/formats/wdl/boundaries.hpp>#include <wowlib/formats/wdl/chunks/objects.hpp>#include <wowlib/formats/wdl/chunks/skyscene.hpp>#include <wowlib/formats/wdl/chunks/tiles.hpp>#include <wowlib/fs/filesystem.hpp>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. | |
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.