Class WDTOcclusionWodPlus
A _occ.wdt occlusion satellite for one client version (WoD+): per-tile occlusion heightmaps. Each MAOI index record locates one tile's 545 int16 values inside the packed heights block. See https://wowdev.wiki/WDT.
public class WDTOcclusionWodPlus : WDTOcclusion, IDisposable
- Inheritance
-
WDTOcclusionWodPlus
- Implements
- Inherited Members
Constructors
WDTOcclusionWodPlus()
public WDTOcclusionWodPlus()
WDTOcclusionWodPlus(WDTOcclusionWodPlus)
Copy-construct: a deep copy of other (the C++ copy constructor).
public WDTOcclusionWodPlus(WDTOcclusionWodPlus other)
Parameters
otherWDTOcclusionWodPlus
Properties
Heights
The packed heightmap block (MAOH): the tiles' interleaved 17x17 + 16x16 int16 grids back to back, addressed by the index records' offsets (same layout as the WDL MARE payload). Empty for WMO-only maps.
public Vector<short> Heights { get; }
Property Value
Indices
The tile index (MAOI): one record per tile with occlusion data, locating its heightmap inside heights. Empty for WMO-only maps.
public Vector<OcclusionIndex> Indices { get; }
Property Value
Mver
The file format version; 18 like the main WDT.
public uint Mver { get; set; }
Property Value
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
databyte[]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