WDL chunks¶
The typed wire structs of a WDL file — the per-tile heightmaps, hole and ocean masks, the Legion+ low-resolution placements and the Shadowlands+ sky scenes. Wire integer fields show their on-disk width.
The shared placement records the WDL reuses (SMMapObjDef for MODF entries,
SMDoodadDef for MLDD) are documented with the
common structures.
LodMapObjDef
¶
LodMapObjDef(name_id: int = 0, unique_id: int = 0, position: C3Vector | None = ..., rotation: C3Vector | None = ..., flags: MapObjDefFlags | None = ..., doodad_set: int = 0, name_set: int = 0, scale: int = 0)
A low-resolution WMO placement (an MLMD record, Legion+): an SMMapObjDef without the extents — those live in the parallel MLMX record. name_id is always a FileDataID here (the WDL has no name table).
unique_id
property
writable
¶
Unique instance id across the whole map; matches the full-resolution ADT placement.
LodExtent
¶
LodExtent(bounds: CAaBox | None = ..., radius: float = 0.0)
Visibility extents for one low-resolution placement (an MLDX/MLMX record, Legion+): the transformed model's bounding box and a radius, in server coordinates. Same count and order as the placement list it accompanies.
LodDoodadFade
¶
A fade-distance range for one low-resolution M2 placement (an MLDF record, BfA): undocumented on wowdev; layout established by surveying every 8.3.7 WDL carrying the chunk (33 files) — always exactly one 8-byte record per MLDD entry, holding a pair of ascending distances drawn from clean round values ((500, 3500), (3500, 4000), (5000, 5050), (10000, 10050)).
SkyScene
¶
SkySceneCondition
¶
One sky-scene condition (an MSSC record, Shadowlands+).
condition_type
property
writable
¶
What condition_value keys into: 1 AreaTable (a parent of the player's area), 2 LightParams, 3 LightSkybox (the current skybox), 5 ZoneLight.
SkySceneObject
¶
One sky-scene object (an MSSO record, Shadowlands+): a placed distant M2.
flags
property
writable
¶
Flags; 0x1 means the object has an MSSF params record.
SkySceneObjectParams
¶
SceneLivingDef
¶
One scene-living (world) definition (an MSLD record, The War Within+): a time-windowed scene schedule.
TileHeights
¶
One tile's low-resolution heightmap (a MARE payload): a 17x17 grid of int16 heights with a 16x16 grid of midpoints, on the same scale as the full-resolution ADT heights. The background mountain silhouettes are drawn from these.
TileHoles
¶
One tile's hole mask (a MAHO payload, TBC+): 16 row bitmasks, one per chunk row (y), one bit per chunk column (x) — a set bit is a hole. Blizzard sets a bit when all 16 holes of the ADT chunk are set; an all-zero mask is always written anyway.
rows
property
writable
¶
The 16 row bitmasks (y rows, x bits); a set bit is a hole.