From 797a6951a8b85aa3dfc41494d6445be56a4328c1 Mon Sep 17 00:00:00 2001 From: MagicBot Date: Sat, 16 Sep 2023 08:28:20 -0400 Subject: [PATCH] Tightened clamping. --- src/engine/InterestManagement/HeightMap.java | 23 +++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/engine/InterestManagement/HeightMap.java b/src/engine/InterestManagement/HeightMap.java index 85c03158..ae1295a7 100644 --- a/src/engine/InterestManagement/HeightMap.java +++ b/src/engine/InterestManagement/HeightMap.java @@ -306,11 +306,17 @@ public class HeightMap { Vector2f gridSquare; - if (zoneLoc.x < 0 || zoneLoc.x > this.fullExtentsX) - return -1; + if (zoneLoc.x < 0) + zoneLoc.x = 0; + + if (zoneLoc.y < 0) + zoneLoc.y = 0; - if (zoneLoc.y < 0 || zoneLoc.y > this.fullExtentsY) - return -1; + if (zoneLoc.x > this.fullExtentsX) + zoneLoc.x = this.fullExtentsX; + + if (zoneLoc.y > this.fullExtentsY) + zoneLoc.y = this.fullExtentsY; int maxX = (int) (this.fullExtentsX / this.bucketWidthX); int maxY = (int) (this.fullExtentsY / this.bucketWidthY); @@ -320,10 +326,15 @@ public class HeightMap { int gridX = (int) gridSquare.x; int gridY = (int) gridSquare.y; + if (gridX < 0) + gridX = 0; + if (gridY < 0) + gridY = 0; + if (gridX > maxX) - gridX = maxX; + gridX = maxX - 1; if (gridY > maxY) - gridY = maxY; + gridY = maxY - 1; float offsetX = (gridSquare.x - gridX); float offsetY = gridSquare.y - gridY;