wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
liquid.hpp File Reference

ADT liquid binary pieces (namespace wowlib::formats::adt::chunks): the small trivially-copyable records the structured liquid entities (adt/liquid.hpp) build on — the MH2O vertex-format enum and UV entry, and the legacy MCLQ vertex union / tile / flow records. More...

#include <bit>
#include <cstdint>
#include <welder/vocabulary.hpp>
#include <wowlib/formats/common/types.hpp>
Include dependency graph for liquid.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wowlib::formats::adt::chunks::UVMapEntry
 One MH2O UV texture-coordinate entry (two u16, divided by 8 in shaders). More...
struct  wowlib::formats::adt::chunks::SMVert
 The magma/slime reading of an MCLQ vertex (8 bytes): two u16 texcoords and the shared height. More...
struct  wowlib::formats::adt::chunks::SLVert
 One legacy liquid vertex (MCLQ, 8 bytes). More...
struct  wowlib::formats::adt::chunks::SWFlowv
 One legacy liquid flow vector (MCLQ SWFlowv, 40 bytes). More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::adt
namespace  wowlib::formats::adt::chunks
 ADT chunk binary structs (the MCNK cell header, texture layers, liquid records, flying bounds) and their flag enums.

Enumerations

enum class  wowlib::formats::adt::chunks::LiquidVertexFormat : std::uint16_t { wowlib::formats::adt::chunks::HeightDepth = 0 , wowlib::formats::adt::chunks::HeightUv = 1 , wowlib::formats::adt::chunks::DepthOnly = 2 , wowlib::formats::adt::chunks::HeightUvDepth = 3 }

Detailed Description

ADT liquid binary pieces (namespace wowlib::formats::adt::chunks): the small trivially-copyable records the structured liquid entities (adt/liquid.hpp) build on — the MH2O vertex-format enum and UV entry, and the legacy MCLQ vertex union / tile / flow records.

The offset-driven MH2O and MCLQ payload layouts are decoded by MH2OData / MCLQData, not memcpy'd, so the per-chunk and per-instance headers live there.

Definition in file liquid.hpp.