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));