|
wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
|
Namespaces | |
| namespace | detail |
| namespace | group |
| The WMO group-file entities: WMOGroup, WMOGroupBody and their per-version classes. | |
| namespace | root |
| The WMO root-file entity: WMORoot and its per-version classes. | |
Classes | |
| struct | WMOBase |
| The version-agnostic base of every WMO<V> (welded as "WMO"). More... | |
Typedefs | |
| template<ClientVersion V> | |
| using | WMO = detail::WMO<canonicalVersion(V, WmoAssemblyPivots, WmoVersions)> |
| A whole WMO — the canonicalizing face of detail::WMO: every client version maps to its range's first grid version (WmoAssemblyPivots), so e.g. | |
| template<ClientVersion V> | |
| using | WMORoot |
| A WMO root file — the canonicalizing face of detail::WMORoot: every client version maps to its range's first grid version (WmoRootPivots), so e.g. | |
| template<ClientVersion V> | |
| using | WMOGroup |
| One WMO group file — the canonicalizing face of detail::WMOGroup (same pivots as the body it contains). | |
Variables | |
| constexpr std::uint32_t | WmoVersionV17 = 17 |
| The WMO format version every supported client uses (MVER payload). | |
| constexpr ClientVersion | WmoBatchLargeMaterial = builds::Legion_Alpha |
| legion 7.0.1.20740: SMOBatch's culling-box prelude gives way to a large (uint16) material id. | |
| constexpr ClientVersion | WmoSplitGroups = builds::SL_EternitysEnd |
| 9.2.0.42423: the unused u32 at MOGP+0x40 becomes the two split-group indices. | |
| constexpr std::array | WmoVersions |
| The versions WMO is instantiated (and welded) for: every targeted last-minor-of-major release, in release order. | |
| constexpr std::array | WmoBatchPivots {WmoBatchLargeMaterial} |
| SMOBatch: the culling-box prelude gives way to the large material id. | |
| constexpr std::array | WmoGroupHeaderPivots {WmoSplitGroups} |
| SMOGroupHeader: the split-group indices replacing the unused u32. | |
| constexpr std::array | 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 | WmoGroupPivots |
| WMOGroupBody / WMOGroup: every trait-slot boundary and chunk build the group files carry, plus the two binary-layout pivots above. | |
| constexpr std::array | WmoAssemblyPivots |
| The WMO assembly: the union of the root and group pivots. | |
| using wowlib::formats::wmo::WMO = detail::WMO<canonicalVersion(V, WmoAssemblyPivots, WmoVersions)> |
A whole WMO — the canonicalizing face of detail::WMO: every client version maps to its range's first grid version (WmoAssemblyPivots), so e.g.
one instantiation serves Vanilla through WotLK.
| using wowlib::formats::wmo::group::WMOGroup |
| using wowlib::formats::wmo::root::WMORoot |
|
inlineconstexpr |
The WMO assembly: the union of the root and group pivots.
Definition at line 100 of file boundaries.hpp.
|
inlineconstexpr |
legion 7.0.1.20740: SMOBatch's culling-box prelude gives way to a large (uint16) material id.
A layout pivot for SMOBatch.
Definition at line 27 of file boundaries.hpp.
|
inlineconstexpr |
SMOBatch: the culling-box prelude gives way to the large material id.
Definition at line 59 of file boundaries.hpp.
|
inlineconstexpr |
SMOGroupHeader: the split-group indices replacing the unused u32.
Definition at line 62 of file boundaries.hpp.
|
inlineconstexpr |
WMOGroupBody / WMOGroup: every trait-slot boundary and chunk build the group files carry, plus the two binary-layout pivots above.
MoP is a pivot because MDAL debuts there, NOT at WoD as wowdev has it ("could have been added earlier", flagged unverified): a 5.4.8 corpus sweep found 421 MDAL chunks, while 700 sampled Cata groups and 400 WotLK groups carry none. Without the pivot, WMOGroupBody<mop> would canonicalize onto the Cata instantiation and the chunk would stay unmodelled for the era that introduced it.
Definition at line 87 of file boundaries.hpp.
|
inlineconstexpr |
WMORoot: every trait-slot boundary and chunk-introduction build the root file carries (GFID/MOUV/MOSI/MODI/the volume family/new lights/ M3 materials).
Definition at line 67 of file boundaries.hpp.
|
inlineconstexpr |
9.2.0.42423: the unused u32 at MOGP+0x40 becomes the two split-group indices.
A layout pivot for SMOGroupHeader.
Definition at line 31 of file boundaries.hpp.
|
inlineconstexpr |
The versions WMO is instantiated (and welded) for: every targeted last-minor-of-major release, in release order.
Definition at line 44 of file boundaries.hpp.
Referenced by wowlib::audit::detail::FormatDrivers::wmo().
|
inlineconstexpr |
The WMO format version every supported client uses (MVER payload).
Definition at line 23 of file boundaries.hpp.