wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
boundaries.hpp
Go to the documentation of this file.
1#pragma once
2
13
14#include <array>
15#include <cstdint>
16
20
23 inline constexpr std::uint32_t WmoVersionV17 = 17;
24
28
32
33 // --- version grid and per-family canonicalization pivots ------------------
34 //
35 // Every versioned WMO family instantiates only for its REAL content
36 // permutations (see formats/common/version_range.hpp): the public name is
37 // a canonicalizing alias flooring the requested version over the family's
38 // pivots. The lists are generous — every documented change point, not just
39 // the ones the current grid straddles; the welded range tables in wmo.hpp
40 // are consteval-checked against them.
41
57
59 inline constexpr std::array WmoBatchPivots{WmoBatchLargeMaterial};
60
62 inline constexpr std::array WmoGroupHeaderPivots{WmoSplitGroups};
63
77
98
116}
Named ClientVersion constants for the exact client builds format features appeared (or vanished) at —...
Client version identity, the flavor axis that separates a client's CONTENT version from the engine ge...
constexpr ClientVersion Legion_Alpha
legion alpha, 7.0.1 build 20740 — the first chunked-format build (the .m2 MD21 container,...
constexpr ClientVersion DF_Alpha
dragonflight alpha, 10.0.0 build 46181.
constexpr ClientVersion TWW_Alpha
The War Within alpha, 11.0.0 build 54210.
constexpr ClientVersion Legion_ShadowsOfArgus_24473
legion, Shadows of Argus PTR, 7.3.0 build 24473.
constexpr ClientVersion Cata
Cataclysm (any 4.x client).
constexpr ClientVersion BfA_VisionsOfNzoth_33775
BfA, Visions of N'Zoth, 8.3.0 build 33775 (WMO MPVR).
constexpr ClientVersion BfA_VisionsOfNzoth_32044
BfA, Visions of N'Zoth PTR, 8.3.0 build 32044.
constexpr ClientVersion SL_Alpha_33978
shadowlands alpha, 9.0.1 build 33978 (WFV3/EDGF/NERF/DBOC; PFDC is dated here by wowdev but reached l...
constexpr ClientVersion BfA_TidesOfVengeance
BfA, Tides of Vengeance PTR, 8.1.0 build 27826 (RPID/GPID, WMO MOSI/MODI).
constexpr ClientVersion SL_ChainsOfDomination
shadowlands, Chains of Domination PTR, 9.1.0 build 39015.
constexpr ClientVersion SL_EternitysEnd
shadowlands, Eternity's End, 9.2.0 build 42423 (the MOGP split-group indices).
constexpr ClientVersion MoP
Mists of Pandaria (any 5.x client).
constexpr ClientVersion WoD
Warlords of Draenor (any 6.x client).
constexpr ClientVersion TWW_Undermined
TWW, Undermine(d) PTR, 11.1.0 build 58221.
constexpr ClientVersion WmoSplitGroups
9.2.0.42423: the unused u32 at MOGP+0x40 becomes the two split-group indices.
constexpr std::array WmoAssemblyPivots
The WMO assembly: the union of the root and group pivots.
constexpr ClientVersion WmoBatchLargeMaterial
legion 7.0.1.20740: SMOBatch's culling-box prelude gives way to a large (uint16) material id.
constexpr std::array WmoGroupHeaderPivots
SMOGroupHeader: the split-group indices replacing the unused u32.
constexpr std::uint32_t WmoVersionV17
The WMO format version every supported client uses (MVER payload).
constexpr std::array WmoRootPivots
WMORoot: every trait-slot boundary and chunk-introduction build the root file carries (GFID/MOUV/MOSI...
constexpr std::array WmoGroupPivots
WMOGroupBody / WMOGroup: every trait-slot boundary and chunk build the group files carry,...
constexpr std::array WmoBatchPivots
SMOBatch: the culling-box prelude gives way to the large material id.
constexpr std::array WmoVersions
The versions WMO is instantiated (and welded) for: every targeted last-minor-of-major release,...
constexpr ClientVersion Shadowlands
constexpr ClientVersion Tww
constexpr ClientVersion Bfa
constexpr ClientVersion Mop
constexpr ClientVersion Wod
constexpr ClientVersion Tbc
constexpr ClientVersion Vanilla
constexpr ClientVersion Legion
constexpr ClientVersion Dragonflight
constexpr ClientVersion Cata
constexpr ClientVersion Wotlk
Version-range canonicalization: the machinery behind collapsing a versioned family's instantiations t...