From 3e7425030b74ce97397399b7b8851dfa84db02e9 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 24 May 2022 13:43:59 -0400 Subject: [PATCH] Core/Maps: Use the same logic to calculate grid coords to avoid mismatches Port From (https://github.com/TrinityCore/TrinityCore/commit/c14f4dc83502dea7dad8ad4f92270d8d36b01c12) --- Source/Game/Maps/GridDefines.cs | 7 +++++++ Source/Game/Maps/GridMap.cs | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/Game/Maps/GridDefines.cs b/Source/Game/Maps/GridDefines.cs index 2fbdc45da..419c8a888 100644 --- a/Source/Game/Maps/GridDefines.cs +++ b/Source/Game/Maps/GridDefines.cs @@ -86,6 +86,13 @@ namespace Game.Maps return new GridCoord(x_val, y_val); } + public static GridCoord ComputeGridCoordSimple(float x, float y) + { + int gx = (int)(MapConst.CenterGridId - x / MapConst.SizeofGrids); + int gy = (int)(MapConst.CenterGridId - y / MapConst.SizeofGrids); + return new GridCoord((uint)((MapConst.MaxGrids - 1) - gx), (uint)((MapConst.MaxGrids - 1) - gy)); + } + public static CellCoord ComputeCellCoord(float x, float y) { double x_offset = ((double)x - MapConst.CenterGridCellOffset) / MapConst.SizeofCells; diff --git a/Source/Game/Maps/GridMap.cs b/Source/Game/Maps/GridMap.cs index ac79fc4e5..7952ff7f6 100644 --- a/Source/Game/Maps/GridMap.cs +++ b/Source/Game/Maps/GridMap.cs @@ -480,7 +480,7 @@ namespace Game.Maps if (_minHeightPlanes == null) return -500.0f; - GridCoord gridCoord = GridDefines.ComputeGridCoord(x, y); + GridCoord gridCoord = GridDefines.ComputeGridCoordSimple(x, y); int doubleGridX = (int)(Math.Floor(-(x - MapConst.MapHalfSize) / MapConst.CenterGridOffset)); int doubleGridY = (int)(Math.Floor(-(y - MapConst.MapHalfSize) / MapConst.CenterGridOffset));