|
wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
|
WDBC — the client-database format of every pre-Cataclysm .dbc (and the .dbc leftovers of Cataclysm..Legion clients): a 20-byte header, recordCount fixed-stride records, then the string block. More...
#include <cstddef>#include <cstdint>#include <span>#include <type_traits>#include <wowlib/core/buffer.hpp>#include <wowlib/core/error.hpp>#include <wowlib/db/codec.hpp>#include <wowlib/formats/common/fourcc.hpp>Go to the source code of this file.
Classes | |
| struct | wowlib::db::WdbcHeader |
| The 20-byte WDBC header (wowdev.wiki/DBC). More... | |
Namespaces | |
| namespace | wowlib |
| namespace | wowlib::db |
Functions | |
| Result< void > | wowlib::db::readWdbc (const TableInfo &info, std::span< const std::byte > data, RecordSink &sink, TableState &state) |
| Decode a WDBC image: 20-byte header, fixed-stride records, string block. | |
| Result< FileBuffer > | wowlib::db::writeWdbc (const TableInfo &info, const RecordSource &source, const TableState &state) |
| Encode a WDBC image; the string block preserves decoded offsets and appends new/changed strings (byte-perfect for an unmodified table). | |
Variables | |
| constexpr std::uint32_t | wowlib::db::WdbcMagic = formats::fourcc("WDBC", formats::FourCCEndian::Forward) |
| The WDBC magic as memcpy'd off the file front (the bytes "WDBC"). | |
WDBC — the client-database format of every pre-Cataclysm .dbc (and the .dbc leftovers of Cataclysm..Legion clients): a 20-byte header, recordCount fixed-stride records, then the string block.
Field types are not in the file; the schema comes from WoWDBDefs (schema.hpp).
This header carries the binary header struct and the NON-templated codec entry points; the implementation (wdbc.cpp) drives records through the RecordSink / RecordSource so it is compiled once, not per generated table.
Definition in file wdbc.hpp.