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

The Legion+ chunked .m2 shell (namespace wowlib::formats::m2::chunked): M2ChunkedFile — the on-disk chunk stream that wraps the MD20 image (MD21) beside the satellite chunks (FileDataID references, extended particle data, parent-model overrides, inline physics). More...

#include <array>
#include <cstdint>
#include <vector>
#include <welder/vocabulary.hpp>
#include <wowlib/core/client_builds.hpp>
#include <wowlib/core/client_version.hpp>
#include <wowlib/core/lang.hpp>
#include <wowlib/formats/common/chunked_file.hpp>
#include <wowlib/formats/m2/boundaries.hpp>
#include <wowlib/formats/m2/chunked/records.hpp>
Include dependency graph for chunked.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::chunked::M2ChunkedFileBase
 The version-agnostic base of every M2ChunkedFile<V> (welded as "M2ChunkedFile"). More...
struct  wowlib::formats::m2::chunked::M2ChunkedFile< V >
 The chunked .m2 shell for one Legion+ client version. More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::m2
namespace  wowlib::formats::m2::chunked
 The Legion+ chunked .m2 shell (M2ChunkedFile) with its per-version classes and the companion-chunk payload records (AFID entries, extended particles, parent-model overrides).

Typedefs

template<ClientVersion V>
using wowlib::formats::m2::M2ChunkedFile = chunked::M2ChunkedFile<canonicalVersion(V, M2FilePivots, M2ChunkedVersions)>
 The chunked .m2 stream — the canonicalizing face of chunked::M2ChunkedFile: every Legion+ version maps to its range's first grid version (M2FilePivots — the active chunk set is constant within a range).

Detailed Description

The Legion+ chunked .m2 shell (namespace wowlib::formats::m2::chunked): M2ChunkedFile — the on-disk chunk stream that wraps the MD20 image (MD21) beside the satellite chunks (FileDataID references, extended particle data, parent-model overrides, inline physics).

Chunk ids are NOT reversed on disk, unlike every other WoW chunk format.

MD21 stays a ChunkBlob at this level: its content is the offset-addressed MD20 image, which the M2 assembly decodes into its root (M2Root) with the satellite context (.anim resolution) in hand, then DROPS — the blob is transport, not state; a plain chunk-level read still preserves it verbatim. Undocumented/unstable payloads stay ChunkBlob too.

Definition in file chunked.hpp.