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

M2 skeleton records (namespace wowlib::formats::m2::root::record): M2CompBone across its eras. More...

#include <cstdint>
#include <welder/vocabulary.hpp>
#include <wowlib/core/lang.hpp>
#include <wowlib/core/client_version.hpp>
#include <wowlib/formats/m2/boundaries.hpp>
#include <wowlib/formats/m2/root/record/track.hpp>
Include dependency graph for bone.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::M2CompBoneBase
 The version-agnostic base of every M2CompBone<V> (welded as "M2CompBone"). More...
struct  wowlib::formats::m2::root::record::detail::M2CompBone< V >

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::M2CompBone
 A bone — the canonicalizing face of detail::M2CompBone: every client version maps to its range's first grid version (M2BonePivots: TBC's compressed quaternions + name CRC, WotLK's per-sequence timelines).

Enumerations

enum class  wowlib::formats::m2::root::record::BoneFlags : std::uint32_t {
  wowlib::formats::m2::root::record::IgnoreParentTranslate = 0x1 , wowlib::formats::m2::root::record::IgnoreParentScale = 0x2 , wowlib::formats::m2::root::record::IgnoreParentRotation = 0x4 , wowlib::formats::m2::root::record::SphericalBillboard = 0x8 ,
  wowlib::formats::m2::root::record::CylindricalBillboardLockX = 0x10 , wowlib::formats::m2::root::record::CylindricalBillboardLockY = 0x20 , wowlib::formats::m2::root::record::CylindricalBillboardLockZ = 0x40 , wowlib::formats::m2::root::record::Transformed = 0x200 ,
  wowlib::formats::m2::root::record::KinematicBone = 0x400
}
 M2CompBone flags: parent-transform exemptions, billboarding and physics participation. More...

Detailed Description

M2 skeleton records (namespace wowlib::formats::m2::root::record): M2CompBone across its eras.

Bones are offset records — their transform tracks nest per-sequence arrays behind M2Array references (WotLK+).

Definition in file bone.hpp.