|
wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
|
The binary-level math and color primitives shared across WoW file formats (wowdev.wiki Common_Types), under their established client names. More...
#include <array>#include <cstdint>#include <welder/vocabulary.hpp>Go to the source code of this file.
Classes | |
| struct | wowlib::formats::common::C2Vector |
| A 2D float vector: texture coordinates, UV animation speeds. More... | |
| struct | wowlib::formats::common::C2IVector |
| A 2D integer vector. More... | |
| struct | wowlib::formats::common::C3Vector |
| A 3D float vector — the workhorse: positions, normals, rotations-as-Euler-degrees in placements. More... | |
| struct | wowlib::formats::common::C3IVector |
| A 3D integer vector. More... | |
| struct | wowlib::formats::common::C4Vector |
| A 4D float vector. More... | |
| struct | wowlib::formats::common::C4Quaternion |
| struct | wowlib::formats::common::C33Matrix |
| A 3x3 matrix as three column C3Vectors. More... | |
| struct | wowlib::formats::common::C34Matrix |
| A 3x4 matrix as four column C3Vectors. More... | |
| struct | wowlib::formats::common::C44Matrix |
| A 4x4 matrix as four column C4Vectors. More... | |
| struct | wowlib::formats::common::C4Plane |
| A plane as a normal and its signed distance from the origin. More... | |
| struct | wowlib::formats::common::CAaBox |
| An axis-aligned bounding box: minimum and maximum corners. More... | |
| struct | wowlib::formats::common::CAaSphere |
| An axis-aligned sphere: position and radius. More... | |
| struct | wowlib::formats::common::CRange |
| A float range: minimum and maximum. More... | |
| struct | wowlib::formats::common::CArgb |
| A color stored as r, g, b, a bytes. More... | |
| struct | wowlib::formats::common::CImVector |
| A color stored as b, g, r, a bytes — the client's immediate-mode vertex color layout (WMO MOCV, doodad colors). More... | |
| struct | wowlib::formats::common::fixed16 |
| A signed 16-bit fixed-point value with an implicit 0x7FFF scale. More... | |
Namespaces | |
| namespace | wowlib |
| namespace | wowlib::formats |
| namespace | wowlib::formats::common |
Macros | |
| #define | WOWLIB_EMPTY_BASES |
| Empty-base optimization for a binary struct that carries a (welded, empty) facade base: gcc/clang always elide it, but MSVC needs the hint once a class has more than one empty base — spelled here so a memcpy'd struct's on-disk layout is compiler-independent. | |
The binary-level math and color primitives shared across WoW file formats (wowdev.wiki Common_Types), under their established client names.
All are trivially copyable with exact on-disk layout — chunk payloads memcpy straight into arrays of them. Fixed-size sequences are std::array (layout guarded by the size asserts) so they cross into the bindings.
Definition in file types.hpp.
| #define WOWLIB_EMPTY_BASES |
Empty-base optimization for a binary struct that carries a (welded, empty) facade base: gcc/clang always elide it, but MSVC needs the hint once a class has more than one empty base — spelled here so a memcpy'd struct's on-disk layout is compiler-independent.
wowlib compiles under gcc-16 only today (C++26 reflection), so this is future-proofing; the size static_asserts are the actual guarantee.