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

WDT main-file chunk binary structs (namespace wowlib::formats::wdt::root::chunks): the MPHD map header (both the pre-8.1 layout and the 8.1+ FileDataID layout), the MAIN tile table entry and the MAID per-tile FileDataID record, with their flag enums. More...

#include <array>
#include <cstdint>
#include <welder/vocabulary.hpp>
#include <wowlib/core/client_version.hpp>
#include <wowlib/core/lang.hpp>
#include <wowlib/formats/common/flags.hpp>
#include <wowlib/formats/common/types.hpp>
#include <wowlib/formats/wdt/boundaries.hpp>
Include dependency graph for header.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wowlib::formats::wdt::root::chunks::WDTHeaderBase
 The version-agnostic base of every SMMapHeader<V>, welded as "WDTHeader". More...
struct  wowlib::formats::wdt::root::chunks::detail::SMMapHeader< V >
 The MPHD map header: the map-wide flags; the rest of the record is unused before 8.1. More...
struct  wowlib::formats::wdt::root::chunks::SMAreaInfo
struct  wowlib::formats::wdt::root::chunks::MapFileDataIDs

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::wdt
namespace  wowlib::formats::wdt::root
 The WDT main-file entity: WDTRoot and its per-version classes.
namespace  wowlib::formats::wdt::root::chunks
 WDT main-file chunk binary structs (the MPHD map header, MAIN tile table, MAID FileDataIDs) and their flag enums.
namespace  wowlib::formats::wdt::root::chunks::detail
 The 32-byte MPHD map header.

Typedefs

template<ClientVersion V>
using wowlib::formats::wdt::root::chunks::SMMapHeader = detail::SMMapHeader<canonicalVersion(V, WdtHeaderPivots, WdtVersions)>
 The MPHD header — the canonicalizing face of detail::SMMapHeader (WdtHeaderPivots: the FileDataID relayout at 8.1.0.28294), so two instantiations cover all eleven releases.

Enumerations

enum class  wowlib::formats::wdt::root::chunks::MapHeaderFlags : std::uint32_t {
  wowlib::formats::wdt::root::chunks::UsesGlobalMapObj = 0x1 , wowlib::formats::wdt::root::chunks::AdtHasMccv = 0x2 , wowlib::formats::wdt::root::chunks::AdtHasBigAlpha = 0x4 , wowlib::formats::wdt::root::chunks::AdtHasDoodadrefsSortedBySizeCat = 0x8 ,
  wowlib::formats::wdt::root::chunks::AdtHasMclv = 0x10 , wowlib::formats::wdt::root::chunks::AdtHasUpsideDownGround = 0x20 , wowlib::formats::wdt::root::chunks::unk_0x40 , wowlib::formats::wdt::root::chunks::AdtHasHeightTexturing = 0x80 ,
  wowlib::formats::wdt::root::chunks::LoadLodAdt = 0x100 , wowlib::formats::wdt::root::chunks::HasMaid = 0x200 , wowlib::formats::wdt::root::chunks::unk_0x400 = 0x400 , wowlib::formats::wdt::root::chunks::unk_0x800 = 0x800 ,
  wowlib::formats::wdt::root::chunks::unk_0x1000 = 0x1000 , wowlib::formats::wdt::root::chunks::unk_0x2000 = 0x2000 , wowlib::formats::wdt::root::chunks::unk_0x4000 = 0x4000 , wowlib::formats::wdt::root::chunks::unk_0x8000 = 0x8000
}
 Map header flag bits (SMMapHeader.flags). More...
enum class  wowlib::formats::wdt::root::chunks::AreaInfoFlags : std::uint32_t { wowlib::formats::wdt::root::chunks::HasAdt = 0x1 , wowlib::formats::wdt::root::chunks::AllWater = 0x2 , wowlib::formats::wdt::root::chunks::Loaded = 0x4 }
 Tile table flag bits (SMAreaInfo.flags). More...

Detailed Description

WDT main-file chunk binary structs (namespace wowlib::formats::wdt::root::chunks): the MPHD map header (both the pre-8.1 layout and the 8.1+ FileDataID layout), the MAIN tile table entry and the MAID per-tile FileDataID record, with their flag enums.

Definition in file header.hpp.