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

The WMO root-file entity (namespace wowlib::formats::wmo::root): header, materials, group metadata, portals, lights, doodads, fog and the later-expansion volume/light extensions. More...

Include dependency graph for root.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::root::WMORootBase
 The version-agnostic base of every WMORoot<V> (welded as "WMORoot"). More...
struct  wowlib::formats::wmo::root::detail::RootLegion
 legion+ (7.0.1) root chunks. More...
struct  wowlib::formats::wmo::root::detail::Root73
 7.3+ root chunks. More...
struct  wowlib::formats::wmo::root::detail::RootPre83
 Pre-8.3 root chunks: the by-name file-reference blocks. More...
struct  wowlib::formats::wmo::root::detail::Root81
 8.1+ root chunks (the FileDataID chunks that replace name lookups). More...
struct  wowlib::formats::wmo::root::detail::Root83
 8.3+ root chunks (per-doodad colour + the volume family). More...
struct  wowlib::formats::wmo::root::detail::Root90
 9.0+ root chunks (fog/group v2, dynamic lights, detail doodads). More...
struct  wowlib::formats::wmo::root::detail::Root91
 9.1+ root chunks. More...
struct  wowlib::formats::wmo::root::detail::Root110
 11.0+ root chunks. More...
struct  wowlib::formats::wmo::root::detail::Root111
 11.1+ root chunks. More...
struct  wowlib::formats::wmo::root::detail::WMORoot< V >
 A WMO (world map object) root file for one client version. More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::wmo
namespace  wowlib::formats::wmo::root
 The WMO root-file entity: WMORoot and its per-version classes.
namespace  wowlib::formats::wmo::root::detail

Typedefs

template<ClientVersion V>
using wowlib::formats::wmo::root::WMORoot = detail::WMORoot<canonicalVersion(V, WmoRootPivots, WmoVersions)>
 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.

Detailed Description

The WMO root-file entity (namespace wowlib::formats::wmo::root): header, materials, group metadata, portals, lights, doodads, fog and the later-expansion volume/light extensions.

Version-gated chunks live in conditionally-inherited trait bases (one unwelded struct per availability range, in wmo::root::detail) — e.g. the pre-8.3 by-name blocks MOTX/MODN (gone once the client stopped resolving files by name) — while the always-present chunks are the entity's own members. A version's WMORoot therefore carries ONLY the chunks that version defines. The root binary structs live in wmo::root::chunks.

Definition in file root.hpp.