|
wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
|
ADT version grids, layout pivots and the alpha-format context. More...
#include <array>#include <cstdint>#include <welder/vocabulary.hpp>#include <wowlib/core/client_builds.hpp>#include <wowlib/core/client_version.hpp>#include <wowlib/formats/common/version_range.hpp>Go to the source code of this file.
Namespaces | |
| namespace | wowlib |
| namespace | wowlib::formats |
| namespace | wowlib::formats::adt |
Enumerations | |
| enum class | wowlib::formats::adt::AlphaFormat : std::uint8_t { wowlib::formats::adt::Lowres4Bit = 0 , wowlib::formats::adt::Highres8Bit = 1 } |
Variables | |
| constexpr std::uint32_t | wowlib::formats::adt::AdtVersion18 = 18 |
| The ADT format version every supported client writes (the MVER payload). | |
| constexpr std::size_t | wowlib::formats::adt::ChunksPerTile = 16 * 16 |
| The terrain chunks a tile is divided into: a 16x16 grid, indexed row-major (y * 16 + x) — the client addresses them positionally, so the count is fixed for every version. | |
| constexpr ClientVersion | wowlib::formats::adt::AdtTexFdids = builds::BfA_TidesOfVengeance_28294 |
| 8.1.0.27826: MDID/MHID diffuse+height FileDataID tables arrive in _tex0 (MTEX still present this one build). | |
| constexpr ClientVersion | wowlib::formats::adt::AdtSplit = builds::Cata |
| Cataclysm: ADTs split into root/_tex0/_obj0 (+_obj1); MCIN gone, MCLV / MCRD / MCRW / MAMP / MCMT arrive. | |
| constexpr std::array | wowlib::formats::adt::AdtVersions |
| The versions ADT is instantiated (and welded) for: every targeted last-minor-of-major release, in release order. | |
| constexpr std::array | wowlib::formats::adt::MapChunkPivots {builds::WotLK, builds::Cata} |
| MapChunk<V> content pivots — only boundaries that change what a chunk CURRENTLY carries: WotLK (MCCV vertex colors arrive) and Cata (MCLV baked lighting + MCMT materials arrive, and the legacy MCLQ liquid is finally gone). | |
| constexpr std::array | wowlib::formats::adt::AdtPivots {builds::TBC, builds::WotLK, builds::Cata, AdtTexFdids} |
| ADT<V> assembly content pivots — only boundaries that change what the tile CURRENTLY carries: TBC (MFBO), WotLK (MH2O/MTXF/MCCV), Cata (split files, MAMP, obj1/lod), 8.1 (MDID/MHID FileDataID texture tables). | |
ADT version grids, layout pivots and the alpha-format context.
ADT is ONE version-agnostic entity (ADT<V>, see adt.hpp): the split into physical files (root/_tex0/_obj0/_obj1/_lod, Cata+) is a serializer concern, not a class split. Almost every version difference is chunk PRESENCE, carried inline by the members' since()/until() annotations; the pivots below are the union of every boundary that changes what an ADT<V> (or MapChunk<V>) carries, used only to collapse the instantiation matrix to its real permutations.
Definition in file boundaries.hpp.