wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
wowlib::audit::detail::FormatDrivers Class Reference

The per-format round-trip drivers behind Auditor::roundtrip. More...

#include <wowlib/audit/detail.hpp>

Static Public Member Functions

static RoundtripReport wmo (fs::FileSystem &fs, const std::string &path, ClientVersion version)
 Byte-perfect round-trip of one root WMO and all its group files (GFID-located on Legion+, name-derived before).
static RoundtripReport m2 (fs::FileSystem &fs, const std::string &path, ClientVersion version)
 Stability round-trip of one model: the assembly read (satellites baked in), then write -> parse -> write-again compares of the body (external .anim buffers included), the skel blocks and every skin.
static RoundtripReport adt (fs::FileSystem &fs, const std::string &path, ClientVersion version)
 Stability round-trip of one terrain tile (monolithic pre-Cata, split Cata+), deriving the map's alpha format from its WDT per call.
static RoundtripReport wdt (fs::FileSystem &fs, const std::string &path, ClientVersion version)
 Byte-perfect round-trip of one main WDT file.
static RoundtripReport wdl (fs::FileSystem &fs, const std::string &path, ClientVersion version)
 Byte-perfect round-trip of one WDL file.
static RoundtripReport blp (fs::FileSystem &fs, const std::string &path)
 Byte-perfect round-trip of one BLP texture (the format is version-stable, so no version dispatch).

Detailed Description

The per-format round-trip drivers behind Auditor::roundtrip.

One static member per format; each is defined in its own translation unit (roundtrip_<format>.cpp) so the per-version entity matrices compile in parallel. Every driver dispatches the runtime version itself and answers skipped:unsupported-version for clients its format does not instantiate.

Definition at line 214 of file detail.hpp.

Member Function Documentation

◆ adt()

RoundtripReport wowlib::audit::detail::FormatDrivers::adt ( fs::FileSystem & fs,
const std::string & path,
ClientVersion version )
static

Stability round-trip of one terrain tile (monolithic pre-Cata, split Cata+), deriving the map's alpha format from its WDT per call.

Parameters
fsthe client filesystem.
paththe canonical root .adt path.
versionthe client version.
Returns
the outcome.

Definition at line 182 of file roundtrip_adt.cpp.

References wowlib::formats::adt::AdtVersions, wowlib::builds::Cata, wowlib::audit::detail::guarded(), wowlib::audit::detail::skipped(), wowlib::audit::detail::unrecognizedVersion(), wowlib::audit::detail::versionSupported(), and wowlib::audit::detail::withVersion().

Referenced by wowlib::audit::Auditor::roundtrip().

◆ blp()

RoundtripReport wowlib::audit::detail::FormatDrivers::blp ( fs::FileSystem & fs,
const std::string & path )
static

Byte-perfect round-trip of one BLP texture (the format is version-stable, so no version dispatch).

Parameters
fsthe client filesystem.
paththe canonical .blp path.
Returns
the outcome.

Definition at line 76 of file roundtrip_blp.cpp.

References wowlib::audit::detail::guarded().

Referenced by wowlib::audit::Auditor::roundtrip().

◆ m2()

RoundtripReport wowlib::audit::detail::FormatDrivers::m2 ( fs::FileSystem & fs,
const std::string & path,
ClientVersion version )
static

Stability round-trip of one model: the assembly read (satellites baked in), then write -> parse -> write-again compares of the body (external .anim buffers included), the skel blocks and every skin.

Parameters
fsthe client filesystem.
paththe canonical .m2 path.
versionthe client version.
Returns
the outcome.

Definition at line 159 of file roundtrip_m2.cpp.

References wowlib::audit::detail::guarded(), wowlib::formats::m2::M2Versions, wowlib::audit::detail::skipped(), wowlib::audit::detail::unrecognizedVersion(), wowlib::audit::detail::versionSupported(), and wowlib::audit::detail::withVersion().

Referenced by wowlib::audit::Auditor::roundtrip().

◆ wdl()

RoundtripReport wowlib::audit::detail::FormatDrivers::wdl ( fs::FileSystem & fs,
const std::string & path,
ClientVersion version )
static

Byte-perfect round-trip of one WDL file.

Parameters
fsthe client filesystem.
paththe canonical .wdl path.
versionthe client version.
Returns
the outcome.

Definition at line 81 of file roundtrip_wdt_wdl.cpp.

References wowlib::audit::detail::guarded(), wowlib::audit::detail::skipped(), wowlib::audit::detail::unrecognizedVersion(), wowlib::audit::detail::versionSupported(), wowlib::formats::wdl::WdlVersions, and wowlib::audit::detail::withVersion().

Referenced by wowlib::audit::Auditor::roundtrip().

◆ wdt()

RoundtripReport wowlib::audit::detail::FormatDrivers::wdt ( fs::FileSystem & fs,
const std::string & path,
ClientVersion version )
static

Byte-perfect round-trip of one main WDT file.

Parameters
fsthe client filesystem.
paththe canonical .wdt path.
versionthe client version.
Returns
the outcome.

Definition at line 70 of file roundtrip_wdt_wdl.cpp.

References wowlib::audit::detail::guarded(), wowlib::audit::detail::skipped(), wowlib::audit::detail::unrecognizedVersion(), wowlib::audit::detail::versionSupported(), wowlib::formats::wdt::WdtVersions, and wowlib::audit::detail::withVersion().

Referenced by wowlib::audit::Auditor::roundtrip().

◆ wmo()

RoundtripReport wowlib::audit::detail::FormatDrivers::wmo ( fs::FileSystem & fs,
const std::string & path,
ClientVersion version )
static

Byte-perfect round-trip of one root WMO and all its group files (GFID-located on Legion+, name-derived before).

Parameters
fsthe client filesystem.
paththe canonical root .wmo path.
versionthe client version.
Returns
the outcome.

Definition at line 76 of file roundtrip_wmo.cpp.

References wowlib::audit::detail::guarded(), wowlib::audit::detail::skipped(), wowlib::audit::detail::unrecognizedVersion(), wowlib::audit::detail::versionSupported(), wowlib::audit::detail::withVersion(), and wowlib::formats::wmo::WmoVersions.

Referenced by wowlib::audit::Auditor::roundtrip().


The documentation for this class was generated from the following files: