|
wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
|
WMO version pivots that change a binary-struct layout (not just chunk presence). More...
#include <array>#include <cstdint>#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::wmo |
Variables | |
| constexpr std::uint32_t | wowlib::formats::wmo::WmoVersionV17 = 17 |
| The WMO format version every supported client uses (MVER payload). | |
| constexpr ClientVersion | wowlib::formats::wmo::WmoBatchLargeMaterial = builds::Legion_Alpha |
| legion 7.0.1.20740: SMOBatch's culling-box prelude gives way to a large (uint16) material id. | |
| constexpr ClientVersion | wowlib::formats::wmo::WmoSplitGroups = builds::SL_EternitysEnd |
| 9.2.0.42423: the unused u32 at MOGP+0x40 becomes the two split-group indices. | |
| constexpr std::array | wowlib::formats::wmo::WmoVersions |
| The versions WMO is instantiated (and welded) for: every targeted last-minor-of-major release, in release order. | |
| constexpr std::array | wowlib::formats::wmo::WmoBatchPivots {WmoBatchLargeMaterial} |
| SMOBatch: the culling-box prelude gives way to the large material id. | |
| constexpr std::array | wowlib::formats::wmo::WmoGroupHeaderPivots {WmoSplitGroups} |
| SMOGroupHeader: the split-group indices replacing the unused u32. | |
| constexpr std::array | wowlib::formats::wmo::WmoRootPivots |
| WMORoot: every trait-slot boundary and chunk-introduction build the root file carries (GFID/MOUV/MOSI/MODI/the volume family/new lights/ M3 materials). | |
| constexpr std::array | wowlib::formats::wmo::WmoGroupPivots |
| WMOGroupBody / WMOGroup: every trait-slot boundary and chunk build the group files carry, plus the two binary-layout pivots above. | |
| constexpr std::array | wowlib::formats::wmo::WmoAssemblyPivots |
| The WMO assembly: the union of the root and group pivots. | |
WMO version pivots that change a binary-struct layout (not just chunk presence).
These name the client version at which a struct's field set flips, so the binary structs (the group/chunks headers) can select a constrained partial specialization with requires (V < pivot) / requires (V >= pivot).
Chunk presence boundaries are no longer named here: each chunk member's since()/until() annotation now carries its own exact client version inline (as wowdev.wiki documents it), instead of grouping chunks under a shared, guessed-at "feature set" constant.
Definition in file boundaries.hpp.