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

The WDC-family decoder (entry point declared in wdc.hpp): drives a parsed WdcImage through the runtime schema into a RecordSink. More...

#include <wowlib/db/wdc/wdc.hpp>
#include <algorithm>
#include <cstring>
#include <format>
#include <limits>
#include <string>
#include <vector>
#include <wowlib/core/client_builds.hpp>
#include <wowlib/db/codec_detail.hpp>
#include <wowlib/db/schema.hpp>
Include dependency graph for read.cpp:

Go to the source code of this file.

Namespaces

namespace  wowlib
namespace  wowlib::db
namespace  wowlib::db::wdc

Functions

Result< void > wowlib::db::wdc::readWdc (const TableInfo &info, std::span< const std::byte > data, RecordSink &sink, TableState &state)
 Decode a WDC-family image onto the schema: every unencrypted section's records (inline fields via their compression kind, the id from the idList / an inline column / the sparse offset map, strings via the flavor's reference convention), relationship-map values onto the non-inline relation column, and copy-table rows as id-cloned records.

Detailed Description

The WDC-family decoder (entry point declared in wdc.hpp): drives a parsed WdcImage through the runtime schema into a RecordSink.

One decoder serves WDC1/WDC3/WDC4/WDC5 — the flavor differences are normalized at parse time (image.hpp), leaving only the string-reference convention to branch on.

Definition in file read.cpp.