Class WDTParticulatesBfaPlus
A _mpv.wdt particulate-volume satellite for one client version (BfA 8.0.1+): weather particulate volumes as repeated PVMI/PVPD/PVBD groups — the i-th elements of the three lists belong together. Most maps ship it empty. See https://wowdev.wiki/WDT.
public class WDTParticulatesBfaPlus : WDTParticulates, IDisposable
- Inheritance
-
WDTParticulatesBfaPlus
- Implements
- Inherited Members
Constructors
WDTParticulatesBfaPlus()
public WDTParticulatesBfaPlus()
WDTParticulatesBfaPlus(WDTParticulatesBfaPlus)
Copy-construct: a deep copy of other (the C++ copy constructor).
public WDTParticulatesBfaPlus(WDTParticulatesBfaPlus other)
Parameters
otherWDTParticulatesBfaPlus
Properties
BoundGroups
One PVBD bounds array per volume group; reading a PVBD finalizes the group.
public Vector<Vector<ParticulateBounds>> BoundGroups { get; }
Property Value
Mver
The _mpv format version, 1 to 4; the PVMI record size is keyed on it (0xF5C / 0xFE8 / 0x10D8).
public uint Mver { get; set; }
Property Value
PointGroups
One PVPD point array per volume group.
public Vector<Vector<ParticulatePoint>> PointGroups { get; }
Property Value
VolumeData
One PVMI payload per volume group. The record layout is keyed on the file's own version payload, not the client build, so it is kept opaque.
public Vector<ChunkBlob> VolumeData { 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