From c14f4dc83502dea7dad8ad4f92270d8d36b01c12 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sun, 27 Dec 2020 18:24:53 +0100 Subject: Core/Maps: Use the same logic to calculate grid coords to avoid mismatches Use the same logic of (CENTER_GRID_ID - x / SIZE_OF_GRIDS) in GridMap::getMinHeight() as Map::GetGrid() to avoid coord grid mismatches caused by floating point precision, i.e. getting the wrong grid. Replace defines with constexpr in grids to make debugging easier. Closes #25652 (cherry picked from commit 0c69316714d0558e32462f5401197fe1e803ae75) --- src/server/game/Maps/Map.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/game/Maps/Map.cpp') diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 7473ef1d374..8e8fcbe2d55 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -2393,7 +2393,7 @@ float GridMap::getMinHeight(float x, float y) const if (!_minHeightPlanes) return -500.0f; - GridCoord gridCoord = Trinity::ComputeGridCoord(x, y); + GridCoord gridCoord = Trinity::ComputeGridCoordSimple(x, y); int32 doubleGridX = int32(std::floor(-(x - MAP_HALFSIZE) / CENTER_GRID_OFFSET)); int32 doubleGridY = int32(std::floor(-(y - MAP_HALFSIZE) / CENTER_GRID_OFFSET)); -- cgit v1.2.3