From 0ec9f01130d3fd87ab53198387addb55c781c77a Mon Sep 17 00:00:00 2001 From: MagicBot Date: Sat, 18 Nov 2023 12:18:28 -0500 Subject: [PATCH] Clamp fix for new method --- src/engine/InterestManagement/Terrain.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/engine/InterestManagement/Terrain.java b/src/engine/InterestManagement/Terrain.java index 07130aa0..c1ae25b3 100644 --- a/src/engine/InterestManagement/Terrain.java +++ b/src/engine/InterestManagement/Terrain.java @@ -59,6 +59,9 @@ public class Terrain { this.cell_count.x = this.image_size.x; this.cell_count.y = this.image_size.y; + this.cell_size.x = terrain_size.x / this.cell_count.x; + this.cell_size.y = terrain_size.y / this.cell_count.y; + // Blending configuration. These ratios are used to calculate // the blending area between child and parent terrains when // they are stitched together. @@ -157,12 +160,12 @@ public class Terrain { // Calculate terrain cell with offset - Vector2f terrain_cell = new Vector2f(terrain_loc.x / this.cell_count.x, terrain_loc.y / this.cell_count.y); + Vector2f terrain_cell = new Vector2f(terrain_loc.x / this.cell_size.x, terrain_loc.y / this.cell_size.y); // Clamp values when standing directly on pole - terrain_cell.x = Math.max(0, Math.min(this.cell_count.x - 1, terrain_cell.x)); - terrain_cell.y = Math.max(0, Math.min(this.cell_count.y - 1, terrain_cell.y)); + terrain_cell.x = Math.max(0, Math.min(this.cell_count.x - 2, terrain_cell.x)); + terrain_cell.y = Math.max(0, Math.min(this.cell_count.y - 2, terrain_cell.y)); return terrain_cell; }