Table of Contents

Class SmoHeader

Namespace
WoWLib.Formats.WMO.Root.Chunks
Assembly
WoWLib.dll

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

public class SmoHeader : IDisposable
Inheritance
SmoHeader
Implements
Inherited Members

Constructors

SmoHeader()

public SmoHeader()

SmoHeader(SmoHeader)

Copy-construct: a deep copy of other (the C++ copy constructor).

public SmoHeader(SmoHeader other)

Parameters

other SmoHeader

Properties

AmbientColor

Base ambient color.

public CArgb AmbientColor { get; set; }

Property Value

CArgb

BoundingBox

Bounding box of the whole object in model space.

public CAaBox BoundingBox { get; set; }

Property Value

CAaBox

Flags

Root-wide flags; HeaderFlags bits.

public HeaderFlags Flags { get; set; }

Property Value

HeaderFlags

NDoodadDefs

Number of doodad placements (MODD). NOT derived: many client files store an inflated legacy count; preserved as stored.

public uint NDoodadDefs { get; set; }

Property Value

uint

NDoodadNames

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.

public uint NDoodadNames { get; set; }

Property Value

uint

NLights

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

public uint NLights { get; set; }

Property Value

uint

NTextures

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.

public uint NTextures { get; set; }

Property Value

uint

NumLod

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

public ushort NumLod { get; set; }

Property Value

ushort

WmoId

Foreign key into WMOAreaTable (m_WMOID).

public uint WmoId { get; set; }

Property Value

uint

Methods

Dispose()

Release the native object now. Optional: the finalizer releases it on collection anyway - dispose (or using) when you want native memory back promptly.

public virtual void Dispose()