wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
wowlib::fs Namespace Reference

Namespaces

namespace  detail

Classes

class  CascStorage
 Local CASC storage. More...
class  ClientFileSystem
 The static composition of one client's file access: storage backend + listfile database + optional project-directory overlay. More...
struct  ClientInstall
class  CsvListfile
 The CSV-backed path<->FileDataID database ('fileDataId;filepath' per line, the community listfile format of github.com/wowdev/wow-listfile). More...
struct  CsvListfileOptions
 Tuning knobs for loading a listfile. More...
class  FileSystem
struct  FileSystemSettings
class  MpqStorage
 MPQ chain storage. More...
struct  NullListfile
 The no-database provider for clients that need none (MPQ-era). More...
class  ProjectDirectory
 A local directory acting as the ultimate patch: files here override every client archive, and new files are added here. More...

Concepts

concept  ListfileProvider
 The pluggable path<->FileDataID database contract (CSV today, SQL later).
concept  StorageBackend
 The storage backend contract: what MpqStorage and CascStorage implement and ClientFileSystem composes over.

Typedefs

using MpqFileSystem = ClientFileSystem<MpqStorage, NullListfile>
 The concrete composition for MPQ-era clients (path-addressed, no listfile).
using CascFileSystem = ClientFileSystem<CascStorage, CsvListfile>
 The concrete composition for CASC-era clients (listfile-resolved FileDataIDs).

Variables

constexpr FileDataID DefaultCustomFdidStart {1'000'000'000}
 The first FileDataID handed to project files by default — far above Blizzard's ~6-7M so future official content never collides.

Typedef Documentation

◆ CascFileSystem

The concrete composition for CASC-era clients (listfile-resolved FileDataIDs).

Definition at line 32 of file filesystem.hpp.

◆ MpqFileSystem

The concrete composition for MPQ-era clients (path-addressed, no listfile).

Definition at line 29 of file filesystem.hpp.

Variable Documentation

◆ DefaultCustomFdidStart

FileDataID wowlib::fs::DefaultCustomFdidStart {1'000'000'000}
inlineconstexpr

The first FileDataID handed to project files by default — far above Blizzard's ~6-7M so future official content never collides.

Definition at line 36 of file filesystem.hpp.