10#include <welder/vocabulary.hpp>
24 =welder::weld_as(
"M2CompBone"),
27 One skeleton bone. Abstract over the client version; construct a concrete
28 version with M2CompBone.ForVersion / for_version.)")
38 "M2CompBone flags: parent-transform exemptions, billboarding "
39 "and physics participation.")
48 Transformed [[=welder::doc(
"Has an animated transform.")]] = 0x200,
49 KinematicBone [[=welder::doc(
"MoP+: physics may drive this bone.")]] = 0x400,
50 HelmetAnimScaled [[=welder::doc(
"Scale by the helmet-anim-scaling record.")]
52 SequenceId [[=welder::doc(
53 "BfA+: parent_bone/submesh_id form a sequence id.")]] = 0x2000
59 template <ClientVersion V>
62 template <ClientVersion V>
67 "A bone, vanilla layout: raw-quaternion rotations, no name CRC.")
69 [[=welder::doc(
"Key-bone-lookup back reference, -1 if none.")]]
71 [[=welder::doc(
"See BoneFlags.")]]
73 [[=welder::doc(
"Parent bone index, -1 for roots.")]]
75 [[=welder::doc(
"Mesh part id.")]]
77 [[=welder::doc(
"Translation keyframes, relative to the parent bone.")]]
79 [[=welder::doc(
"Rotation keyframes as raw quaternions.")]]
81 [[=welder::doc(
"Scale keyframes.")]]
83 [[=welder::doc(
"The bone's pivot point.")]]
86 bool operator==(
const M2CompBone&)
const =
default;
89 template <ClientVersion V>
94 "A bone (TBC+): compressed-quaternion rotations plus the debug name "
95 "CRC; the track era inside follows the entity version.")
96 ]] M2CompBone<V> : M2CompBoneBase {
97 [[=welder::doc(
"Key-bone-lookup back reference, -1 if none.")]]
99 [[=welder::doc(
"See BoneFlags.")]]
101 [[=welder::doc(
"Parent bone index, -1 for roots.")]]
103 [[=welder::doc(
"Mesh part id.")]]
105 [[=welder::doc(
"CRC of the authoring bone name (debug only).")]]
107 [[=welder::doc(
"Translation keyframes, relative to the parent bone.")]]
109 [[=welder::doc(
"Rotation keyframes as compressed quaternions.")]]
111 [[=welder::doc(
"Scale keyframes.")]]
113 [[=welder::doc(
"The bone's pivot point.")]]
116 bool operator==(
const M2CompBone&)
const =
default;
123 template <ClientVersion V>
Client version identity, the flavor axis that separates a client's CONTENT version from the engine ge...
Binding-language identities welder's core does not name.
#define WOWLIB_CS_FAMILY_SURFACE
The C# rod's family-surface opt-in, spellable in every build.
The M2 version vocabulary: the layout pivots record/entity partial specializations key on,...
The M2 animation vocabulary (namespace wowlib::formats::m2::root::record): the small fixed-size primi...