From 8c1612644ed024c107bfd679120bd67fbfae8ba5 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Tue, 2 Jan 2024 19:40:34 +0100 Subject: Core/Maps: restored a hack in gridmap liquid status code to solve precision issues (#29544) Closes #29543 Closes #22020 (cherry picked from commit bfb9fd8a2c777651c99568ba9c6a2d4a3a468955) --- src/server/game/Maps/GridMap.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Maps/GridMap.cpp b/src/server/game/Maps/GridMap.cpp index 247a22b5d89..2d06aa25687 100644 --- a/src/server/game/Maps/GridMap.cpp +++ b/src/server/game/Maps/GridMap.cpp @@ -593,6 +593,8 @@ float GridMap::getLiquidLevel(float x, float y) const return _liquidMap[cx_int*_liquidWidth + cy_int]; } +constexpr float GROUND_LEVEL_OFFSET_HACK = 0.02f; // due to floating point precision issues, we have to resort to a small hack to fix inconsistencies in liquids + // Get water state on map ZLiquidStatus GridMap::GetLiquidStatus(float x, float y, float z, Optional ReqLiquidType, LiquidData* data, float collisionHeight) const { @@ -656,11 +658,11 @@ ZLiquidStatus GridMap::GetLiquidStatus(float x, float y, float z, Optional store data -- cgit v1.2.3