wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
wowlib::formats::wmo::root::chunks::SMOHeader Struct Reference

The MOHD root header: entity counts, ambient color, bounds and root-wide flags. More...

#include <wowlib/formats/wmo/root/chunks/header.hpp>

Public Attributes

std::uint32_t nTextures = 0
 Number of textures.
std::uint32_t nGroups = 0
 Number of group files; derived from the MOGI group-info table on write and hidden from bindings.
std::uint32_t nPortals = 0
 Number of portals; derived from the MOPT table on write and hidden from bindings.
std::uint32_t nLights = 0
 Number of lights (MOLT).
std::uint32_t nDoodadNames = 0
 Number of doodad filenames.
std::uint32_t nDoodadDefs = 0
 Number of doodad placements (MODD).
std::uint32_t nDoodadSets = 0
 Number of doodad sets; derived from the MODS table on write and hidden from bindings.
CArgb ambientColor {}
 Base ambient color.
std::uint32_t wmoId = 0
 Foreign key into WMOAreaTable (m_WMOID).
CAaBox boundingBox {}
 Bounding box of the whole object in model space.
HeaderFlags flags {}
 Root-wide flags; HeaderFlags bits.
std::uint16_t numLod = 0
 Number of LOD levels including the base (Legion+; zero before).

Detailed Description

The MOHD root header: entity counts, ambient color, bounds and root-wide flags.

Definition at line 34 of file header.hpp.

Member Data Documentation

◆ ambientColor

CArgb wowlib::formats::wmo::root::chunks::SMOHeader::ambientColor {}

Base ambient color.

Definition at line 65 of file header.hpp.

◆ boundingBox

CAaBox wowlib::formats::wmo::root::chunks::SMOHeader::boundingBox {}

Bounding box of the whole object in model space.

Definition at line 71 of file header.hpp.

◆ flags

HeaderFlags wowlib::formats::wmo::root::chunks::SMOHeader::flags {}

Root-wide flags; HeaderFlags bits.

Definition at line 74 of file header.hpp.

◆ nDoodadDefs

std::uint32_t wowlib::formats::wmo::root::chunks::SMOHeader::nDoodadDefs = 0

Number of doodad placements (MODD).

NOT derived: many client files store an inflated legacy count; preserved as stored.

Definition at line 59 of file header.hpp.

◆ nDoodadNames

std::uint32_t wowlib::formats::wmo::root::chunks::SMOHeader::nDoodadNames = 0

Number of doodad filenames.

Matches the MODN entry count pre-8.3, but FileDataID-era files keep a legacy value unrelated to MODI's length; preserved as stored.

Definition at line 56 of file header.hpp.

◆ nDoodadSets

std::uint32_t wowlib::formats::wmo::root::chunks::SMOHeader::nDoodadSets = 0

Number of doodad sets; derived from the MODS table on write and hidden from bindings.

Definition at line 62 of file header.hpp.

Referenced by wowlib::formats::wmo::root::detail::WMORoot< canonicalVersion(V, WmoRootPivots, WmoVersions)>::patchChunk().

◆ nGroups

std::uint32_t wowlib::formats::wmo::root::chunks::SMOHeader::nGroups = 0

Number of group files; derived from the MOGI group-info table on write and hidden from bindings.

Definition at line 47 of file header.hpp.

Referenced by wowlib::formats::wmo::root::detail::WMORoot< canonicalVersion(V, WmoRootPivots, WmoVersions)>::patchChunk().

◆ nLights

std::uint32_t wowlib::formats::wmo::root::chunks::SMOHeader::nLights = 0

Number of lights (MOLT).

NOT derived: a handful of 8.x files store a different count (extra non-MOLT lights); preserved as stored.

Definition at line 53 of file header.hpp.

◆ nPortals

std::uint32_t wowlib::formats::wmo::root::chunks::SMOHeader::nPortals = 0

Number of portals; derived from the MOPT table on write and hidden from bindings.

Definition at line 50 of file header.hpp.

Referenced by wowlib::formats::wmo::root::detail::WMORoot< canonicalVersion(V, WmoRootPivots, WmoVersions)>::patchChunk().

◆ nTextures

std::uint32_t wowlib::formats::wmo::root::chunks::SMOHeader::nTextures = 0

Number of textures.

NOT derived: hundreds of client files store more than the MOTX entry count (exporter-era duplicates), and 8.3+ FileDataID-era files keep a legacy value with no MOTX at all; preserved as stored.

Definition at line 44 of file header.hpp.

◆ numLod

std::uint16_t wowlib::formats::wmo::root::chunks::SMOHeader::numLod = 0

Number of LOD levels including the base (Legion+; zero before).

Definition at line 77 of file header.hpp.

◆ wmoId

std::uint32_t wowlib::formats::wmo::root::chunks::SMOHeader::wmoId = 0

Foreign key into WMOAreaTable (m_WMOID).

Definition at line 68 of file header.hpp.


The documentation for this struct was generated from the following file: