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

The MOGP group header and group flag bits (namespace wowlib::formats::wmo::group::chunks). More...

#include <array>
#include <cstdint>
#include <utility>
#include <welder/vocabulary.hpp>
#include <wowlib/core/client_version.hpp>
#include <wowlib/core/lang.hpp>
#include <wowlib/formats/common/flags.hpp>
#include <wowlib/formats/common/types.hpp>
#include <wowlib/formats/wmo/boundaries.hpp>
Include dependency graph for header.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::chunks::WMOGroupHeaderBase
 The version-agnostic base of every SMOGroupHeader<V>, welded as "WMOGroupHeader". More...
struct  wowlib::formats::wmo::group::chunks::detail::SMOGroupHeader< V >
 The MOGP group header: names, flags, bounds, portal and batch ranges, fog and liquid. 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::chunks
 WMO group-file chunk binary structs (the MOGP header, render batches, BSP nodes, group lights) and their flag enums.
namespace  wowlib::formats::wmo::group::chunks::detail
 One render batch, 24 bytes.

Typedefs

template<ClientVersion V>
using wowlib::formats::wmo::group::chunks::SMOGroupHeader = detail::SMOGroupHeader<canonicalVersion(V, WmoGroupHeaderPivots, WmoVersions)>
 The MOGP header — the canonicalizing face of detail::SMOGroupHeader (WmoGroupHeaderPivots: the split-group indices arrive at 9.2), so two instantiations cover all eleven releases.

Enumerations

enum class  wowlib::formats::wmo::group::chunks::GroupFlags : std::uint32_t {
  wowlib::formats::wmo::group::chunks::HasBsp = 0x1 , wowlib::formats::wmo::group::chunks::HasLightMap , wowlib::formats::wmo::group::chunks::HasVertexColors = 0x4 , wowlib::formats::wmo::group::chunks::Exterior = 0x8 ,
  wowlib::formats::wmo::group::chunks::ExteriorLit = 0x40 , wowlib::formats::wmo::group::chunks::Unreachable = 0x80 , wowlib::formats::wmo::group::chunks::ShowExteriorSky , wowlib::formats::wmo::group::chunks::HasLights = 0x200 ,
  wowlib::formats::wmo::group::chunks::Lod , wowlib::formats::wmo::group::chunks::HasDoodads = 0x800 , wowlib::formats::wmo::group::chunks::HasLiquid , wowlib::formats::wmo::group::chunks::Interior = 0x2000 ,
  wowlib::formats::wmo::group::chunks::QueryMountAllowed = 0x8000 , wowlib::formats::wmo::group::chunks::AlwaysDraw , wowlib::formats::wmo::group::chunks::HasTriangleStrips = 0x20000 , wowlib::formats::wmo::group::chunks::ShowSkybox = 0x40000 ,
  wowlib::formats::wmo::group::chunks::Ocean , wowlib::formats::wmo::group::chunks::MountAllowed = 0x200000 , wowlib::formats::wmo::group::chunks::HasTwoMocv , wowlib::formats::wmo::group::chunks::HasTwoMotv ,
  wowlib::formats::wmo::group::chunks::Antiportal , wowlib::formats::wmo::group::chunks::ExteriorCull , wowlib::formats::wmo::group::chunks::HasThreeMotv = 0x40000000
}
 Group flag bits (MOGP and MOGI flags). More...
enum class  wowlib::formats::wmo::group::chunks::GroupFlags2 : std::uint32_t { wowlib::formats::wmo::group::chunks::CanCutTerrain = 0x1 , wowlib::formats::wmo::group::chunks::IsSplitGroupParent = 0x40 , wowlib::formats::wmo::group::chunks::IsSplitGroupChild = 0x80 , wowlib::formats::wmo::group::chunks::AttachmentMesh = 0x100 }
 Extended group flag bits (MOGP.flags2 and MGI2). More...

Detailed Description

The MOGP group header and group flag bits (namespace wowlib::formats::wmo::group::chunks).

Definition in file header.hpp.