Core/Maps: Use the same logic to calculate grid coords to avoid mismatches
Port From (https://github.com/TrinityCore/TrinityCore/commit/c14f4dc83502dea7dad8ad4f92270d8d36b01c12)
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user