13#include <welder/vocabulary.hpp>
23 =welder::doc(
"An AFID entry: the .anim FileDataID for one (animation, "
24 "variation) pair; 0 means none.")
26 [[=welder::doc(
"AnimationData.dbc id of the sequence.")]]
28 [[=welder::doc(
"The sequence variation index.")]]
30 [[=welder::doc(
"FileDataID of the .anim file; 0 means none.")]]
42 =welder::doc(
"An EXPT record: z-source, color and alpha multipliers for "
43 "one particle emitter.")
45 [[=welder::doc(
"If > 0, initial velocity points from (0, 0, z_source) to "
48 [[=welder::doc(
"Multiplied into the particle's diffuse color.")]]
50 [[=welder::doc(
"Multiplied into the particle's opacity.")]]
60 =welder::doc(
"An EXP2 record: the EXPT parameters plus the per-lifetime "
63 [[=welder::doc(
"If > 0, initial velocity points from (0, 0, z_source) to "
66 [[=welder::doc(
"Multiplied into the particle's diffuse color.")]]
68 [[=welder::doc(
"Multiplied into the particle's opacity.")]]
70 [[=welder::doc(
"Alpha-test threshold sampled by the particle's lifetime.")]]
80 =welder::doc(
"A DETL record (9.0+): per-light flags, shadow-RT scale and "
81 "diffuse multiplier (raw half-floats).")
83 [[=welder::doc(
"Unknown per-light flags.")]]
84 std::uint16_t
flags = 0;
85 [[=welder::doc(
"Scale for the shadow RT matrix (raw half-float).")]]
87 [[=welder::doc(
"Multiplier for the light's diffuse color (raw "
90 [[=welder::doc(
"Unknown.")]]
92 [[=welder::doc(
"Unknown.")]]
110 =welder::doc(
"The EXP2 chunk payload: extended particle records, one per "
115 [[=welder::mark::no_reassign,
116 =welder::doc(
"Extended particle parameters, one per particle emitter.")]]
117 std::vector<M2ExtendedParticle> content;
121 [[=welder::mark::exclude]]
122 bool empty()
const {
return content.empty(); }
129 =welder::doc(
"The PABC chunk payload: the parent-model sequence-id "
130 "blacklist ('BlacklistAnimData').")
134 [[=welder::mark::no_reassign,
135 =welder::doc(
"Replacement parent-sequence lookups: a plain list of "
136 "present AnimationData ids.")]]
137 std::vector<std::uint16_t> replacementParentSequenceLookups;
141 [[=welder::mark::exclude]]
142 bool empty()
const {
return replacementParentSequenceLookups.empty(); }
149 =welder::doc(
"The PSBC chunk payload: parent sequence bounds.")
153 [[=welder::mark::no_reassign,
154 =welder::doc(
"Parent sequence bounds, one per parent sequence.")]]
155 std::vector<root::record::M2Bounds> parentSequenceBounds;
159 [[=welder::mark::exclude]]
160 bool empty()
const {
return parentSequenceBounds.empty(); }
167 =welder::doc(
"The PGD1 chunk payload: per-particle-emitter geoset "
172 [[=welder::mark::no_reassign,
173 =welder::doc(
"The geoset each particle emitter obeys (M2SkinSection "
175 std::vector<std::uint16_t> geosets;
179 [[=welder::mark::exclude]]
180 bool empty()
const {
return geosets.empty(); }
182 bool operator==(
const Pgd1Data&)
const =
default;
Client version identity, the flavor axis that separates a client's CONTENT version from the engine ge...
constexpr ClientVersion Legion
The offset-format storage vocabulary and serializer engine for the M2 family, in one header.
One AFID entry: which FileDataID serves a sequence's .anim data.
std::uint16_t subAnimId
The sequence variation index.
bool operator==(const AnimFileEntry &) const =default
std::uint16_t animId
AnimationData.dbc id of the sequence.
std::uint32_t fileId
FileDataID of the .anim file; 0 means none.
One EXPT record: the pre-EXP2 extended particle parameters (the client reconstructs EXP2 from these w...
float colorMult
Multiplied into the particle's diffuse color.
bool operator==(const M2ExtendedParticleSimple &) const =default
float alphaMult
Multiplied into the particle's opacity.
float zSource
If > 0, initial velocity points from (0, 0, z_source) to the spawn point.
An EXP2 record: the EXPT parameters plus the per-lifetime alpha-cutoff ramp.
root::record::M2PartTrack< fixed16 > alphaCutoff
Alpha-test threshold sampled by the particle's lifetime.
float alphaMult
Multiplied into the particle's opacity.
float colorMult
Multiplied into the particle's diffuse color.
bool operator==(const M2ExtendedParticle &) const =default
float zSource
If > 0, initial velocity points from (0, 0, z_source) to the spawn point.
The M2 animation vocabulary (namespace wowlib::formats::m2::root::record): the small fixed-size primi...