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

M2 effect-emitter records (namespace wowlib::formats::m2::root::record): ribbon emitters and the particle emitters — the format's most layout-turbulent record, in four eras (vanilla statics, late-TBC packed header, WotLK FBlock ramps + four spin fields, Cata+ multi-texturing). More...

#include <array>
#include <cstdint>
#include <string>
#include <vector>
#include <welder/vocabulary.hpp>
#include <wowlib/core/lang.hpp>
#include <wowlib/core/client_version.hpp>
#include <wowlib/formats/common/annotations.hpp>
#include <wowlib/formats/m2/boundaries.hpp>
#include <wowlib/formats/m2/root/record/track.hpp>
Include dependency graph for effects.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wowlib::formats::m2::root::record::M2RibbonBase
 The version-agnostic base of every M2Ribbon<V> (welded as "M2Ribbon"). More...
struct  wowlib::formats::m2::root::record::M2ParticleBase
 The version-agnostic base of every M2Particle<V> (welded as "M2Particle"). More...
struct  wowlib::formats::m2::root::record::detail::M2Ribbon< V >
 A ribbon (trail) emitter; the priority/color-index tail exists WotLK+. More...
struct  wowlib::formats::m2::root::record::M2Vec2FP69
 A 2D vector of 6.9 fixed-point values (raw u16 storage). More...
struct  wowlib::formats::m2::root::record::detail::M2Particle< V >
 A particle emitter, vanilla layout: wide u16 blending/emitter header, static color/scale/UV ramps, a single spin value. More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::m2
namespace  wowlib::formats::m2::root
 The MD20 model body (M2Root) with its per-version classes.
namespace  wowlib::formats::m2::root::record
 M2 body record structs (sequences, bones, tracks, textures, cameras, emitters) and their flag enums.
namespace  wowlib::formats::m2::root::record::detail

Typedefs

template<ClientVersion V>
using wowlib::formats::m2::root::record::M2Ribbon = detail::M2Ribbon<canonicalVersion(V, M2TrackPivots, M2Versions)>
 A ribbon emitter — the canonicalizing face of detail::M2Ribbon (the WotLK trailing fields and the embedded track era share one pivot, M2TrackPivots).
template<ClientVersion V>
using wowlib::formats::m2::root::record::M2Particle = detail::M2Particle<canonicalVersion(V, M2ParticlePivots, M2Versions)>
 A particle emitter — the canonicalizing face of detail::M2Particle (M2ParticlePivots: TBC's byte-packed types, WotLK's ramps and spins, Cata's multi-texture layout).

Detailed Description

M2 effect-emitter records (namespace wowlib::formats::m2::root::record): ribbon emitters and the particle emitters — the format's most layout-turbulent record, in four eras (vanilla statics, late-TBC packed header, WotLK FBlock ramps + four spin fields, Cata+ multi-texturing).

Definition in file effects.hpp.