|
wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
|
The legacy per-chunk liquid (MCLQ, up to and including WotLK): a 9x9 vertex grid, an 8x8 tile-flag grid and up to two flow vectors, decoded. More...
#include <wowlib/formats/adt/liquid.hpp>
Public Member Functions | |
| Result< void > | read (std::span< const std::byte > payload) |
| Decode an MCLQ payload into the height range, 9x9 vertex grid, 8x8 tile flags and active flow vectors. | |
| Result< void > | write (FileBuffer &out) const |
| Re-lay the legacy liquid into a fixed-grid MCLQ payload (81 verts, 64 tiles, the two-slot flow pair), appended to out. | |
| bool | empty () const |
| Whether the chunk carries no legacy liquid. | |
| bool | operator== (const MCLQData &) const =default |
Public Attributes | |
| CRange | heightRange {} |
| The surface height range (CRange: min, max). | |
| std::vector< SLVert > | vertices |
| The 9x9 = 81 liquid vertices, row-major. | |
| std::vector< std::uint8_t > | tiles |
| The 8x8 = 64 tile flag bytes (bits: liquid type, don't-render, fatigue). | |
| std::vector< SWFlowv > | flows |
| The active flow vectors (0-2). | |
The legacy per-chunk liquid (MCLQ, up to and including WotLK): a 9x9 vertex grid, an 8x8 tile-flag grid and up to two flow vectors, decoded.
Definition at line 141 of file liquid.hpp.
|
inlinenodiscard |
Whether the chunk carries no legacy liquid.
Definition at line 169 of file liquid.hpp.
References vertices.
|
default |
|
inline |
Decode an MCLQ payload into the height range, 9x9 vertex grid, 8x8 tile flags and active flow vectors.
| payload | the MCLQ chunk payload. |
Definition at line 392 of file liquid.hpp.
References flows, heightRange, tiles, and vertices.
|
inline |
Re-lay the legacy liquid into a fixed-grid MCLQ payload (81 verts, 64 tiles, the two-slot flow pair), appended to out.
| out | the destination buffer. |
Definition at line 418 of file liquid.hpp.
References flows, heightRange, tiles, and vertices.
| std::vector<SWFlowv> wowlib::formats::adt::MCLQData::flows |
The active flow vectors (0-2).
Definition at line 152 of file liquid.hpp.
| CRange wowlib::formats::adt::MCLQData::heightRange {} |
The surface height range (CRange: min, max).
Definition at line 143 of file liquid.hpp.
| std::vector<std::uint8_t> wowlib::formats::adt::MCLQData::tiles |
The 8x8 = 64 tile flag bytes (bits: liquid type, don't-render, fatigue).
Definition at line 149 of file liquid.hpp.
| std::vector<SLVert> wowlib::formats::adt::MCLQData::vertices |
The 9x9 = 81 liquid vertices, row-major.
Definition at line 146 of file liquid.hpp.