|
wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
|
WDT main-file chunk binary structs (the MPHD map header, MAIN tile table, MAID FileDataIDs) and their flag enums. More...
Namespaces | |
| namespace | detail |
| The 32-byte MPHD map header. | |
Classes | |
| struct | WDTHeaderBase |
| The version-agnostic base of every SMMapHeader<V>, welded as "WDTHeader". More... | |
| struct | SMAreaInfo |
| struct | MapFileDataIDs |
Typedefs | |
| template<ClientVersion V> | |
| using | 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 | MapHeaderFlags : std::uint32_t { UsesGlobalMapObj = 0x1 , AdtHasMccv = 0x2 , AdtHasBigAlpha = 0x4 , AdtHasDoodadrefsSortedBySizeCat = 0x8 , AdtHasMclv = 0x10 , AdtHasUpsideDownGround = 0x20 , unk_0x40 , AdtHasHeightTexturing = 0x80 , LoadLodAdt = 0x100 , HasMaid = 0x200 , unk_0x400 = 0x400 , unk_0x800 = 0x800 , unk_0x1000 = 0x1000 , unk_0x2000 = 0x2000 , unk_0x4000 = 0x4000 , unk_0x8000 = 0x8000 } |
| Map header flag bits (SMMapHeader.flags). More... | |
| enum class | AreaInfoFlags : std::uint32_t { HasAdt = 0x1 , AllWater = 0x2 , Loaded = 0x4 } |
| Tile table flag bits (SMAreaInfo.flags). More... | |
WDT main-file chunk binary structs (the MPHD map header, MAIN tile table, MAID FileDataIDs) and their flag enums.
| 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.
Definition at line 119 of file header.hpp.
|
strong |
Tile table flag bits (SMAreaInfo.flags).
| Enumerator | |
|---|---|
| HasAdt | The tile has an ADT. |
| AllWater | The whole tile is "fake water" (Cataclysm+; pre-Cata clients read this bit as their loaded flag). |
| Loaded | Runtime-only loaded marker; zero in files. |
Definition at line 127 of file header.hpp.
|
strong |
Map header flag bits (SMMapHeader.flags).
| Enumerator | |
|---|---|
| UsesGlobalMapObj | A WMO-only map: one global map object (MWMO/MODF), no terrain tiles. |
| AdtHasMccv | ADTs carry MCCV vertex colors (WotLK+); with this set every ADT of the map must have MCCV. |
| AdtHasBigAlpha | Terrain shader 2 (_env): 4096-byte uncompressed MCAL alpha maps instead of 2048. |
| AdtHasDoodadrefsSortedBySizeCat | ADT MCRF/MCRD doodad references are sorted by size category. |
| AdtHasMclv | ADTs carry the second MCLV color layer (Cata+; deprecated and forbidden in 8.x). |
| AdtHasUpsideDownGround | Flip the ground upside down to create a ceiling (Cata+). |
| unk_0x40 | Unknown (MoP+); seen on Firelands2.wdt before Legion. |
| AdtHasHeightTexturing | Terrain shader 6: alpha maps are influenced by the _h textures and MTXP (MoP+); also 4096-byte uncompressed MCAL entries. |
| LoadLodAdt | Load _lod.adt (Legion+); implicitly sets 0x8000. |
| HasMaid | The WDT carries MAID: ADTs load by FileDataID instead of path (8.1.0.28294+). |
| unk_0x400 | Unknown. |
| unk_0x800 | Unknown. |
| unk_0x1000 | Unknown. |
| unk_0x2000 | Unknown. |
| unk_0x4000 | Unknown. |
| unk_0x8000 | Affects _lod.adt rendering; implicitly set for the continent maps (Legion+). Without it (or 0x100) distant map textures and LOD do not render. |
Definition at line 24 of file header.hpp.