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

M2 skin-profile records (namespace wowlib::formats::m2::skin): the LOD view onto the model — local vertex/index/bone lookups, submeshes and render batches. More...

#include <array>
#include <cstddef>
#include <cstdint>
#include <format>
#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/common/validation.hpp>
#include <wowlib/formats/m2/boundaries.hpp>
#include <wowlib/formats/m2/root/record/track.hpp>
Include dependency graph for records.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::skin::M2SkinSectionBase
 The version-agnostic base of every M2SkinSection<V> (welded as "M2SkinSection"). More...
struct  wowlib::formats::m2::skin::M2SkinProfileBase
 The version-agnostic base of every M2SkinProfile<V> (welded as "M2SkinProfile"). More...
struct  wowlib::formats::m2::skin::detail::M2SkinSection< V >
 A skin submesh, vanilla layout (no sort data yet). More...
struct  wowlib::formats::m2::skin::M2Batch
 An M2 skin render batch (texture unit): submesh + material + the lookup bases the shaders consume. More...
struct  wowlib::formats::m2::skin::M2ShadowBatch
 An M2 skin shadow batch (Cata+); the client can also generate these from the render batches. More...
struct  wowlib::formats::m2::skin::detail::M2SkinProfile< V >
 One LOD view: local vertex/bone lookups into the model, submeshes and render batches; embedded in the model pre-WotLK, an own .skin file after. More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::m2
namespace  wowlib::formats::m2::skin
 The external LOD view entity (.skin file, WotLK+) and the skin profile records (submeshes, render batches).
namespace  wowlib::formats::m2::skin::detail
 One external LOD view of a model ("{model}0N.skin", or SFID FileDataIDs in Legion+).

Typedefs

template<ClientVersion V>
using wowlib::formats::m2::skin::M2SkinSection = detail::M2SkinSection<canonicalVersion(V, M2SkinSectionPivots, M2Versions)>
 A skin submesh — the canonicalizing face of detail::M2SkinSection (M2SkinSectionPivots: TBC's sort center/radius tail).
template<ClientVersion V>
using wowlib::formats::m2::skin::M2SkinProfile = detail::M2SkinProfile<canonicalVersion(V, M2SkinProfilePivots, M2Versions)>
 One LOD view — the canonicalizing face of detail::M2SkinProfile (M2SkinProfilePivots: TBC's section layout, Cata's shadow batches).

Detailed Description

M2 skin-profile records (namespace wowlib::formats::m2::skin): the LOD view onto the model — local vertex/index/bone lookups, submeshes and render batches.

Pre-WotLK the profiles sit embedded in the MD20 header; WotLK+ each profile is its own .skin file (see m2::skin::Skin). The profile is one offset record either way — offsets resolve against whichever file carries it.

Definition in file records.hpp.