|
wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
|
Per-version MPQ archive chain tables and their expansion against a real or fake Data/ directory. More...
#include <filesystem>#include <span>#include <string_view>#include <vector>#include <wowlib/core/client_version.hpp>#include <wowlib/core/error.hpp>Go to the source code of this file.
Classes | |
| struct | wowlib::fs::detail::ChainEntry |
| One base-tier row. More... | |
| struct | wowlib::fs::detail::MpqChainSpec |
| A client version's archive chain: the fixed base tier plus how its patch tier is found. More... | |
| struct | wowlib::fs::detail::ChainMember |
| One resolved member of a chain, in load order. More... | |
Namespaces | |
| namespace | wowlib |
| namespace | wowlib::fs |
| namespace | wowlib::fs::detail |
Enumerations | |
| enum class | wowlib::fs::detail::ChainEntryKind { wowlib::fs::detail::Fixed , wowlib::fs::detail::LocaleFixed } |
| How one base-tier row produces its archive path. More... | |
| enum class | wowlib::fs::detail::PatchScheme { wowlib::fs::detail::None , wowlib::fs::detail::ClassicWildcard , wowlib::fs::detail::UpdateChain } |
| How a version's patch tier is discovered on disk. More... | |
Functions | |
| const MpqChainSpec * | wowlib::fs::detail::findChainSpec (const ClientVersion &version) |
| The chain spec for version: exact build match first, then major.minor.patch. | |
| Result< std::vector< ChainMember > > | wowlib::fs::detail::expandChain (const MpqChainSpec &spec, const std::filesystem::path &dataDir, Locale locale) |
| Expand a chain spec against a Data directory into concrete members in load order (lowest -> highest priority): the base tier in table order, then the patch tier as ONE list sorted by the client's case-insensitive, extension-stripped filename order (so patch < patch-2 < ..., with base and locale patches interleaved — a high base letter-patch like patch-Z outranks the locale patches). | |
Per-version MPQ archive chain tables and their expansion against a real or fake Data/ directory.
Implementation detail of MpqStorage — pure (no StormLib types), so ordering rules are unit-testable without a client.
Definition in file mpq_chain.hpp.