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

The M2 family's satellite-file vocabulary (namespace wowlib::formats::m2), shared by the fs-level read/write definitions in m2.hpp and skeleton.hpp: More...

#include <cstdint>
#include <cstring>
#include <format>
#include <functional>
#include <initializer_list>
#include <map>
#include <optional>
#include <set>
#include <span>
#include <string>
#include <string_view>
#include <vector>
#include <wowlib/core/buffer.hpp>
#include <wowlib/core/error.hpp>
#include <wowlib/formats/common/fourcc.hpp>
#include <wowlib/formats/m2/offset_block.hpp>
#include <wowlib/formats/m2/chunked/records.hpp>
Include dependency graph for satellites.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::SequenceKey
 A sequence's satellite identity: the (animation id, variation) pair the .anim naming convention ("{stem}AAAA-SS.anim") and the AFID entries key on. More...
class  wowlib::formats::m2::SatellitePaths
 The satellite-file naming conventions around one model path: every companion file of "creature\\x\\x.m2" derives from the same stem. More...
class  wowlib::formats::m2::AnimCache
 A lazy per-sequence .anim loader handing out resolution windows: for a chunked file (leading AFM2) the requested chunk's payload, for a raw file the whole content when AFM2 is asked for (raw files predate the split sections). More...
class  wowlib::formats::m2::AnimBuffers
 The per-sequence external write buffers every M2-family write path shares: an external sequence's data lands in its own per-key buffer as the tracks route their blocks through sink(); inline sequences (and aliases, whose flags never mark them external) stay in the entity image. More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::m2

Detailed Description

The M2 family's satellite-file vocabulary (namespace wowlib::formats::m2), shared by the fs-level read/write definitions in m2.hpp and skeleton.hpp:

  • SequenceKey — the (animation id, variation) identity every .anim naming convention and AFID entry keys on;
  • SatellitePaths — the companion-file naming conventions around a model path;
  • AnimCache — the lazy .anim window cache with the shared per-sequence base resolver for reads;
  • AnimBuffers — the per-sequence external buffers with the shared sink for writes, and the chunk assembly of .anim files.

Pure C++ plumbing entities: nothing here welds to the bindings — the language surfaces speak through M2/Skeleton read() and write().

Definition in file satellites.hpp.