Table of Contents

Class WDTLightsLegionToBfa

Namespace
WoWLib.Formats.WDT.Lights
Assembly
WoWLib.dll

A _lgt.wdt lights satellite for one client version (WoD+): freely placed point lights (MPLT/MPL2/MPL3 by era), spot lights, their textures and animations. See https://wowdev.wiki/WDT.

public class WDTLightsLegionToBfa : WDTLights, IDisposable
Inheritance
WDTLightsLegionToBfa
Implements
Inherited Members

Constructors

WDTLightsLegionToBfa()

public WDTLightsLegionToBfa()

WDTLightsLegionToBfa(WDTLightsLegionToBfa)

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

public WDTLightsLegionToBfa(WDTLightsLegionToBfa other)

Parameters

other WDTLightsLegionToBfa

Properties

LightAnimations

Light texture animations (MLTA, Legion+), referenced by mlta_index.

public Vector<LightAnimation> LightAnimations { get; }

Property Value

Vector<LightAnimation>

Mver

The file format version: 18 up to Legion 7.0.1.20740, 20 since 7.0.1.20914.

public uint Mver { get; set; }

Property Value

uint

PointLights

The Legion point lights (MPL2); 9.0+ files carry MPL3 instead.

public Vector<MapPointLight> PointLights { get; }

Property Value

Vector<MapPointLight>

SpotLights

The spot lights (MSLT, Legion+).

public Vector<MapSpotLight> SpotLights { get; }

Property Value

Vector<MapSpotLight>

TextureFdids

Light-cookie texture FileDataIDs (MTEX, Legion+), referenced by texture_index.

public Vector<uint> TextureFdids { get; }

Property Value

Vector<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 override void Dispose()

EnsureValid()

Validate and raise on the first error instead of returning a report — the assert-style face of validate().

public void EnsureValid()

Read(byte[])

Deserialize file bytes into this entity, replacing its contents. Unmodeled chunks are preserved so an unmodified entity rewrites byte-for-byte.

public void Read(byte[] data)

Parameters

data byte[]

the file bytes

Validate()

Check the logical integrity contracts this file must satisfy to LOAD in the client — companion-chunk counts, index ranges, flag/presence coherence — which write() deliberately never enforces. Call it before writing when you want to know the result will load. A file read from a client and left unmodified reports no errors; warnings mark states real client files ship.

public ValidationReport Validate()

Returns

ValidationReport

every violated contract, in member order

Write()

Serialize this entity.

public byte[] Write()

Returns

byte[]

the file bytes