Table of Contents

Class MliqData

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

Structured MLIQ liquid data: a vertex grid and a tile-flag grid with a base position and material id. The on-disk header is 30 bytes (the uint16 material id sits directly after a 12-byte vector, so the header is read field-by-field, not memcpy'd) followed by verts_dim.xverts_dim.y vertices and tiles_dim.xtiles_dim.y tile bytes.

public class MliqData : IDisposable
Inheritance
MliqData
Implements
Inherited Members

Constructors

MliqData()

public MliqData()

MliqData(C2IVector, C2IVector, C3Vector, ushort, Vector<SmolVert>, Vector<SmolTile>)

public MliqData(C2IVector vertsDim, C2IVector tilesDim, C3Vector baseCoords, ushort materialId, Vector<SmolVert> vertices, Vector<SmolTile> tiles)

Parameters

vertsDim C2IVector
tilesDim C2IVector
baseCoords C3Vector
materialId ushort
vertices Vector<SmolVert>
tiles Vector<SmolTile>

MliqData(MliqData)

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

public MliqData(MliqData other)

Parameters

other MliqData

Properties

BaseCoords

Grid origin in group space.

public C3Vector BaseCoords { get; set; }

Property Value

C3Vector

Empty

Whether this group carries no liquid grid.

public bool Empty { get; }

Property Value

bool

MaterialId

Liquid material id: an MOMT index, or a LiquidType id when the root's use_liquid_type_dbc_id flag is set.

public ushort MaterialId { get; set; }

Property Value

ushort

Tiles

tiles_dim.x * tiles_dim.y tile flag bytes, row-major.

public Vector<SmolTile> Tiles { get; }

Property Value

Vector<SmolTile>

TilesDim

Tile grid dimensions (xtiles, ytiles); one less than the vertex dimensions in each axis.

public C2IVector TilesDim { get; set; }

Property Value

C2IVector

Vertices

verts_dim.x * verts_dim.y liquid vertices, row-major.

public Vector<SmolVert> Vertices { get; }

Property Value

Vector<SmolVert>

VertsDim

Vertex grid dimensions (xverts, yverts).

public C2IVector VertsDim { get; set; }

Property Value

C2IVector

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()