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

WMO root-file chunk binary structs (MOHD, MOMT, lights, doodads, fog, ambient volumes) and their flag enums. More...

Classes

struct  AmbientBoxVolume
 One MBVD entry (8.3+): a box-shaped ambient volume bounded by six planes. More...
struct  AmbientVolume
struct  FogExtra
 One MFED entry (9.0+): fog extra data; same count as MFOG. More...
struct  GroupInfo2
struct  LightExtension
struct  NewLight
struct  PortalExtra
struct  SMODoodadDef
 One MODD doodad placement: an M2 instance inside the WMO, quaternion-oriented in model space. More...
struct  SMODoodadSet
struct  SMOFog
 One MFOG entry: a fog volume with regular and under-water settings. More...
struct  SMOGroupInfo
 One MOGI entry: per-group flags, bounds and name, mirrored from the group file's own header. More...
struct  SMOHeader
 The MOHD root header: entity counts, ambient color, bounds and root-wide flags. More...
struct  SMOLight
 One MOLT light. More...
struct  SMOMaterial
struct  SMOPortal
 One MOPT portal: a polygon plane separating two groups. More...
struct  SMOPortalRef
 One MOPR entry: a group's reference to a portal and the group on the other side. More...
struct  SMOVisibleBlock
struct  UVAnimation

Enumerations

enum class  DoodadFlags : std::uint32_t { NameMask , AcceptProjTex = 0x0100'0000 , InteriorLighting = 0x0200'0000 }
 Doodad placement flag bits, packed into the high byte of SMODoodadDef.name_and_flags. More...
enum class  HeaderFlags : std::uint16_t {
  DoNotAttenuateVertices , UseUnifiedRenderPath = 0x2 , UseLiquidTypeDbcId = 0x4 , DoNotFixVertexColorAlpha = 0x8 ,
  Lod = 0x10 , DefaultMaxLod = 0x20
}
 Root header flag bits (SMOHeader.flags). More...
enum class  LightType : std::uint8_t { Omni = 0 , Spot = 1 , Direct = 2 , Ambient = 3 }
 The kind of a WMO light (SMOLight.type). More...
enum class  MaterialFlags : std::uint32_t {
  Unlit = 0x1 , Unfogged = 0x2 , TwoSided = 0x4 , ExtLight = 0x8 ,
  Sidn = 0x10 , Window = 0x20 , ClampS = 0x40 , ClampT = 0x80
}
 Material flag bits (SMOMaterial.flags). More...

Detailed Description

WMO root-file chunk binary structs (MOHD, MOMT, lights, doodads, fog, ambient volumes) and their flag enums.

Enumeration Type Documentation

◆ DoodadFlags

enum class wowlib::formats::wmo::root::chunks::DoodadFlags : std::uint32_t
strong

Doodad placement flag bits, packed into the high byte of SMODoodadDef.name_and_flags.

Enumerator
NameMask 

The low 24 bits: the MODN offset / MODI index mask.

AcceptProjTex 

Accept projected textures.

InteriorLighting 

Use interior lighting.

Definition at line 44 of file doodad.hpp.

◆ HeaderFlags

enum class wowlib::formats::wmo::root::chunks::HeaderFlags : std::uint16_t
strong

Root header flag bits (SMOHeader.flags).

Enumerator
DoNotAttenuateVertices 

Do not attenuate vertices based on portal distance.

UseUnifiedRenderPath 

Attenuate on portal exit (unified render path).

UseLiquidTypeDbcId 

MLIQ ids are LiquidType foreign keys, not the legacy set.

DoNotFixVertexColorAlpha 

Skip the vertex-color alpha fixup (FixColorVertexAlpha).

Lod 

The WMO has LOD group files (Legion+).

DefaultMaxLod 

num_lod is defaulted, implying 3 LOD levels (BfA+).

Definition at line 21 of file header.hpp.

◆ LightType

enum class wowlib::formats::wmo::root::chunks::LightType : std::uint8_t
strong

The kind of a WMO light (SMOLight.type).

Enumerator
Omni 

A point light.

Spot 

A spot light.

Direct 

A directional light.

Ambient 

An ambient light.

Definition at line 21 of file light.hpp.

◆ MaterialFlags

enum class wowlib::formats::wmo::root::chunks::MaterialFlags : std::uint32_t
strong

Material flag bits (SMOMaterial.flags).

Enumerator
Unlit 

Disable lighting.

Unfogged 

Disable fog.

TwoSided 

Disable backface culling.

ExtLight 

Use exterior lighting on interior surfaces.

Sidn 

Self-illuminated at day and night (window glow).

Window 

A window (lighting special case).

ClampS 

Clamp texture addressing on S.

ClampT 

Clamp texture addressing on T.

Definition at line 21 of file material.hpp.