From 0c69316714d0558e32462f5401197fe1e803ae75 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 --- 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 1e0af8d8d6f..1908f2efe2a 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -2305,7 +2305,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