From f6c849729b27b77228704b595de3adaf24da2c10 Mon Sep 17 00:00:00 2001 From: Treeston Date: Thu, 8 Jun 2017 00:25:06 +0200 Subject: [3.3.5] Get zone/area IDs from vmap data in the liquid update (#19840) * Add new method Map::getFullVMapDataForPosition to get area info and liquid info in a single vmap lookup * Use this lookup in Map:: relocation methods to update m_areaId and m_zoneId fields on WorldObject * Adjust GetZoneId/GetAreaId on WorldObject to always return these cached fields * Clean up liquid state handling on Unit and Player * Hand floor's Z coord up through GetFullTerrainStatusForPosition, use it to update a new field in WorldObject, and use that to feed a new GetFloorZ call on WorldObject. Closes #16489 --- src/common/Collision/Maps/MapTree.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/common/Collision/Maps/MapTree.h') diff --git a/src/common/Collision/Maps/MapTree.h b/src/common/Collision/Maps/MapTree.h index f5c11dd2bce..bc18e07789b 100644 --- a/src/common/Collision/Maps/MapTree.h +++ b/src/common/Collision/Maps/MapTree.h @@ -35,6 +35,7 @@ namespace VMAP struct TC_COMMON_API LocationInfo { LocationInfo(): hitInstance(nullptr), hitModel(nullptr), ground_Z(-G3D::finf()) { } + int32 rootId; const ModelInstance* hitInstance; const GroupModel* hitModel; float ground_Z; -- cgit v1.2.3