wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
group.hpp File Reference

The WMO group-file entities (namespace wowlib::formats::wmo::group): the MOGP container body (geometry, batches, collision, liquid and the later-expansion light/volume references) and the group file wrapping it. More...

Include dependency graph for group.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wowlib::formats::wmo::group::WMOGroupBodyBase
 The version-agnostic base of every WMOGroupBody<V> (welded as "WMOGroupBody"). More...
struct  wowlib::formats::wmo::group::WMOGroupBase
 The version-agnostic base of every WMOGroup<V> (welded as "WMOGroup"). More...
struct  wowlib::formats::wmo::group::detail::GroupBodyCata
 cata+ (4.0) group-body chunks. More...
struct  wowlib::formats::wmo::group::detail::GroupBodyMop
 MoP+ (5.0) group-body chunks. More...
struct  wowlib::formats::wmo::group::detail::GroupBodyWod
 WoD+ (6.0) group-body chunks. More...
struct  wowlib::formats::wmo::group::detail::GroupBodyLegion
 legion+ (7.0.1) group-body chunks. More...
struct  wowlib::formats::wmo::group::detail::GroupBody81
 8.1+ group-body light-set chunks. More...
struct  wowlib::formats::wmo::group::detail::GroupBody83
 8.3+ group-body chunks. More...
struct  wowlib::formats::wmo::group::detail::GroupBody90
 9.0+ group-body chunks (large-mesh indices and the volume/light refs). More...
struct  wowlib::formats::wmo::group::detail::GroupBody100
 10.0+ (Dragonflight) group-body chunks: the query surface and the second vertex-color weights. More...
struct  wowlib::formats::wmo::group::detail::WMOGroupBody< V >
 The MOGP container payload for one client version. More...
struct  wowlib::formats::wmo::group::detail::WMOGroup< V >
 One WMO group file for one client version: the format version (MVER) and the MOGP container holding the group's geometry. More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::wmo
namespace  wowlib::formats::wmo::group
 The WMO group-file entities: WMOGroup, WMOGroupBody and their per-version classes.
namespace  wowlib::formats::wmo::group::detail

Typedefs

template<ClientVersion V>
using wowlib::formats::wmo::group::WMOGroupBody
 The MOGP payload — the canonicalizing face of detail::WMOGroupBody: every client version maps to its range's first grid version (WmoGroupPivots).
template<ClientVersion V>
using wowlib::formats::wmo::group::WMOGroup
 One WMO group file — the canonicalizing face of detail::WMOGroup (same pivots as the body it contains).

Detailed Description

The WMO group-file entities (namespace wowlib::formats::wmo::group): the MOGP container body (geometry, batches, collision, liquid and the later-expansion light/volume references) and the group file wrapping it.

The body's version-gated chunks live in conditionally-inherited trait bases — one unwelded struct per availability range, in wmo::group::detail — while the always-present chunks are the body's own members. A version's WMOGroupBody therefore carries ONLY the fields that version has (setting an absent one is a compile error), and welder flattens the active traits' members onto its binding. The group binary structs are in wmo::group::chunks.

Definition in file group.hpp.